Как сделать чтобы спрайт смотрел всегда на камеру?

Работа с 2D и 3D графикой, видео, звуком.

Модератор: Mikle

kanut
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 24.03.2013 (Вс) 12:10

Как сделать чтобы спрайт смотрел всегда на камеру?

Сообщение kanut » 06.06.2013 (Чт) 15:07

Использую MDX и VB 2008. Не могу добиться отрисовки спрайта с включенным флагом SpriteFlags.Billboard. Почему-то спрайт у меня отображается только с установленным флагом SpriteFlags.ObjectSpace и некоторыми другими дополняющими его флагами, например SpriteFlags.ObjectSpace Or SpriteFlags.AlphaBlend работает, спрайт отображается. При SpriteFlags.ObjectSpace Or SpriteFlags.Billboard и отдельно SpriteFlags.Billboard спрайт вообще не отображается. Мне нужно добиться поворота изображения вместе с движениями камеры так, чтобы оно было всегда направлено на камеру. SpriteFlags.Billboard, судя по описанию, то что нужно. Поиск решения в интернете результата не дал.

DODge
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 126
Зарегистрирован: 30.07.2006 (Вс) 0:25
Откуда: Нижний Новгород

Re: Как сделать чтобы спрайт смотрел всегда на камеру?

Сообщение DODge » 06.06.2013 (Чт) 19:04

Каким из Draw's методов пользуешься? Используешь ли SetWorldViewLH для установки матриц спрайта?
CPU = Intel Core i5 6500 @ 3.2 GHz
VGA = GeForce GTX 650Ti 2Gb
RAM = 8 ГБ DDR4 @ 2133 MHz
OS = Windows 10 Pro 64-bit
IDE = Microsoft Visual Studio Community 2017 (Visual Basic.NET)
GAPI = SharpDX 9 + 12

kanut
Новичок
Новичок
 
Сообщения: 41
Зарегистрирован: 24.03.2013 (Вс) 12:10

Re: Как сделать чтобы спрайт смотрел всегда на камеру?

Сообщение kanut » 06.06.2013 (Чт) 20:42

Большое спасибо, все заработало! :idea:
Перед
Код: Выделить всё
Sprite.Begin(SpriteFlags.Billboard)
вызвал
Код: Выделить всё
Sprite.SetWorldViewLH(Device.Transform.World, Device.Transform.View)
. Сам бы никогда не подумал что надо делать так.


Вернуться в Мультимедиа

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 3

    TopList