Куча вопросов по 3d rad
| |
Dantark | Дата: Четверг, 13 Августа 2009, 16:57 | Сообщение # 1 |
James Alan Hetfield
Сейчас нет на сайте
| Я нуб. 1. Как сделать спидометр? 2.Как сделать дождь? 3.Как сделать грязь? Вопросы будут пополняться)
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 17:31 | Сообщение # 2 |
заслуженный участник
Сейчас нет на сайте
| В 3d rad неработал, но думаю общий концепт объяснить смогу. 1. Как сделать спидометр? Спрайтовой вставкой, если спидометр круговой, то 1 спрайт спидометра с альфа каналом для прозрачности, и спрайт стрелки. В зависимости от параметра скорости изменяем угол ротации стрелки относительно одной точки начальной фиксации, допустим: if (speed>50 && speed<60) { поворачиваем спрайт стрелки} это не есть хорошо такой код, проще сделать функцию, и по таймеру вызывать ее, а по формуле расчета, на основе скорости вычислять угол и поворачивать. Для того чтобы правильно нарисовать спрайт необходимо совершить несколько манипуляций (здесь, способ без привязки к определённому 3D API): загрузить и создать текстуру нашего спрайта; тест Z-буфера включить, запись в Z-буфер выключить, включить аддитивное смешивание цветов (для OpenGL необходимо вызвать функцию glBlendFunc() со значениями её параметров GL_SRC_ALPHA и GL_ONE); извлечь из матрицы видового преобразования векторы направления вверх (назовём его Up) и вправо (назовём его Right). Напомню, что для обычной системы координатных осей OpenGL вправо – это три первых элемента первой строки матрицы, а вверх – три первых элемента второй строки; определить, не является ли Z-координата пикселя (по-другому: координата глубины пикселя) центра спрайта больше, чем координата того пикселя экрана (её можно получить из Z-буфера), в который и спроецировалась (не рисуем, а именно проецируем её!) координата центра спрайта. Если это так – продолжаем рисование спрайта, если не так – рисование прекращаем; остаётся вычислить координаты четырёх вершин нашего спрайта (не забывайте, что все спрайты для частиц – квадраты) для того чтобы, в конце концов, нарисовать его. Вот как они вычисляются: 1: -Right – Up * Size; 2: Right – Up * Size; 3: Right + Up * Size; 4: -Right + Up * Size; Ничего сложного – просто поочерёдно меняем знак перед вычисленными ранее векторами Right и Up. Size – просто скаляр, указывающий на размер спрайта. По этим четырём вершинам мы и рисуем текстурированный квадрат. 2.Как сделать дождь? Необходимо использовать систему частиц, думаю стоит привязать ее к системе гравитации.Для начала не стоит использовать методы рендеринга, т.к. это уменьшит гибкость нашей системы, так как область применения будет ограничена одним АПИ. Я считаю, что достаточно удобно хранить лишь 2 параметра частицы которые можно использовать позже рендером для отрисовки: это позиция (x,y,z) и размер частицы (Size). В вашей реализации Вы можете интерпретировать эти значения как хотите. Можете рисовать квадратный билбоард с размерами Size x Size, или треугольник со сторонами Size, или даже объемный осколок. Это ваше право. Теперь если в Движке есть система частиц, то создавайте ее непосредственно перед камерой и по законам физики, выбирайте с массива крупные элементы и притягивайте их вниз, после чего высвобождайте память, если скрипт гравитации будет задействован то только высвобождайте память, а создавая более мелкие частицы вводите искажение на притяжение и туман будет парить возле земли. PS: если есть поддержка HLSL(High Level Shading Language), то можно замутить и через них. 3.Как сделать грязь? Либо анимировать модель и при въезде в зоны вызывать анимацию, а грязь накладывать текстурами. Либо снова система частиц, и через нее же создавать пыль.
Сообщение отредактировал Akyltist - Четверг, 13 Августа 2009, 17:34 |
|
| |
Vinchensoo | Дата: Четверг, 13 Августа 2009, 17:43 | Сообщение # 3 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| тему переименовал в соответствии с правилами. Dantark, делай название темы более информативным
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 19:39 | Сообщение # 4 |
заслуженный участник
Сейчас нет на сайте
| И так, скачал двиг, вроде легкий в изучении, решил проблему со спидометром, сделал вывод через стандартный шрифт движка И так, как сделать спидак в 3Драдуге: 1. Загружаем любую демку, я взял Кар Симулятор. 2. Добавляем объект Value Print 3. Настраиваем Параметры: (нузабудьте галочку напротив Car Player, иначе не сможете настроить RelationShips) 4.Наслаждаемся видом:
|
|
| |
Vinchensoo | Дата: Четверг, 13 Августа 2009, 20:06 | Сообщение # 5 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Akyltist, создай в разделе игровые движки отдельную тему, интересный мануальчик вышел
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 20:08 | Сообщение # 6 |
заслуженный участник
Сейчас нет на сайте
| щас с частицами разберусь выложу там полный а тут ссылку на него оставлю, так пойдет?
|
|
| |
Vinchensoo | Дата: Четверг, 13 Августа 2009, 20:32 | Сообщение # 7 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Akyltist, да я думаю
|
|
| |
Dantark | Дата: Четверг, 13 Августа 2009, 21:02 | Сообщение # 8 |
James Alan Hetfield
Сейчас нет на сайте
| Пасиб огромное ток просьба сделай мануал не вордовским файлом у мня офис не стоит(
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 21:05 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| Quote не вордовским файлом у мня офис не стоит( у меня тоже))) вот не знаю полный мануал накатать займет дня три, но зато избавит от проблем, или накатать просто пару примеров, например щас заставил машину гореть. Щас решу что делать, так что если что в воскресенье выложу большой полный мануал.
|
|
| |
Dantark | Дата: Четверг, 13 Августа 2009, 21:10 | Сообщение # 10 |
James Alan Hetfield
Сейчас нет на сайте
| Ага давай давай. Двиг простой но по нему недостаточно мануалов так что не развернуться. Поэтому многое мне остается непонятным. Кстати там то что ты делаешь скинешь мне семплы? Затолкай их в архив и кинь на рапид плз
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Vinchensoo | Дата: Четверг, 13 Августа 2009, 21:14 | Сообщение # 11 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Akyltist, если будешь большой файл лить, то лучше лить на все возможные файлообменники(если позволяет интернет)
|
|
| |
Dantark | Дата: Четверг, 13 Августа 2009, 21:16 | Сообщение # 12 |
James Alan Hetfield
Сейчас нет на сайте
| Vinchensoo, а когда ты модером успел стать?
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 21:21 | Сообщение # 13 |
заслуженный участник
Сейчас нет на сайте
| Dantark там есть демка спидометра, Графического, в стандартном пакете, прям так и называется Спидометр))))
|
|
| |
Dantark | Дата: Четверг, 13 Августа 2009, 21:23 | Сообщение # 14 |
James Alan Hetfield
Сейчас нет на сайте
| Да лан, графического? Позырим ща..... ну впринципе у мня многа вопросов эт ток три - так что кидай семплы если что)
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Vinchensoo | Дата: Четверг, 13 Августа 2009, 21:26 | Сообщение # 15 |
Злобный социопат с комплексом Бога
Сейчас нет на сайте
| Dantark, вчера только:) Ну эт не по теме, если вопросы личного характера, пиши лс
|
|
| |
Akyltist | Дата: Четверг, 13 Августа 2009, 21:28 | Сообщение # 16 |
заслуженный участник
Сейчас нет на сайте
| Quote Да лан, графического? Позырим ща..... ну впринципе у мня многа вопросов эт ток три - так что кидай семплы если что) Кмдай сюда прям списками.
|
|
| |
Dantark | Дата: Четверг, 13 Августа 2009, 21:32 | Сообщение # 17 |
James Alan Hetfield
Сейчас нет на сайте
| Чочо радуга порадовала? кинь свою аську у мня вопросы появляются в процессе я его скачал несколько дней назад... я конечно буду постить их сюда но иногда мне срочно ответ нужен) Добавлено (13.08.2009, 21:32) --------------------------------------------- Vinchensoo, ойойой да ты изменился))))))))
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| | |
Dantark | Дата: Пятница, 14 Августа 2009, 00:17 | Сообщение # 19 |
James Alan Hetfield
Сейчас нет на сайте
| Vinchensoo, Первый Добавлено (14.08.2009, 00:17) --------------------------------------------- Скажи в теме что не только можно автосимуляторы создавать! Он под много жанров
Born of black wind, fire and steel Black wind fire and steel Born to teach them all to hell Black wind, fire and steel
|
|
| |
Akyltist | Дата: Пятница, 14 Августа 2009, 01:29 | Сообщение # 20 |
заслуженный участник
Сейчас нет на сайте
| Ок обязательно скажу, по идее это разобранный сан андреас) по функцианальности проще всего создавать игры такого жанра) Учитывая что АИ там уже есть)
|
|
| |
|