![]() |
Ответ: Вопрос-Ответ (для новичков)
В GTA2 самые простые тени у спрайтов вот пример.
![]() И у машины видно тень. Конечно там никакого солнце нету. Проста имитация что свет из верхнего левого угла. Так что тени всегда на одной стороне. Сама тень по форме спрайта. Как такое на Blitz или Xors3D сделать? На OpenGL есть пример там легко. Там берут ту же картинку и как та маскируют и рисуют с маленким оффсетом |
Ответ: Вопрос-Ответ (для новичков)
Ты картинки как рисуешь? Простыми 2Д-средствами типа DrawImage и иже с ним? Тогда готовьсо к гемору =)
Если спрайтами в 3Д, то попроще, но, по ходу, придётся текстуры для теней генерировать отдельно, хотя бы из основной текстуры объекта ;( Сделать тень отдельным спрайтом с оффсетом и чуть пониже спрайта объекта и рендерить так. Тут главное придумать алгоритм, который из цветной текстуры спрайта сделает ч/б текстуру, где чёрное - непрозрачные области, белое - прозрачные. Это даже не сложно сделать чтоб работало, сложно чтоб ощутимо много времени при загрузке не отнимало. И анимировать теневой придётся отдельно. Тогда Multiply blend спасёт отца русской демократии. З.Ы. Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Маленкий "plain" и на его кладу текстуру.
Мне же надо "collision detection" в 3D. Но пока типа: Global cop = LoadTexture ("c:\temp\cop.bmp") Global copc=CreateCube () ScaleEntity copc,1.5,0.01,3.0 А если для каждого спрйта просто черную копию сделать и рисовать? Потом копировать для каждого человека и машины? |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Но только неправильно ты, дядя Фёдор, бутерброд ешь. Во-первых, кубик здесь не рулит. У куба шесть граней, а нам нужна только одна - верхняя. Так что куб в топку. Надо самому построить меш! С преферансом и куртизанками! Что это даст? Вместо 24 полигонов получим 4, вместо 2 ентити - один. Это улучшит производительность. Вот тебе простой пример создания меша: Код:
Graphics3D 800,600,32,2 Но в этом же сурфейсе нужно создать ещё такие же 2 полигона, вершины которых ты покрасишь в чёрный цвет, то есть это и будет тень. Добавишь этим вершинам альфу - тень будет полупрозрачна. Соответствующие команды найдёшь в справке. Вертеть только придётся по-особенному, т.к. у объекта и тени разные центры. Тут уж вспоминай тригонометрию и верти их. (Гугли Поворот точки на плоскости) Если разберёшься с этим, то будешь круче, чем яйца :super: Конечно, можно создать и отдельный ентити под тень, тогда вообще проблем не будет с поворотом, но настоящие джедаи так не делают. >>:( |
Ответ: Вопрос-Ответ (для новичков)
ABTOMAT. Спасибо еще рас. Вот посмотри видео. Нормально так??
Твой пост дал мне кучу мотиваций для этого. А то я бросил бы. Три варианта на видео. Последний наверное самый нормальный. http://www.youtube.com/watch?v=69vruqekTho Прозрачности бы надо немного. Попробую. А ты еще про вертение говорил. Если это сделаю тогда если я правильно понял, тень будет крутится ну скажем как в GTA2 (Куда не вертись тень всегда в одно напрявление.)?? |
Ответ: Вопрос-Ответ (для новичков)
В бмаксе есть специальный бленд эффект от которого как раз тот что нужно. В блитце же обычном (2D режим), я делал тени методом содания копии картинки в памяти и проходом её попиксельно с перекрашиванием нефонового цвета в черный или серый какой нужен вобщем. Можно сделать тень как бы прозрачной перекрашивая в шахманном порядке нужным уветом и фоновым... полученая теневая сетка будет визуально походить на полупрозрачную тень.
|
Ответ: Вопрос-Ответ (для новичков)
Ну нормально. На BlitzMax надо всеравно переходит, там много всего нужнего для этой игры (например списки, OpenGL, streams,...). А движок MiniB3D или Xors3D.
Надо переходить пока кода мало а то потом много переписывать. |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
Нужно вертеть вершины тени отдельно. Ну или выделить для тени отдельный объект. На видео да, мне третий вариант больше понравился. |
Ответ: Вопрос-Ответ (для новичков)
Можно ли сделать, чтобы спрайт отображался поверх всех объектов,
а то когда происходит анимация спрайта взрыв то сама картинка взрыва наполовину прячется за стеной а вторую половину видно, а нужно чтобы весь спрайт взрыва было видно |
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
Цитата:
|
Ответ: Вопрос-Ответ (для новичков)
EntityOrder
|
Ответ: Вопрос-Ответ (для новичков)
Нашол кость спины:
Код:
back_child = FindChild(player,"Bone02") Но команды RotateEntity и TurnEntity почему то не крутят ету кость. Возможно ли вобще прокрутить ету кость,чтобы и сам меш игрока прокручивался вслед за костью спины? и как? |
Ответ: Вопрос-Ответ (для новичков)
Возможно сделать прикол как пейнтболе, типо стрелять шариком и при попадании оставляет после себя пятно???
И чем лучше пятно делать, текстурой или кодом? |
Часовой пояс GMT +4, время: 07:02. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot