¿Cómo puedo dibujar sprites en Unity 5 mediante programación? Estoy buscando algo similar a spriteBatch.Draw()
en XNA. Los resultados que obtengo cuando lo busco están desactualizados http://wiki.unity3d.com/index.php?title=SpriteManager (esto fue escrito en 2012), o se hacen usando la interfaz de la unidad. Todo lo que puedo encontrar es una Sprite
clase en UnityEngine.dll. ¿Es esto lo que necesito? ¿Cómo funcionaría el dibujo? Realmente no lo entiendo.
8
Sprite
y luego unSpriteRenderer
pero no puedo entender cómo configurar una imagen para el sprite.Sprite
objetos @ Byte56 ni siquiera parecen tener una propiedad para configurar la imagen. lo más parecido que veo es sprite.texture, que es de solo lectura ... en realidad, todas las propiedades de sprite son de solo lecturaRespuestas:
Unity no tiene este tipo de renderizado de "modo directo", no invocará
Draw
ningún ciclo de actualización para Unity.En Unity necesitas crear un objeto de juego, luego adjuntar scripts a ese objeto de juego. Esas secuencias de comandos controlarán cómo se comporta el objeto, si y cómo se muestra en la pantalla, si es parte del sistema de física, etc.
Para crear un nuevo sprite para dibujar en la pantalla, deberás crear un nuevo objeto de juego, luego adjuntarle el script SpriteRenderer y configurar su sprite.
Esto supone una estructura de directorio de
Por ejemplo:
Luego, tenía un script diferente para cambiar la posición, la rotación, etc., dependiendo de cómo desea que se comporte.
¿La forma más fácil de lograr todo esto sin tener que escribir tanto código? Cree primero el objeto del juego en el editor de Unity. Una vez que el objeto del juego está equipado con el sprite que deseas y los scripts de comportamiento y todo eso. Arrástrelo y suéltelo en un directorio de recursos. Esto crea un prefabricado. Los prefabricados son exactamente lo que parecen, prefabricaciones. Son objetos completos a los que luego puedes hacer referencia y crear sobre la marcha.
Crearías aquellos como:
Esto generará un clon del prefabricado que creaste antes. Entonces, si, por ejemplo, le has dado a tu prefabricado el comportamiento de moverse hacia el jugador y atacar, cada vez que generas un nuevo prefabricado de ese tipo, comenzarán a moverse hacia el jugador y atacar. Los guiones que solo tenía que escribir una vez controlan todos esos objetos del juego.
Creo que la principal diferencia que está viendo aquí es el uso intensivo de componentes. Lo que probablemente no has visto en otros motores de juegos como XNA. La unidad realmente es un motor potente, pero su frustración proviene de intentar usarlo como otros motores, cuando no es como otros motores. Consulte mi perfil para obtener capacitación, agregué un enlace para una prueba gratuita para que no tenga que pagar.
fuente