Files
godot-docs-l10n/classes/es/class_softbody3d.rst
2025-12-19 14:34:07 +01:00

552 lines
32 KiB
ReStructuredText

:github_url: hide
.. _class_SoftBody3D:
SoftBody3D
==========
**Hereda:** :ref:`MeshInstance3D<class_MeshInstance3D>` **<** :ref:`GeometryInstance3D<class_GeometryInstance3D>` **<** :ref:`VisualInstance3D<class_VisualInstance3D>` **<** :ref:`Node3D<class_Node3D>` **<** :ref:`Node<class_Node>` **<** :ref:`Object<class_Object>`
Una malla física 3D deformable.
.. rst-class:: classref-introduction-group
Descripción
----------------------
A deformable 3D physics mesh. Used to create elastic or deformable objects such as cloth, rubber, or other flexible materials.
Additionally, **SoftBody3D** is subject to wind forces defined in :ref:`Area3D<class_Area3D>` (see :ref:`Area3D.wind_source_path<class_Area3D_property_wind_source_path>`, :ref:`Area3D.wind_force_magnitude<class_Area3D_property_wind_force_magnitude>`, and :ref:`Area3D.wind_attenuation_factor<class_Area3D_property_wind_attenuation_factor>`).
\ **Note:** It's recommended to use Jolt Physics when using **SoftBody3D** instead of the default GodotPhysics3D, as Jolt Physics' soft body implementation is faster and more reliable. You can switch the physics engine using the :ref:`ProjectSettings.physics/3d/physics_engine<class_ProjectSettings_property_physics/3d/physics_engine>` project setting.
.. rst-class:: classref-introduction-group
Tutoriales
--------------------
- :doc:`SoftBody <../tutorials/physics/soft_body>`
.. rst-class:: classref-reftable-group
Propiedades
----------------------
.. table::
:widths: auto
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`int<class_int>` | :ref:`collision_layer<class_SoftBody3D_property_collision_layer>` | ``1`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`int<class_int>` | :ref:`collision_mask<class_SoftBody3D_property_collision_mask>` | ``1`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`damping_coefficient<class_SoftBody3D_property_damping_coefficient>` | ``0.01`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`DisableMode<enum_SoftBody3D_DisableMode>` | :ref:`disable_mode<class_SoftBody3D_property_disable_mode>` | ``0`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`drag_coefficient<class_SoftBody3D_property_drag_coefficient>` | ``0.0`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`linear_stiffness<class_SoftBody3D_property_linear_stiffness>` | ``0.5`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`NodePath<class_NodePath>` | :ref:`parent_collision_ignore<class_SoftBody3D_property_parent_collision_ignore>` | ``NodePath("")`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`pressure_coefficient<class_SoftBody3D_property_pressure_coefficient>` | ``0.0`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`bool<class_bool>` | :ref:`ray_pickable<class_SoftBody3D_property_ray_pickable>` | ``true`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`shrinking_factor<class_SoftBody3D_property_shrinking_factor>` | ``0.0`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`int<class_int>` | :ref:`simulation_precision<class_SoftBody3D_property_simulation_precision>` | ``5`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
| :ref:`float<class_float>` | :ref:`total_mass<class_SoftBody3D_property_total_mass>` | ``1.0`` |
+-------------------------------------------------+-----------------------------------------------------------------------------------+------------------+
.. rst-class:: classref-reftable-group
Métodos
--------------
.. table::
:widths: auto
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`add_collision_exception_with<class_SoftBody3D_method_add_collision_exception_with>`\ (\ body\: :ref:`Node<class_Node>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_central_force<class_SoftBody3D_method_apply_central_force>`\ (\ force\: :ref:`Vector3<class_Vector3>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_central_impulse<class_SoftBody3D_method_apply_central_impulse>`\ (\ impulse\: :ref:`Vector3<class_Vector3>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_force<class_SoftBody3D_method_apply_force>`\ (\ point_index\: :ref:`int<class_int>`, force\: :ref:`Vector3<class_Vector3>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`apply_impulse<class_SoftBody3D_method_apply_impulse>`\ (\ point_index\: :ref:`int<class_int>`, impulse\: :ref:`Vector3<class_Vector3>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`PhysicsBody3D<class_PhysicsBody3D>`\] | :ref:`get_collision_exceptions<class_SoftBody3D_method_get_collision_exceptions>`\ (\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_collision_layer_value<class_SoftBody3D_method_get_collision_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_collision_mask_value<class_SoftBody3D_method_get_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_physics_rid<class_SoftBody3D_method_get_physics_rid>`\ (\ ) |const| |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector3<class_Vector3>` | :ref:`get_point_transform<class_SoftBody3D_method_get_point_transform>`\ (\ point_index\: :ref:`int<class_int>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_point_pinned<class_SoftBody3D_method_is_point_pinned>`\ (\ point_index\: :ref:`int<class_int>`\ ) |const| |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`remove_collision_exception_with<class_SoftBody3D_method_remove_collision_exception_with>`\ (\ body\: :ref:`Node<class_Node>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_collision_layer_value<class_SoftBody3D_method_set_collision_layer_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_collision_mask_value<class_SoftBody3D_method_set_collision_mask_value>`\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`set_point_pinned<class_SoftBody3D_method_set_point_pinned>`\ (\ point_index\: :ref:`int<class_int>`, pinned\: :ref:`bool<class_bool>`, attachment_path\: :ref:`NodePath<class_NodePath>` = NodePath(""), insert_at\: :ref:`int<class_int>` = -1\ ) |
+------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Enumeraciones
--------------------------
.. _enum_SoftBody3D_DisableMode:
.. rst-class:: classref-enumeration
enum **DisableMode**: :ref:`🔗<enum_SoftBody3D_DisableMode>`
.. _class_SoftBody3D_constant_DISABLE_MODE_REMOVE:
.. rst-class:: classref-enumeration-constant
:ref:`DisableMode<enum_SoftBody3D_DisableMode>` **DISABLE_MODE_REMOVE** = ``0``
Cuando :ref:`Node.process_mode<class_Node_property_process_mode>` está establecido en :ref:`Node.PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`, se elimina de la simulación física para detener todas las interacciones físicas con este **SoftBody3D**.
Se vuelve a añadir automáticamente a la simulación física cuando el :ref:`Node<class_Node>` se procesa de nuevo.
.. _class_SoftBody3D_constant_DISABLE_MODE_KEEP_ACTIVE:
.. rst-class:: classref-enumeration-constant
:ref:`DisableMode<enum_SoftBody3D_DisableMode>` **DISABLE_MODE_KEEP_ACTIVE** = ``1``
Cuando :ref:`Node.process_mode<class_Node_property_process_mode>` se establece en :ref:`Node.PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`, no afecta a la simulación de físicas.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Propiedades
--------------------------------------------------------
.. _class_SoftBody3D_property_collision_layer:
.. rst-class:: classref-property
:ref:`int<class_int>` **collision_layer** = ``1`` :ref:`🔗<class_SoftBody3D_property_collision_layer>`
.. rst-class:: classref-property-setget
- |void| **set_collision_layer**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_layer**\ (\ )
The physics layers this SoftBody3D **is in**. Collision objects can exist in one or more of 32 different layers. See also :ref:`collision_mask<class_SoftBody3D_property_collision_mask>`.
\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_collision_mask:
.. rst-class:: classref-property
:ref:`int<class_int>` **collision_mask** = ``1`` :ref:`🔗<class_SoftBody3D_property_collision_mask>`
.. rst-class:: classref-property-setget
- |void| **set_collision_mask**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_collision_mask**\ (\ )
The physics layers this SoftBody3D **scans**. Collision objects can scan one or more of 32 different layers. See also :ref:`collision_layer<class_SoftBody3D_property_collision_layer>`.
\ **Note:** Object A can detect a contact with object B only if object B is in any of the layers that object A scans. See `Collision layers and masks <../tutorials/physics/physics_introduction.html#collision-layers-and-masks>`__ in the documentation for more information.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_damping_coefficient:
.. rst-class:: classref-property
:ref:`float<class_float>` **damping_coefficient** = ``0.01`` :ref:`🔗<class_SoftBody3D_property_damping_coefficient>`
.. rst-class:: classref-property-setget
- |void| **set_damping_coefficient**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_damping_coefficient**\ (\ )
El coeficiente de amortiguación del cuerpo. Los valores más altos ralentizarán el cuerpo de forma más notoria cuando se apliquen fuerzas.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_disable_mode:
.. rst-class:: classref-property
:ref:`DisableMode<enum_SoftBody3D_DisableMode>` **disable_mode** = ``0`` :ref:`🔗<class_SoftBody3D_property_disable_mode>`
.. rst-class:: classref-property-setget
- |void| **set_disable_mode**\ (\ value\: :ref:`DisableMode<enum_SoftBody3D_DisableMode>`\ )
- :ref:`DisableMode<enum_SoftBody3D_DisableMode>` **get_disable_mode**\ (\ )
Define el comportamiento en la física cuando :ref:`Node.process_mode<class_Node_property_process_mode>` se establece a :ref:`Node.PROCESS_MODE_DISABLED<class_Node_constant_PROCESS_MODE_DISABLED>`.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_drag_coefficient:
.. rst-class:: classref-property
:ref:`float<class_float>` **drag_coefficient** = ``0.0`` :ref:`🔗<class_SoftBody3D_property_drag_coefficient>`
.. rst-class:: classref-property-setget
- |void| **set_drag_coefficient**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_drag_coefficient**\ (\ )
El coeficiente de arrastre del cuerpo. Los valores más altos aumentan la resistencia al aire de este cuerpo.
\ **Nota:** Este valor no es utilizado actualmente por la implementación física predeterminada de Godot.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_linear_stiffness:
.. rst-class:: classref-property
:ref:`float<class_float>` **linear_stiffness** = ``0.5`` :ref:`🔗<class_SoftBody3D_property_linear_stiffness>`
.. rst-class:: classref-property-setget
- |void| **set_linear_stiffness**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_linear_stiffness**\ (\ )
Los valores más altos resultarán en un cuerpo más rígido, mientras que los valores más bajos aumentarán la capacidad del cuerpo para doblarse. El valor puede estar entre ``0.0`` y ``1.0`` (inclusivo).
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_parent_collision_ignore:
.. rst-class:: classref-property
:ref:`NodePath<class_NodePath>` **parent_collision_ignore** = ``NodePath("")`` :ref:`🔗<class_SoftBody3D_property_parent_collision_ignore>`
.. rst-class:: classref-property-setget
- |void| **set_parent_collision_ignore**\ (\ value\: :ref:`NodePath<class_NodePath>`\ )
- :ref:`NodePath<class_NodePath>` **get_parent_collision_ignore**\ (\ )
:ref:`NodePath<class_NodePath>` a un :ref:`CollisionObject3D<class_CollisionObject3D>` que este SoftBody3D debería evitar atravesar.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_pressure_coefficient:
.. rst-class:: classref-property
:ref:`float<class_float>` **pressure_coefficient** = ``0.0`` :ref:`🔗<class_SoftBody3D_property_pressure_coefficient>`
.. rst-class:: classref-property-setget
- |void| **set_pressure_coefficient**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_pressure_coefficient**\ (\ )
El coeficiente de presión de este cuerpo blando. Simula la acumulación de presión desde el interior de este cuerpo. Los valores más altos aumentan la fuerza de este efecto.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_ray_pickable:
.. rst-class:: classref-property
:ref:`bool<class_bool>` **ray_pickable** = ``true`` :ref:`🔗<class_SoftBody3D_property_ray_pickable>`
.. rst-class:: classref-property-setget
- |void| **set_ray_pickable**\ (\ value\: :ref:`bool<class_bool>`\ )
- :ref:`bool<class_bool>` **is_ray_pickable**\ (\ )
Si es ``true``, el **SoftBody3D** responderá a los :ref:`RayCast3D<class_RayCast3D>`\ s.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_shrinking_factor:
.. rst-class:: classref-property
:ref:`float<class_float>` **shrinking_factor** = ``0.0`` :ref:`🔗<class_SoftBody3D_property_shrinking_factor>`
.. rst-class:: classref-property-setget
- |void| **set_shrinking_factor**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_shrinking_factor**\ (\ )
Escala las longitudes de reposo de las restricciones de borde del **SoftBody3D**. Los valores positivos encogen la malla, mientras que los valores negativos la expanden. Por ejemplo, un valor de ``0.1`` acorta los bordes de la malla en un 10%, mientras que ``-0.1`` expande los bordes en un 10%.
\ **Nota:** :ref:`shrinking_factor<class_SoftBody3D_property_shrinking_factor>` se usa mejor en mallas de superficie con puntos fijados.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_simulation_precision:
.. rst-class:: classref-property
:ref:`int<class_int>` **simulation_precision** = ``5`` :ref:`🔗<class_SoftBody3D_property_simulation_precision>`
.. rst-class:: classref-property-setget
- |void| **set_simulation_precision**\ (\ value\: :ref:`int<class_int>`\ )
- :ref:`int<class_int>` **get_simulation_precision**\ (\ )
Aumentar este valor mejorará la simulación resultante, pero puede afectar al rendimiento. Usar con cuidado.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_property_total_mass:
.. rst-class:: classref-property
:ref:`float<class_float>` **total_mass** = ``1.0`` :ref:`🔗<class_SoftBody3D_property_total_mass>`
.. rst-class:: classref-property-setget
- |void| **set_total_mass**\ (\ value\: :ref:`float<class_float>`\ )
- :ref:`float<class_float>` **get_total_mass**\ (\ )
La masa del SoftBody3D.
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Descripciones de Métodos
------------------------------------------------
.. _class_SoftBody3D_method_add_collision_exception_with:
.. rst-class:: classref-method
|void| **add_collision_exception_with**\ (\ body\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_SoftBody3D_method_add_collision_exception_with>`
Añade un cuerpo a la lista de cuerpos con los que este cuerpo no puede colisionar.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_apply_central_force:
.. rst-class:: classref-method
|void| **apply_central_force**\ (\ force\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SoftBody3D_method_apply_central_force>`
Distribuye y aplica una fuerza a todos los puntos. Una fuerza depende del tiempo y está pensada para aplicarse en cada actualización de la física.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_apply_central_impulse:
.. rst-class:: classref-method
|void| **apply_central_impulse**\ (\ impulse\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SoftBody3D_method_apply_central_impulse>`
Distribuye y aplica un impulso a todos los puntos.
¡Un impulso es independiente del tiempo! Aplicar un impulso cada frame resultaría en una fuerza dependiente del framerate. Por esta razón, solo debe usarse al simular impactos únicos (usa las funciones "_force" en caso contrario).
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_apply_force:
.. rst-class:: classref-method
|void| **apply_force**\ (\ point_index\: :ref:`int<class_int>`, force\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SoftBody3D_method_apply_force>`
Aplica una fuerza a un punto. Una fuerza depende del tiempo y está pensada para aplicarse en cada actualización de la física.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_apply_impulse:
.. rst-class:: classref-method
|void| **apply_impulse**\ (\ point_index\: :ref:`int<class_int>`, impulse\: :ref:`Vector3<class_Vector3>`\ ) :ref:`🔗<class_SoftBody3D_method_apply_impulse>`
Applies an impulse to a point.
An impulse is time-independent! Applying an impulse every frame would result in a framerate-dependent force. For this reason, it should only be used when simulating one-time impacts (use the "_force" functions otherwise).
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_get_collision_exceptions:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`PhysicsBody3D<class_PhysicsBody3D>`\] **get_collision_exceptions**\ (\ ) :ref:`🔗<class_SoftBody3D_method_get_collision_exceptions>`
Devuelve un conjunto de nodos que se añadieron como excepciones de colisión para este cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_get_collision_layer_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_collision_layer_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SoftBody3D_method_get_collision_layer_value>`
Devuelve si la capa especificada de :ref:`collision_layer<class_SoftBody3D_property_collision_layer>` está habilitada o no, dado un ``layer_number`` entre 1 y 32.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_get_collision_mask_value:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **get_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SoftBody3D_method_get_collision_mask_value>`
Devuelve si la capa especificada de :ref:`collision_mask<class_SoftBody3D_property_collision_mask>` está habilitada o no, dado un ``layer_number`` entre 1 y 32.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_get_physics_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **get_physics_rid**\ (\ ) |const| :ref:`🔗<class_SoftBody3D_method_get_physics_rid>`
Devuelve el :ref:`RID<class_RID>` interno utilizado por el :ref:`PhysicsServer3D<class_PhysicsServer3D>` para este cuerpo.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_get_point_transform:
.. rst-class:: classref-method
:ref:`Vector3<class_Vector3>` **get_point_transform**\ (\ point_index\: :ref:`int<class_int>`\ ) :ref:`🔗<class_SoftBody3D_method_get_point_transform>`
Devuelve la traslación local de un vértice en el array de superficie.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_is_point_pinned:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **is_point_pinned**\ (\ point_index\: :ref:`int<class_int>`\ ) |const| :ref:`🔗<class_SoftBody3D_method_is_point_pinned>`
Devuelve ``true`` si el vértice está fijado.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_remove_collision_exception_with:
.. rst-class:: classref-method
|void| **remove_collision_exception_with**\ (\ body\: :ref:`Node<class_Node>`\ ) :ref:`🔗<class_SoftBody3D_method_remove_collision_exception_with>`
Quita un cuerpo de la lista de cuerpos con los que este cuerpo no puede colisionar.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_set_collision_layer_value:
.. rst-class:: classref-method
|void| **set_collision_layer_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_SoftBody3D_method_set_collision_layer_value>`
Basado en ``value``, habilita o deshabilita la capa especificada en :ref:`collision_layer<class_SoftBody3D_property_collision_layer>`, dado un ``layer_number`` entre 1 y 32.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_set_collision_mask_value:
.. rst-class:: classref-method
|void| **set_collision_mask_value**\ (\ layer_number\: :ref:`int<class_int>`, value\: :ref:`bool<class_bool>`\ ) :ref:`🔗<class_SoftBody3D_method_set_collision_mask_value>`
Basado en ``value``, habilita o deshabilita la capa especificada en :ref:`collision_mask<class_SoftBody3D_property_collision_mask>`, dado un ``layer_number`` entre 1 y 32.
.. rst-class:: classref-item-separator
----
.. _class_SoftBody3D_method_set_point_pinned:
.. rst-class:: classref-method
|void| **set_point_pinned**\ (\ point_index\: :ref:`int<class_int>`, pinned\: :ref:`bool<class_bool>`, attachment_path\: :ref:`NodePath<class_NodePath>` = NodePath(""), insert_at\: :ref:`int<class_int>` = -1\ ) :ref:`🔗<class_SoftBody3D_method_set_point_pinned>`
Establece el estado fijado de un vértice de la superficie. Cuando se establece en ``true``, el ``attachment_path`` opcional puede definir un :ref:`Node3D<class_Node3D>` al que se adjuntará el vértice fijado.
.. |virtual| replace:: :abbr:`virtual (Normalmente, este método debería ser sobreescrito por el usuario para que tenga algún efecto.)`
.. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)`
.. |const| replace:: :abbr:`const (Este método no tiene efectos secundarios. No modifica ninguna de las variables miembro de la instancia.)`
.. |vararg| replace:: :abbr:`vararg (Este método permite agregar cualquier número de argumentos después de los descritos aquí.)`
.. |constructor| replace:: :abbr:`constructor (Este método se utiliza para construir un tipo.)`
.. |static| replace:: :abbr:`static (Este método no necesita una instancia para ser llamado, por lo que puede llamarse directamente utilizando el nombre de la clase.)`
.. |operator| replace:: :abbr:`operator (Este método describe un operador válido para usar con este tipo como operando izquierdo.)`
.. |bitfield| replace:: :abbr:`BitField (Este valor es un entero compuesto como una máscara de bits de las siguientes banderas.)`
.. |void| replace:: :abbr:`void (Sin valor de retorno.)`