![]() |
|||||
|
WHAT IS |
SkinMesh
SkinMesh is a customizable 3d object supporting bone-based animation, frame-by-frame animation, multiple animation sets, animation blending and various rendering techniques and visual effects. If you can use a 3d modeling tool and you can export your creations to DirectX® (.x) file format, then you can make custom 3d objects for your 3D Rad projects by using this object. Please see this tutorial for details. If you link the SkinMesh object to another object supporting physics (like for example a RigidBody based object), then the mesh will stay with the body while it moves around in virtual space. In this case, please note that the mesh will follow the parent object by keeping the relative position you set in the Virtual Editor. If the SkinMesh object isn't linked to any body, then, run-time, it will keep its location (performing any bone-based or 'frame-based' animation 'in place'), unless it is following a path (see below). After adding the SkinMesh object to your project, you can configure it by double-clicking it in the Object List.
You can select the visual aspect for the SkinMesh object by clicking this button. You can add your own 3d models to the library. Please see this tutorial for details. However, because rendering surfaces that are illuminated by multiple lights require much more processing power, you may want to disable this feature for specific SkinMesh objects to optimize frame-rate. Note that, for each SkinMesh, there is a maximum limit of point lights that can affect its surface at any given time. Please see the PointLight object's help file for details. IMPORTANT: point lights with a small range may fail to illuminate SkinMesh surfaces that are made of big polygons. Note that 'bumpy' techniques are only rendered if a normal map image file is present in the data folder for the currently selected model. The first parameter is the reflection-effect intensity, between 0.0 and 1.0. NOTE: the intensity is rounded to 0.5 on some older video-cards. The second parameter is the refresh rate for the reflected image. If this factor is zero, the reflected image is the static cubic image loaded from the file. Set this parameter to any positive value instead (below 450.0) to make the surface dynamically reflect the actual environment surrounding the object. NOTE: an object is reflected only if the Visible in reflections option is available and checked on its property dialog. NOTE: Dynamic environment-maps can be very slow to render. The greater the refresh rate factor, the slower the rendering. NOTE: actual reflections are not performed if the video-card doesn't provide so called render-to-texture functionality. The SkinMesh object supports two types of animation: bone-based (mesh skinning) and frame-based (a sequence of 3d models rendered one after the other). Please see this tutorial for details. If you attach the SkinMesh object to a path by linking it to a Path object, then it will follow the pre-defined course, while also performing its bone-based or frame-based animation, if defined. Note that the relative speed along a specific portion of the path depends on the number of nodes defined along the segment. In particular, the more nodes are defined, the slower the speed. This property allows you to accurately program speed variations. If this option is enabled, you can specify an axis of rotation for the mesh by providing its vector components. Run-time, the mesh will ignore path or parent object orientation, spinning about the axis you specified instead. The vector length will determine the rotation speed, in degrees per second. For example, you can achieve a rotation about the X axis at 360 degrees per second with (360.0f,0.0f,0.0f). A rotation about the vertical (Y) axis can be achieved with (0.0f,360.0f,0.0f) instead. And (0.0f,0.0f,360.0f) will cause a rotation about the Z axis. If the Random option is checked, the axis you provide is only used as a reference to perform rotations about random axes. The remaining controls on the dialog are common to all objects. They are explained here. The following internal parameters can be accessed run-time by using objects like EventOnValue or Script: |
||||
![]() |
|||||