2015-05-09 5 views
1

Мне нужно знать, как создать 2D-изображение 3D-модели (с поворотом) во время игры. Я работаю с C# и Unity3D. [Отредактировано для Ясности, надеюсь ...]Как я могу использовать модель для динамического создания изображения текстуры модели. (Unity3D/C#)?

После небольшого исследования: похоже, что я хочу, это RenderTexture. Я должен был бы создать камеру и вывести изображение камеры в ресурс RenderTexture, а затем вытащить текстуру из RenderTexture.

Что было бы лучшим способом сделать это?

Моя попытка: Используя редактор Unity, я также создал плоскость фона, плоскость потолка и прожектор на 100 единиц ниже земли. Я думаю, что я могу сделать камеру/и т. Д. активно, нарисуйте объект, сохраните текстуру, удалите объект и установите камеру/и т. д. к неактивному. Мои проблемы связаны со сроками всего ...

+0

Итак, каков ваш вопрос, точно? Использует ли RenderTexture оптимальный способ достижения этого и широко используется? Да. –

+0

Да, точно. Это не так получилось ... редактирование * ... после исследования я не нашел о создании текстур, просто что-то о том, как сделать камеру/мониторы с помощью RenderTexture. Я хотел спросить здесь, потому что я почти ничего не знаю о Unity3D, и я не хотел в него вникать, чтобы найти более простой способ, или на самом деле он не работает достаточно хорошо для текстур. – Z30Dragon

+0

Ну, это всегда хорошая идея, проверить, что ваш способ делать вещи - это правильный и/или обычный способ. –

ответ

1

Да, обычно это достигается с помощью RenderTexture. Вы можете фактически заменить target texture камеры на один кадр, render to several textures at once, или использовать специальную камеру, которую вы активируете только для одного кадра. Методы MonoBehaviour OnPostRender, OnPreRender, OnWillRenderObject, OnRenderObject и OnRenderImage полезны для управления процессом, а также статические события камеры onPreRender и onPostRender.

+0

Это невероятно полезно при выборе времени. Есть ли способ сделать рендеринг в альтернативном пространстве рисования (слой?). Так что вы можете сделать суб-рендер в своей функции и сделать это более одного раза за кадр? Как бы вы эффективно масштабировали это? – Z30Dragon

 Смежные вопросы

  • Нет связанных вопросов^_^