Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
MeshInstance3D
Hérite de : GeometryInstance3D < VisualInstance3D < Node3D < Node < Object
Hérité par : SoftBody3D
Nœud qui instancie des meshes dans un scénario.
Description
MeshInstance3D est un nœud qui prend une ressource Mesh et l'ajoute au scénario actuel en en créant une instance. Il s'agit de la classe la plus souvent utilisée pour rendre de la géométrie 3D et peut être utilisée pour instancier un seul Mesh dans de nombreux endroits. Cela permet de réutiliser la géométrie et d'économiser des ressources. Lorsqu'un Mesh doit être instancié plusieurs milliers de fois les uns proches des autres, préférez plutôt un MultiMesh dans un MultiMeshInstance3D.
Tutoriels
Propriétés
|
||
Méthodes
bake_mesh_from_current_blend_shape_mix(existing: ArrayMesh = null) |
|
bake_mesh_from_current_skeleton_pose(existing: ArrayMesh = null) |
|
void |
create_convex_collision(clean: bool = true, simplify: bool = false) |
void |
|
void |
create_multiple_convex_collisions(settings: MeshConvexDecompositionSettings = null) |
void |
|
get_active_material(surface: int) const |
|
get_blend_shape_count() const |
|
get_blend_shape_value(blend_shape_idx: int) const |
|
get_skin_reference() const |
|
get_surface_override_material(surface: int) const |
|
void |
set_blend_shape_value(blend_shape_idx: int, value: float) |
void |
set_surface_override_material(surface: int, material: Material) |
Descriptions des propriétés
La ressource du Mesh pour cette instance.
NodePath skeleton = NodePath("") 🔗
NodePath to the Skeleton3D associated with the instance.
Note: The default value of this property has changed in Godot 4.6. Enable ProjectSettings.animation/compatibility/default_parent_skeleton_in_mesh_instance_3d if the old behavior is needed for compatibility.
La Skin utilisée par cette instance.
Descriptions des méthodes
ArrayMesh bake_mesh_from_current_blend_shape_mix(existing: ArrayMesh = null) 🔗
Prend un instantané du ArrayMesh actuel avec toutes les blend shapes appliquées selon leurs poids actuels et le calcule et stocke dans le maillage fourni existing. Si aucun maillage existing n'est fourni, un nouveau ArrayMesh est créé, calculé et renvoyé. Les matériaux de surface du maillage ne sont pas copiés.
Performance : Les données du Mesh doivent êtres reçues du GPU, retardant ainsi le RenderingServer.
ArrayMesh bake_mesh_from_current_skeleton_pose(existing: ArrayMesh = null) 🔗
Takes a snapshot of the current animated skeleton pose of the skinned mesh and bakes it to the provided existing mesh. If no existing mesh is provided a new ArrayMesh is created, baked, and returned. Requires a skeleton with a registered skin to work. Blendshapes are ignored. Mesh surface materials are not copied.
Performance: Mesh data needs to be retrieved from the GPU, stalling the RenderingServer in the process.
void create_convex_collision(clean: bool = true, simplify: bool = false) 🔗
Cette aide crée un nœud StaticBody3D enfant avec une forme de collision ConvexPolygonShape3D calculée à partir de la géométrie du maillage. Elle est principalement utilisée pour les essais.
Si clean vaut true (par défaut), les doublons et les sommets intérieurs sont automatiquement supprimés. Vous pouvez le définir à false pour rendre le processus plus rapide si vous n'en avez pas besoin.
Si simplify vaut true, la géométrie pourra être simplifiée pour réduire la quantité de sommets. Désactivé par défaut.
void create_debug_tangents() 🔗
Cette aide crée un nœud MeshInstance3D enfant avec des manipulateurs à chaque sommet calculés à partir de la géométrie du maillage. Elle est principalement utilisée pour les essais.
void create_multiple_convex_collisions(settings: MeshConvexDecompositionSettings = null) 🔗
Cet assistant crée un nœuds enfant StaticBody3D avec plusieurs formes de collision ConvexPolygonShape3D calculées à partir de la géométrie du maillage via la décomposition convexe. L'opération de décomposition convexe peut être contrôlée à partir des paramètres optionnels settings.
void create_trimesh_collision() 🔗
Cette aide crée un nœud StaticBody3D enfant avec une forme de collision ConcavePolygonShape3D calculée à partir de la géométrie du maillage. Elle est principalement utilisée pour les essais.
int find_blend_shape_by_name(name: StringName) 🔗
Renvoie l'index de la blend shape avec le nom name donné. Renvoie -1 si aucune blend shape avec ce nom n'existe, y compris lorsque mesh est null.
Material get_active_material(surface: int) const 🔗
Renvoie le Material qui sera utilisé par le Mesh lors du dessin. Ceci peut renvoyer le GeometryInstance3D.material_override, le Material de surface redéfini de ce MeshInstance3D, ou le Material de surface défini dans le maillage mesh. Par exemple, si GeometryInstance3D.material_override est utilisé, toutes les surfaces renverront le matériau redéfini.
Renvoie null si aucun matériau n'est actif, y compris lorsque mesh est null.
int get_blend_shape_count() const 🔗
Renvoie le nombre de blend shapes disponibles. Produit une erreur si mesh est null.
float get_blend_shape_value(blend_shape_idx: int) const 🔗
Renvoie la valeur de la blend shape à l'index blend_shape_idx donné. Renvoie 0.0 et produit une erreur si mesh est null ou n'a pas de blend shape à cet index.
SkinReference get_skin_reference() const 🔗
Renvoie la SkinReference interne contenant le RID du squelette attaché à cet RID. Voir aussi Resource.get_rid(), SkinReference.get_skeleton(), et RenderingServer.instance_attach_skeleton().
Material get_surface_override_material(surface: int) const 🔗
Renvoie le Material de redéfinition pour la surface spécifiée de la ressource Mesh. Voir aussi get_surface_override_material_count().
Note : Ceci renvoie le Material associé aux propriétés de redéfinition du matériau de surface du MeshInstance3D, et non le matériau dans la ressource Mesh. Pour obtenir le matériau dans la ressource Mesh, utilisez Mesh.surface_get_material() à la place.
int get_surface_override_material_count() const 🔗
Renvoie le nombre de matériaux de surface redéfinis. Ceci est équivalent à Mesh.get_surface_count(). Voir aussi get_surface_override_material().
void set_blend_shape_value(blend_shape_idx: int, value: float) 🔗
Définit la valeur de la blend shape à l'index blend_shape_idx à la valeur value. Produit une erreur si mesh est null ou n'a pas de blend shape à cet index.
void set_surface_override_material(surface: int, material: Material) 🔗
Définit le matériau de redéfinition material pour la surface spécifiée de la ressource Mesh. Ce matériau est associé à ce MeshInstance3D plutôt qu'à son maillage mesh.
Note : Ceci renvoie le Material associé aux propriétés de redéfinition du matériau de surface du MeshInstance3D, et non le matériau dans la ressource Mesh. Pour obtenir le matériau dans la ressource Mesh, utilisez Mesh.surface_get_material() à la place.