Как я могу рисовать спрайты в Unity 5 программно? Я ищу что-то похожее на spriteBatch.Draw()
XNA. Результаты, которые я получаю при поиске, либо устарели http://wiki.unity3d.com/index.php?title=SpriteManager (написано в 2012 году), либо сделаны с использованием интерфейса Unity. Все, что я могу найти, это Sprite
класс в UnityEngine.dll. Это то, что мне нужно? Как будет работать рисунок? Я действительно не понимаю.
8
Sprite
а затем,SpriteRenderer
но я не могу понять, как установить изображение для спрайта.Sprite
Объекты Byte56 , похоже, даже не имеют свойства для установки изображения. самая близкая вещь, которую я вижу, это sprite.texture, которая доступна только для чтения ... фактически каждое свойство sprite доступно только для чтенияОтветы:
Unity не имеет такого рода «прямого режима» рендеринга, вы не будете вызывать
Draw
какие-либо циклы обновления для Unity.В Unity вам нужно создать игровой объект, а затем прикрепить сценарии к этому игровому объекту. Эти сценарии будут контролировать поведение объекта, если и как он будет отображаться на экране, является ли он частью физической системы и т. Д.
Чтобы создать новый спрайт для рисования на экране, вам нужно создать новый игровой объект, затем присоединить к нему скрипт SpriteRenderer и установить его спрайт.
Это предполагает структуру каталогов
Например:
Тогда у вас был другой скрипт для изменения положения, поворота и т. Д., В зависимости от того, как вы хотите, чтобы он вел себя.
Самый простой способ выполнить все это без необходимости писать столько кода? Сначала создайте игровой объект в редакторе Unity. Как только игровой объект снабжен нужным спрайтом, скриптами поведения и всем этим. Перетащите его в каталог ресурсов. Это создает сборный. Сборные дома - это то, на что они похожи, сборные конструкции. Это законченные объекты, которые вы можете ссылаться и создавать на лету.
Вы бы создали такие как:
Это приведет к клону префаба, который вы создали ранее. Так, если, например, вы дали своему префабу поведение движения к игроку и атаки, каждый раз, когда вы создаете новый префаб такого типа, они начнут двигаться к игроку и атаковать. Сценарии, которые вы должны были написать только один раз, управляют всеми этими игровыми объектами.
Я думаю, что главное отличие, которое вы видите здесь, заключается в интенсивном использовании компонентов. Что вы, вероятно, не видели в других игровых движках, таких как XNA. Unity действительно мощный двигатель, но ваше разочарование возникает из-за того, что вы пытаетесь использовать его как другие двигатели, когда он не похож на другие. Проверьте мой профиль для некоторых тренировок, я добавил ссылку для бесплатной пробной версии, чтобы вам не пришлось платить.
источник