El Adaptador de R6 a R15 permite que los avatares R15 se unan a tu juego de R6. Todos los avatares en el juego seguirán utilizando el sistema de escala y movimiento similar a R6. El adaptador permite que tu juego aproveche los componentes modernos de R15, como accesorios en capas y cabezas dinámicas, con un impacto mínimo en el rendimiento o la jugabilidad de tu juego.
Es importante entender cómo el adaptador utiliza partes del adaptador y revisar las limitaciones conocidas de la función antes de habilitar y probar el adaptador para tu juego.
Partes del adaptador
El adaptador de R6 a R15 implementa una inyección de script Luau cuando un avatar aparece, que crea partes del adaptador.
Estas son MeshParts invisibles que tienen el mismo nombre que las partes del cuerpo R6 y están soldadas a sus partes del cuerpo R15 correspondientes. Los scripts permiten que las partes del adaptador acepten interacciones de script basadas en R6 y las reenvíen a las partes R15 apropiadas.
Las partes del adaptador realizan lo siguiente:
- Emulan la física de R6 utilizando partes colisionables invisibles con las posiciones y dimensiones de las cajas de colisión de R6.
- Establecen las partes del cuerpo R15 visibles como no colisionables.
- Escalan y posicionan las partes visibles de R15 para que coincidan con el tamaño y las posiciones de las articulaciones de R6.
- Actúan como un adaptador entre las partes del cuerpo R6 y R15. Los cambios de propiedades aplicados a las partes invisibles de R6 se transmiten a sus partes visibles de R15 correspondientes.
- Por ejemplo, un cambio de color en el LeftArm de R6 se transmite a las partes LeftUpperArm, LeftLowerArm y LeftHand de R15.
Habilitar el adaptador de R6 a R15
Puedes habilitar el adaptador de R6 a R15 configurando la propiedad AvatarUnificationMode en Workspace. Solo puedes acceder a esta propiedad si el tipo de avatar está configurado para incluir R6 en la ventana de Configuración de Avatar. En este momento, la configuración Default desactiva el modo de unificación.
Para habilitar el adaptador de R6 a R15:
- En la ventana de Explorer, navega a Workspace.
Limitaciones conocidas
En la mayoría de los casos, el adaptador de R6 a R15 funciona sin problemas con los sistemas de un juego de R6. En raras ocasiones, puede haber conflictos con sistemas personalizados que manejan la seguridad o el comportamiento relacionado con los personajes. Consulta lo siguiente para obtener una lista de posibles limitaciones o conflictos que puedes encontrar al usar el adaptador de R6 a R15.
Seguridad
Algunos juegos de R6 con detección activa de trampas pueden interpretar la inyección de script Luau como un intento de eludir la seguridad.
Dado que el comportamiento predeterminado de los avatares R6 es aparecer con todas sus partes ya en su lugar, muchos juegos tienden a marcar los cambios en las partes del cuerpo como posibles exploits. En los juegos con el adaptador habilitado, los avatares R15 aparecen con sus cuerpos predeterminados antes de cambiar las partes del cuerpo según sus partes del cuerpo y accesorios de avatar guardados.
Editores de avatar personalizados
Los juegos con editores de avatar personalizados que permiten a los jugadores intercambiar partes del cuerpo pueden romper la conexión con las partes del adaptador.
Soporte R15 preexistente
Los juegos que verifican el tipo de rig de avatar e incluyen soluciones específicas para cada caso de R15 y R6 pueden no funcionar correctamente con el adaptador. AvatarUnificationMode utiliza rutas de código correspondientes a R15 que pueden requerir pruebas en tu juego.
Redimensionamiento de partes del cuerpo
Los juegos que redimensionan las partes del cuerpo R6 no verán el cambio de escala propagado a las partes R15 proxy. Este también es el caso si se mueven los accesorios de las articulaciones.
Llamadas a la API GetChildren
Las llamadas GetChildren() devuelven tanto las partes proxy R6 como sus partes R15 correspondientes. Es posible que debas tener en cuenta esta información adicional.
Llamadas a la API FindFirstChild
No uses inmediatamente FindFirstChild(), o "indexación por punto", en tus scripts para encontrar partes del personaje. En su lugar, usa WaitForChild() antes de llamar a FindFirstChild(). La replicación en AvatarUnificationMode es diferente, y el juego puede no encontrar un hijo que aún no existe.
Esta siempre ha sido una buena práctica para los scripts de Roblox, incluso si algunos casos funcionan sin seguir esta práctica.
Condicionales de Head.ClassName
AvatarUnificationMode establece el Head como un MeshPart. Cualquier llamada que lea o escriba en la propiedad SpecialMesh.MeshId fallará.
Colisiones de Head
Los personajes R15 que se unen a un juego de R6 no admiten colisiones con su parte de Head. Si tu juego detecta o depende de colisiones con la parte de Head de un personaje, también debes actualizar tus scripts para verificar CollisionHead.