Создаю игру в стиле Diablo 3
|
|
Nierd | Дата: Пятница, 27 Июня 2014, 22:36 | Сообщение # 1 |
был не раз
Сейчас нет на сайте
| Загорелся сделать игру в стиле Diablo 3. Не могу сообразить как сделать камеру как в Diablo 3,а именно:что бы объект исчезал(или становился прозрачным) когда камера проходит сквозь нее. Подскажите пожалуйста.
|
|
| |
CoronaSdkMarmeladeQuick | Дата: Пятница, 27 Июня 2014, 23:48 | Сообщение # 2 |
почетный гость
Сейчас нет на сайте
| сенсор/триггер в виде круга или конуса перемещается за игроком, объекты находящиеся в столкновении со сенсором изменяют альфа канал и исчезают, как только выходят из столкновения начинают появляться.
Сообщение отредактировал CoronaSdkMarmeladeQuick - Пятница, 27 Июня 2014, 23:52 |
|
| |
Nierd | Дата: Суббота, 28 Июня 2014, 00:23 | Сообщение # 3 |
был не раз
Сейчас нет на сайте
| Я еще в процессе обучения.Можно более подробно описать?) С меня пиво) (А то у меня не получилось)
Сообщение отредактировал Nierd - Суббота, 28 Июня 2014, 00:59 |
|
| |
TLT | Дата: Суббота, 28 Июня 2014, 03:11 | Сообщение # 4 |
Сейчас нет на сайте
| Nierd, На чём делаешь?
Дао, выраженное словами, не есть истинное Дао.
|
|
| |
Nierd | Дата: Суббота, 28 Июня 2014, 03:19 | Сообщение # 5 |
был не раз
Сейчас нет на сайте
| 3d unity.
|
|
| |
goldsphere | Дата: Суббота, 28 Июня 2014, 04:06 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| Как я понял, из точки положения камеры можно пустить луч к персонажу, и если он столкнётся с объектом, то изменить прозрачность(альфа канал) объекту
FinderX - Android Аркада
|
|
| |
CoronaSdkMarmeladeQuick | Дата: Суббота, 28 Июня 2014, 09:50 | Сообщение # 7 |
почетный гость
Сейчас нет на сайте
| Цитата Nierd ( ) Я еще в процессе обучения.Можно более подробно описать?) если игра 2d то создаешь невидимый круг, если 3d то сферу , прикрепляешь к персонажу или к камере. Он и будет сенсором который будет определять столкновения. Во многих движках есть уже специальные объекты которые определяют столкновения.
Сообщение отредактировал CoronaSdkMarmeladeQuick - Суббота, 28 Июня 2014, 09:52 |
|
| |
wcpt | Дата: Суббота, 28 Июня 2014, 11:08 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| я молю, тебя, автор, только НЕ в стиле третьей части. Пример стиля бери с первой, либо со второй части. А пример геймплея - с первой, но с элементами остальных двух. И что-то вопрос я не разобрал, перефразируй, пожалуйста.
Сообщение отредактировал wcpt - Суббота, 28 Июня 2014, 11:13 |
|
| |
Folleah | Дата: Суббота, 28 Июня 2014, 11:25 | Сообщение # 9 |
Архитектор
Сейчас нет на сайте
| Лучше бы вторую повторил. Вот она была годной.
|
|
| |
wcpt | Дата: Суббота, 28 Июня 2014, 11:29 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| а повторять вовсе не надо, вторую - так точно. Она - лучшая в серии, да, но на мой взгляд, правильное направление изначально было задано в первой части. Затем все пошло немного по-другому - и о половине нереализованных вещей забыли ко времени выхода второй части.
Сообщение отредактировал wcpt - Суббота, 28 Июня 2014, 12:06 |
|
| |
Nierd | Дата: Суббота, 28 Июня 2014, 13:21 | Сообщение # 11 |
был не раз
Сейчас нет на сайте
| Спасибо за советы! Буду разбираться)
|
|
| |
lentinant | Дата: Суббота, 28 Июня 2014, 14:14 | Сообщение # 12 |
ленивый программист
Сейчас нет на сайте
| Необязательно делать прозрачным окружение. Можно подсвечивать объекты, которые что-то заграждает. Для этого можно сделать кастомный шейдер (впрочем, думаю, для прозрачности тоже это понадобится).
Когда-то тут будут ссылки на крутые проекты. Или нет.
|
|
| |
Saitei | Дата: Суббота, 28 Июня 2014, 18:45 | Сообщение # 13 |
старожил
Сейчас нет на сайте
| Nierd, в третью не играл, но могу предположить что это делается так: камера и всё, что мы видим, в случае 2д - это прямоугольник. У этого прямоугольника есть положение относительно всей карты и ширина+высота. Что значит "объект начал уходить за границы камеры"? Это значит, что произошла колизия с одной из 4-ех линий прямоугольника(будем считать что прямоугольник не закрашен). Как только произошла колизия надо найти разность: (вся площадь объекта - площадь за границой камеры). Потом альфа-канал(непрозрачность) регулируем так: 255*(полученная площадь/вся площадь), где 255 - макс. значение альфа-канала.
(полученная площадь/вся площадь) - это сколько процентов (из 100%) площади объекта мы видим
Добавлено (28.06.2014, 18:45) --------------------------------------------- площадь прямоугольника, конечно же: a*b. Но, думаю, Вы итак это знаете
Сообщение отредактировал Saitei - Суббота, 28 Июня 2014, 18:55 |
|
| |