Рейтинг

  • Страница 1 из 1
  • 1

Трехмерная спрайт-графика
[1] Vip_and_Rip [31 Мая 2014, 23:42]
Надоело возиться с 3d моделям, и появилась идея создать трехмерную игру, но с полным спрайтовым окружением (включая мобов и оружие) - наподобие того, что было в первых 3d-играх, вроде Doom или TES Arena. Собственно, вопрос - реально-ли такое осуществить на Unity? Если реально, то хотелось бы увидеть хоть одно пособие или описание привязки спрайта к трехмерному миру.
Ежели кто поможет или даст ссылку на нужную литературу\урок, буду благодарен. online2long

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, была такая идея, но показалась слишком уж примитивной. Искал более "изящные" способы решения этой проблемы biggrin
[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д спрайтами wacko
[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).
Можешь скачать и увидеть как там все работает wink
[13] Vip_and_Rip [05 Июня 2014, 18:35]
Всем спасибо, разобрался. Хотя делать игры такого рода на Unity - тот еще садизм...


Цитата Storm54 ()
Накидал тебе класс билборда.

Кстати, скрипт не работает. И стандартную плашку пробовал, и созданную в 3ds - никакой реакции.

Цитата Daly ()
Если я не ошибаюсь, то на этой идеи построена игра (Генерал 4)

Отнюдь. Примеры игр я уже привел - Arena, Daggerfall, Wolfenstein. То есть, с видом от первого лица и спрайтами заместо моделей.


Сообщение отредактировал Vip_and_Rip - Четверг, 05 Июня 2014, 18:35

  • Страница 1 из 1
  • 1