MeshPart
*Este contenido se traduce usando la IA (Beta) y puede contener errores. Para ver esta página en inglés, haz clic en aquí.
MeshPart es una forma de BasePart que incluye una malla personalizada físicamente simulada.A diferencia de otras Clasesde malla, como SpecialMesh y BlockMesh, no están patrocinadas por un BasePart sino que se comportan como un BasePart por derecho propio.
La malla y la textura de un MeshPart se determinan por las propiedades MeshId y TextureID. Para obtener más información, consulte Mallas.
Resumen
Propiedades
Determina si renderizar ambas caras de polígonos en la malla.
La malla que se muestra en el MeshPart . Soporta URI de activos y EditableMesh .
Las URI de activos del malla que se muestra en el MeshPart. Lees y escribes a MeshContent.
El nivel de detalle utilizado para renderizar el MeshPart .
La textura aplicada al MeshPart . Soporta URI de activos y EditableImage .
La textura aplicada al MeshPart. Lees y escribes a TextureContent.
Determina el nivel de detalle que la física de la parte adherirá a su malla.
Determina la representación geométrica utilizada para calcular las fuerzas y los momentos aerodinámicos.
Determina si una parte es inmóvil por la física.
La velocidad angular de la montura de la pieza.
El centro de masa de la montura de la parte en el espacio mundial.
La velocidad lineal de la montura de la pieza.
La masa total de la montura de la parte.
Una referencia a la parte raíz de la asamblea.
Determina si la parte interactuará físicamente con la simulación de audio, similar a CastShadow para iluminación.
Determina el tipo de superficie para la cara trasera de una pieza.
Determina el tipo de superficie para la cara inferior de una parte.
Determina el color de una parte.
Determina la posición y orientación del BasePart en el mundo.
Determina si una parte puede chocar con otras partes.
Determina si la parte se considera durante las operaciones de consulta espacial.
Determina si Touched y TouchEnded eventos de fuego en la parte.
Determina si una parte lanza una sombra o no.
Describe la posición mundial en la que se encuentra el centro de masa de una parte.
Describe el nombre del grupo de colisión de una parte.
Determina el color de una parte.
Indica las propiedades físicas actuales de la parte.
Determina varias propiedades físicas de una parte.
Se utiliza para activar o desactivar las fuerzas aerodinámicas en piezas y ensamblajes.
El tamaño físico real del BasePart como lo considera el motor de física.
Determina el tipo de superficie para la cara frontal de una parte.
Determina el tipo de superficie para el lado izquierdo de una pieza.
Determina un multiplicador para BasePart.Transparency que solo es visible para el cliente local.
Determina si una parte es seleccionable en Studio.
Describe la masa de la parte, el producto de su densidad y volumen.
Determina si la parte contribuye a la masa total o a la inercia de su cuerpo rígido.
Determina la textura y las propiedades físicas predeterminadas de una parte.
El nombre de MaterialVariant.
Describe la rotación de la parte en el mundo.
Specifica el desplazamiento del pivote de la parte desde su CFrame .
Describe la posición de la parte en el mundo.
Tiempo desde la última actualización de física registrada.
Determina cuánto refleja una parte la caja de cielo.
Describe el cambio más pequeño en el tamaño permitido por el método Resize().
Describe las caras en las que una parte puede ser redimensionada.
Determina el tipo de superficie para el lado derecho de una pieza.
La regla principal para determinar la parte raíz de una asamblea.
La rotación de la pieza en grados para los tres ejes.
Determina las dimensiones de una parte (longitud, ancho, altura).
Determina el tipo de superficie para la cara superior de una pieza.
Determina cuánto se puede ver una parte a través de ella (la inversa de la opacidad de la parte).
Métodos
Reemplaza las propiedades de geometría de colisión de MeshContent, TextureContent y MeshPart de esta meshPart desde la fuente dada.
Aplica un impulso angular a la montura.
Aplica un impulso a la asamblea en la asamblea center of mass .
Aplica un impulso a la montura en la posición especificada.
Devuelve si las partes pueden chocar entre sí.
Comprueba si puedes establecer la propiedad de red de una parte.
Devuelve una tabla de partes conectadas al objeto por cualquier tipo de articulaciónrígida.
Devuelve todas las juntas o restricciones que estén conectadas a esta parte.
Devuelve el valor de la propiedad Mass .
Devuelve al jugador actual que es el propietario de la red de esta parte, o nil en caso del servidor.
Devuelve verdadero si el motor de juegos decide automáticamente al propietario de la red para esta parte.
Devuelve la parte base de una colección de partes.
Devuelve una tabla de todas las BasePart.CanCollide piezas verdaderas que se intersectan con esta parte.
Devuelve la velocidad lineal de la montura de la pieza en la posición dada con respecto a esta pieza.
Devuelve verdadero si el objeto está conectado a una parte que lo mantendrá en su lugar (por ejemplo, una parte Anchored), de lo contrario devuelve falso.
Cambia el tamaño de un objeto al igual que usando la herramienta de redimensionamiento de Studio.
Establece al jugador dado como propietario de la red para esto y todas las piezas conectadas.
Permite que el motor de juegos decida dinámicamente quién manejará la física de la parte (uno de los clientes o el servidor).
- IntersectAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo IntersectOperation de la geometría superpuesta de la pieza y de las otras piezas en el matriz/listadado.
- SubtractAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo UnionOperation de la parte, menos la geometría ocupada por las piezas en el matriz/listadado.
- UnionAsync(parts : Instances,collisionfidelity : Enum.CollisionFidelity,renderFidelity : Enum.RenderFidelity):Instance
Crea un nuevo UnionOperation de la parte, más la geometría ocupada por las piezas en el matriz/listadado.
Obtiene el pivote de un PVInstance .
Transforma el PVInstance junto con todos sus descendientes PVInstances de tal manera que el pivote ahora se encuentra en el punto especificado CFrame.
Eventos
Eventos heredados de BasePartSe enciende cuando una parte deja de tocar a otra parte como resultado de un movimiento físico.
Se enciende cuando una parte toca a otra parte como resultado de un movimiento físico.
Propiedades
DoubleSided
Esta propiedad determina si renderizar ambas caras de los polígonos en la malla.Solo se puede cambiar en Studio.Esto es útil para mallas que se modelan típicamente como "cartas" como una hoja, pelo o tela.
HasJointOffset
HasSkinnedMesh
JointOffset
MeshContent
La malla que se muestra en el MeshPart . Soporta URI de activos y EditableMesh .
Tenga en cuenta que esta propiedad no se puede cambiar directamente por scripts, ya que la geometría de colisión de la malla no se puede recomputar en tiempo real.Vea AssetService:CreateMeshPartAsync() como un método para crear un nuevo MeshPart desde un dado Content con un CollisionFidelity especificado. MeshPart:ApplyMesh() se puede usar para reemplazar la geometría de colisión de MeshContent , TextureContent , y la geometría de colisión de un existente MeshPart .
MeshId
Las URI de activos del malla que se muestra en el MeshPart. Lees y escribes a MeshContent.
Tenga en cuenta que esta propiedad no se puede cambiar directamente por scripts, ya que la geometría de colisión de la malla no se puede recomputar en tiempo real.Vea AssetService:CreateMeshPartAsync() como un método para crear un nuevo MeshPart desde un dado Content con un CollisionFidelity especificado. MeshPart:ApplyMesh() se puede usar para reemplazar la geometría de colisión de MeshContent , TextureContent , y la geometría de colisión de un existente MeshPart .
RenderFidelity
Esta propiedad determina el nivel de detalle que se mostrará en el MeshPart . Se puede establecer a los valores posibles del Enum.RenderFidelity enumerado.
El valor predeterminado es Automatic , lo que significa que el detalle de la malla se basa en su distancia de la cámara como se describe en la siguiente tabla.
<th>Fidelidad de renderizado</th><th>Ejemplo</th></tr></thead><tbody><tr><td>Menos de 250 tacos</td><td>Más alto</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-High.jpg" width="200"></img></td></tr><tr><td>250-500 tachuelas</td><td>Medio</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-Medium.jpg" width="200"></img></td></tr><tr><td>500 o más tachuelas</td><td>Más bajo</td><td><img src="../../../assets/modeling/meshes/Render-Fidelity-Low.jpg" width="200"></img></td></tr></tbody>
Distancia desde la cámara |
---|
TextureContent
La textura aplicada al MeshPart . Soporta URI de activos y EditableImage .
Cuando esta propiedad se establece en Content.none, no se aplicará ninguna textura a la malla.
local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartmeshPart.TextureContent = Content.none -- No texture
Tenga en cuenta que la propiedad MeshContent no se puede cambiar directamente durante el tiempo de ejecución, pero la textura sí.
Cambiar una textura de malla
Usando la propiedad TextureContent, la textura de una malla se puede cambiar sin tener que volver a subir la malla.Para hacer esto, se puede subir una nueva imagen a Roblox con la textura deseada.El archivo de imagen de textura original se puede obtener exportando la malla usando la opción Exportación de selección en Studio.El archivo de imagen se guardará junto con el archivo exportado .obj .
Luego, la nueva textura se puede subir a Roblox como una etiqueta y su URI de activos se puede aplicar a la malla usando la propiedad Class.MeshPart.TextureContent|TextureContent``Class.MeshPart.TextureID|TextureID.
TextureContent también se puede configurar para referenciar un EditableImage que aún no se ha publicado.
local AssetService = game:GetService("AssetService")local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartlocal editableImage = AssetService:CreateEditableImageAsync(meshPart.TextureContent)meshPart.TextureContent = Content.fromObject(editableImage) -- Live updates
Cuando TextureContent se refiere a un EditableImage, la textura se actualizará con cualquier edición al objeto EditableImage.
Hacer una malla texturizada
Una malla solo se puede texturizar si la malla se ha mapeado con UV, refiriéndose a la práctica de proyectar un mapa de textura sobre una malla.Esto no se puede hacer usando Roblox Studio y debe hacerse usando una aplicación de modelado 3D externa como Blender.
TextureID
La textura aplicada al MeshPart. Lees y escribes a TextureContent.
Cuando esta propiedad se establece en una cadena vacía, no se aplicará ninguna textura a la malla.
local Workspace = game:GetService("Workspace")local meshPart = Workspace.MeshPartmeshPart.TextureID = "" -- No texture
Tenga en cuenta que la propiedad MeshPart.MeshId no se puede cambiar durante el tiempo de ejecución, pero la textura puede. Vea TextureContent para más detalles.
Métodos
ApplyMesh
Reemplaza las propiedades de geometría de colisión de MeshContent, TextureContent y MeshPart de esta meshPart desde la fuente dada.
La mayoría de estas propiedades son de solo lectura y no se pueden cambiar durante el tiempo de ejecución por sí mismas directamente.Para mantener MeshContent y los datos de física sincronizados, deben actualizarse juntos.
Copia las siguientes propiedades:
- MeshPart.MeshContent (actualiza implícitamente MeshId )
- MeshPart.TextureContent (actualiza implícitamente TextureID )
- MeshPart.CollisionFidelity (con cualquier geometría de colisión interna)
- MeshPart.FluidFidelity (con cualquier geometría interna de aero)