Трехмерная спрайт-графика
|
|
[1] Vip_and_Rip [31 Мая 2014, 23:42] |
Надоело возиться с 3d моделям, и появилась идея создать трехмерную игру, но с полным спрайтовым окружением (включая мобов и оружие) - наподобие того, что было в первых 3d-играх, вроде Doom или TES Arena. Собственно, вопрос - реально-ли такое осуществить на Unity? Если реально, то хотелось бы увидеть хоть одно пособие или описание привязки спрайта к трехмерному миру. Ежели кто поможет или даст ссылку на нужную литературу\урок, буду благодарен.
robertono, на святое не покушаюсь, но графика планировалась такого технического плана: 3d, но спрайты.
Сообщение отредактировал Vip_and_Rip - Воскресенье, 01 Июня 2014, 01:41 |
|
[2] robertono [01 Июня 2014, 01:33] |
Vip_and_Rip, мне бы скриншотик - пример того, что ты хочешь сделать |
|
[3] falcoware [01 Июня 2014, 01:37] |
Vip_and_Rip, кидаешь спрайт на доску, доску поворачиваешь всегда одной стороной к камере и будет тебе счастье! =) |
|
[4] Vip_and_Rip [01 Июня 2014, 01:48] |
falcoware, была такая идея, но показалась слишком уж примитивной. Искал более "изящные" способы решения этой проблемы  |
|
[5] Xakep [01 Июня 2014, 10:51] |
Цитата Vip_and_Rip (  ) falcoware, была такая идея, но показалась слишком уж примитивной. Искал более "изящные" способы решения этой проблемы biggrin билборды так и работают. А вообще лучше возьми Raycast gamemaker |
|
[6] romeo98 [01 Июня 2014, 10:53] |
Всмысле, слишком примитивно? По сути, вся твоя идея слишком примитивна. Если ты думал, что таким вариантом можно создать графон, то ты ошибся.
Сообщение отредактировал romeo98 - Воскресенье, 01 Июня 2014, 10:54 |
|
[7] allods [01 Июня 2014, 13:03] |
А я думал он про героев 3х, там заспрайтованы 3 модели все ихние анимки, а игра в 2д
А он хочет сделать 3д игру с 2д спрайтами  |
|
[8] Storm54 [01 Июня 2014, 13:16] |
Накидал тебе класс билборда.
Код using UnityEngine;
class Billboard:MonoBehaviour { public float VisibleDistance = 5;
private Renderer r;
void Start() { r = transform.Find("Plane").renderer; }
void Update() { if (Camera.main == null) return; r.enabled = (Vector3.Distance(transform.position, Camera.main.transform.position) <= VisibleDistance); transform.LookAt(Camera.main.transform); }
public void SetVisible(bool visible) { enabled = visible; if (!visible) r.enabled = false; } }
Создаешь пустой объект, вешаешь на него этот скрипт. Внутри создаешь плашку с нужной текстурой и поворачиваешь ее по оси X на 90 градусов.
Сообщение отредактировал Storm54 - Воскресенье, 01 Июня 2014, 13:32 |
|
[9] Saitei [01 Июня 2014, 13:33] |
Цитата Storm54 (  ) transform.Find("Plane").renderer; Можно поподробнее? |
|
[10] allods [01 Июня 2014, 15:10] |
transform.Find("Plane").renderer;
ты находишь child с названием Plane и его renderer и заносишь в r потом вертишь этот r в смысле Plane И проверяешь видит ли камера этот Plane или нет , что бы знать крутить его или нет
Сообщение отредактировал allods - Воскресенье, 01 Июня 2014, 15:12 |
|
[11] Storm54 [01 Июня 2014, 20:39] |
Цитата ты находишь child с названием Plane и его renderer и заносишь в r Да, все правильно, просто я забыл написать, что плашка должна быть с именем Plane. |
|
[12] Daly [03 Июня 2014, 11:59] |
Если я не ошибаюсь, то на этой идеи построена игра (Генерал 4). Можешь скачать и увидеть как там все работает  |
|
[13] Vip_and_Rip [05 Июня 2014, 18:35] |
Всем спасибо, разобрался. Хотя делать игры такого рода на Unity - тот еще садизм...
Цитата Storm54 (  ) Накидал тебе класс билборда. Кстати, скрипт не работает. И стандартную плашку пробовал, и созданную в 3ds - никакой реакции.
Цитата Daly (  ) Если я не ошибаюсь, то на этой идеи построена игра (Генерал 4) Отнюдь. Примеры игр я уже привел - Arena, Daggerfall, Wolfenstein. То есть, с видом от первого лица и спрайтами заместо моделей.
Сообщение отредактировал Vip_and_Rip - Четверг, 05 Июня 2014, 18:35 |
|