MeshInstance
Inherits: GeometryInstance < VisualInstance < CullInstance < Spatial < Node < Object
Inherited By: SoftBody
网格实例与场景相结合的节点。
描述
MeshInstance是一个节点,它获取Mesh资源并创建一个实例,将其添加到当前场景中。这是最常被用来渲染3D几何体的类,这可以在很多地方使用Mesh实例,它允许重复使用几何体并节省资源。当Mesh必须在很近的地方被实例化超过数千次时,可以考虑在MultiMeshInstance中使用MultiMesh来代替。
教程
属性
| ||
|
方法
void | create_convex_collision ( bool clean=true, bool simplify=false ) |
void | |
void | |
void | |
get_active_material ( int surface ) const | |
get_surface_material ( int surface ) const | |
get_surface_material_count ( ) const | |
void | set_surface_material ( int surface, Material material ) |
属性说明
- Mesh mesh
Setter | set_mesh(value) |
Getter | get_mesh() |
该实例的Mesh资源。
- NodePath skeleton
Default |
|
Setter | set_skeleton_path(value) |
Getter | get_skeleton_path() |
- Skin skin
Setter | set_skin(value) |
Getter | get_skin() |
设置此实例要使用的蒙皮。
- bool software_skinning_transform_normals
Default |
|
Setter | set_software_skinning_transform_normals(value) |
Getter | is_software_skinning_transform_normals_enabled() |
如果true
,当使用软件蒙皮时,法线会被转换。当不需要法线时,设置为false
以获得更好的性能。
关于如何启用软件蒙皮的细节,参阅ProjectSettings.rendering/quality/skinning/software_skinning_fallback。
方法说明
这个助手创建StaticBody子节点,该节点具有从网格几何形状计算的ConvexPolygonShape碰撞形状。其主要用于测试。
如果clean
是true
(默认),重复的顶点和内部顶点会被自动移除。可以把它设置为false
,以便在不需要的情况下使这个过程更快。
如果simplify
是true
,可以进一步简化几何体以减少顶点的数量。默认情况下是禁用的。
- void create_debug_tangents ( )
这个辅助工具创建MeshInstance
子节点,在每个顶点都有根据网格几何形状计算的辅助线框。其主要用于测试。
- void create_multiple_convex_collisions ( )
这个助手创建StaticBody子节点,该节点具有多个ConvexPolygonShape碰撞形状,这些碰撞形状是通过凸面分解从网格几何形状计算出来的。其主要用于测试。
- void create_trimesh_collision ( )
这个助手创建StaticBody子节点,其碰撞形状是由网格的几何形状计算出来的ConcavePolygonShape,其主要用于测试。
返回Mesh绘制时使用的Material。这可以返回GeometryInstance.material_override,这个MeshInstance
中定义的表面覆盖Material,或者Mesh中定义的表面Material。例如,如果使用GeometryInstance.material_override,所有的表面都会返回覆盖的材质。
- int get_surface_material_count ( ) const
返回表面材质的数量。