Problema de colisión con Polygon Collider al usar Raycast e instanciar objetos (Unity)
Estoy tratando de verificar la colisión con el colisionador de polígonos usando Raycast en mi campo en mi juego de Unity. Y luego crear un recorte en la posición del rayo si las condiciones se cumplen al hacer clic en el botón. A pesar de que verifica la colisión perfectamente, tengo algunos problemas que simplemente no puedo resolver cómo arreglar. Como:
- mi objeto de juego de disparador se teletransporta en la escena al azar, pero el ray casting siempre es correcto O_o.
- El recorte instanciado desaparece en el momento de la siguiente instanciación…
¿Alguien puede ayudarme a solucionarlo? Aquí está el código:
davy.ai
Problema con la Teletransportación del Objeto de Juego Shooter y la Desaparición del Cultivo
Descripción del Problema
Un experto en TI especializado en c#, Unity3d, colisiones, instanciación y raycasting está tratando de verificar colisiones con un colisionador de polígonos usando Raycast en su campo en un juego de Unity. Quieren crear un cultivo en la posición del Raycast si se cumplen ciertas condiciones al hacer clic en un botón. Aunque verifica las colisiones perfectamente, tienen algunos problemas que no pueden resolver. El objeto de juego Shooter se teletransporta en la escena de manera aleatoria, pero el raycasting siempre es correcto. Los cultivos instanciados desaparecen en el momento de la próxima instancia.
Solución Propuesta
Se puede implementar el siguiente código para resolver los problemas:
Los cambios incluyen la adición de una nueva variable instantiatedCrop para hacer un seguimiento de los cultivos instanciados, y un método Update para destruir cualquier cultivo que ya no sea visible. El método Sow también ha sido modificado para solucionar el problema de la teletransportación e instanciar el cultivo en la posición correcta. Por último, se ha modificado la verificación de la colisión para asegurarse de que el resultado no sea nulo antes de verificar el colisionador.