Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 3D-программирование

3D-программирование Вопросы, касающиеся программирования 3D мира

Ответ
 
Опции темы
Старый 19.03.2007, 20:38   #1
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Вопрос Отражения в воде Что есчё за SetCubeFace?

Вот решил создать отражаюсчую воду у себя в игре. В одном хорошем месте нашёл код:

Function RenderWater(WaterMapTexture,cam,WaterCamera)

CameraProjMode cam,0
CameraProjMode WaterCamera,1

PositionEntity WaterCamera,EntityX(cam),1500,EntityZ(cam)

;Left view 
SetCubeFace WaterMapTexture,0
RotateEntity WaterCamera,0,90,0
RenderWorld
CopyRect 0,0,WaterMapSize,WaterMapSize,0,0,BackBuffer(),TextureBuffer(WaterMapTexture)
;forward view
SetCubeFace WaterMapTexture,1
RotateEntity WaterCamera,0,0,0
RenderWorld
CopyRect 0,0,WaterMapSize,WaterMapSize,0,0,BackBuffer(),TextureBuffer(WaterMapTexture)
;right view 
SetCubeFace WaterMapTexture,2
RotateEntity WaterCamera,0,-90,0
RenderWorld
CopyRect 0,0,WaterMapSize,WaterMapSize,0,0,BackBuffer(),TextureBuffer(WaterMapTexture)
;backward view
SetCubeFace WaterMapTexture,3
RotateEntity WaterCamera,0,180,0
RenderWorld
CopyRect 0,0,WaterMapSize,WaterMapSize,0,0,BackBuffer(),TextureBuffer(WaterMapTexture)
;up view
SetCubeFace WaterMapTexture,4
RotateEntity WaterCamera,-90,0,0
RenderWorld
CopyRect 0,0,WaterMapSize,WaterMapSize,0,0,BackBuffer(),TextureBuffer(WaterMapTexture)
RotateEntity WaterCamera,0,0,0

CameraProjMode WaterCamera,0
CameraProjMode cam,1
End Function
Смысл тут такой: каждый цикл рендерится шесть сторон куба: левая, правая, верхняя, нижняя, задняя, передняя. Потом это дело проецируется на воду в результате чего возникает отражение. Но вот фигня: отражение работает нормально токо в том случае, если: камера находится в определённой точке в пространстве и размер текстуры воды равен разрешению экрана (причем только квадратный). Если это соблюдается, то всё классно:



Но стоит мне поездить камерой как вылезают глюки:



Причём если двигать не камеру, а террайн, то глюки не лазут.

Вопрос: объясните подробно если кто знает, что это за таинственный куб, с которого всё проекцируется и как он устроен. Как заставить его перемещаться вместе с камерой (я так понял, глюки лезут из-за разницы их положений) и как растягивать текстуру? Поясню последнее. При рендере просто вырезается квадрат размера текстуры воды и нашлёпывается SetCubeFace'ом, а обрезанная часть теряется. Вопрос: как сжать (неважно, пропорционально или нет, но надо чтоб всё уместилось) текстуру до нужных размеров? И что это за таинственный куб? Жду ответов.

Чуть не забыл, код, которым создаётся вода:

WaterMapTexture=CreateTexture(watermapsize,watermapsize,128+256+48)
water=LoadTerrain("Testlevel\Matvey1w.bmp")
EntityTexture water,WaterMapTexture,0,0
EntityAlpha water,.9
Заранее спасибо если кто знает
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 21:10   #2
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Как растягивать текстуру
Юзай ScaleTexture
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 22:08   #3
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Progger_Leo, спасибо. А как быть с кубом отражений? Кто-нить знает, что ето такое?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 22:22   #4
ЛысыЙ_Чук-Иванчук
Дэвелопер
 
Регистрация: 19.03.2006
Сообщений: 1,241
Написано 10 полезных сообщений
(для 17 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Ну ето простой способ сделать отражение(авто например)
(Offline)
 
Ответить с цитированием
Старый 19.03.2007, 22:35   #5
jimon
 
Сообщений: n/a
Re: Отражения в воде Что есчё за SetCubeFace?

думаю вот ета картинка http://en.wikipedia.org/wiki/Image:C...on_example.jpg немного прояснит процес
 
Ответить с цитированием
Старый 20.03.2007, 03:20   #6
НУБ
Бывалый
 
Регистрация: 22.09.2005
Сообщений: 634
Написано 36 полезных сообщений
(для 102 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

А потому, что нужно не копировать чужие исходники, а сесть и самому во всём разобраться

Нет смысла делать динамическое отражение на воду кубемапой
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 03:23   #7
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

да, меня тоже этот вопрос беспокоил, чо они в стандартных примера сделали на воду отражение кубемапой?
SetCubeFace - задает грань для текстуры. чти Хелп.
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 03:54   #8
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Прошу прощения если не в тему. А не проще использовать AShadow?
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 10:26   #9
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Радость Re: Отражения в воде Что есчё за SetCubeFace?

jimon, спасибо за картинку, теперь стало намного понятнее. Но как заставить этот куб двигаться вместе с камерой? Им вообще можно как-то управлять?
НУБ, вот я и пытаюсь разобраться.
JohnK, Ashadow - крайний вариант, я хотел сделать всё сам, даже если это будет смотреться хуже чем Ашэдоу. Зато своё будет
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 15:00   #10
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Могу сказать только одно: Не стоит изобретать велосипед.
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 15:02   #11
Vovan_X
Оператор ЭВМ
 
Регистрация: 14.02.2007
Сообщений: 46
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Код:
WaterMapTexture=CreateTexture(watermapsize,waterma psize,128+256+4water=LoadTerrain("Testlevel\Matv ey1w.bmp")EntityTexture water,WaterMapTexture,0,0EntityAlpha water,.9
Попробуй ещё так Voda=Createmiror()
Будет круто
(Offline)
 
Ответить с цитированием
Старый 20.03.2007, 16:07   #12
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Но всё-таки можно как-нить этим кубом управлять или нет?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 22.03.2007, 16:31   #13
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

Уря! Исправил глюки с водой. Кто-нить знает как сделать колыхания волн на воде? (Так чтоб влияло на отражение)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Старый 22.03.2007, 16:42   #14
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

ABTOMAT, вот пример, попробуй под себя подстроить:
Graphics3D 640,480
SetBuffer BackBuffer()
camera=CreateCamera()
light=CreateLight()
RotateEntity  light,90,0,0
cube=CreateCube()
PositionEntity cube,0,0,5
; Load anim texture
anim_tex=LoadAnimTexture(  "wateranim.jpg",1,124,124,0,23 )
While  Not KeyDown( 1 )
  frame=MilliSecs()/30 Mod  23
  EntityTexture  cube,anim_tex,frame

  pitch#=0
   yaw#=0
  roll#=0

   If KeyDown( 208 )=True  Then pitch#=-1
  If  KeyDown( 200 )=True Then pitch#=1
  If KeyDown( 203 )=True  Then yaw#=-1
  If  KeyDown( 205 )=True Then yaw#=1
  If KeyDown( 45 )=True  Then roll#=-1
  If  KeyDown( 44 )=True Then  roll#=1

TurnEntity  cube,pitch#,yaw#,roll#

RenderWorld
Flip

Wend

End
Картинку скинуть?
(Offline)
 
Ответить с цитированием
Старый 22.03.2007, 21:43   #15
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Re: Отражения в воде Что есчё за SetCubeFace?

JohnK, это будет влиять на отражения? Картинку всё равно дай (интересно чё там, может неплохо)
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

* — в стадии разработки
** — в стадии проектирования
Для проектов в стадии проектирования приведены кодовые имена

(Offline)
 
Ответить с цитированием
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
след на воде IGR 3D-программирование 36 25.09.2007 13:00
Отражения под аватарами NightElf_Hunter Наш форум 6 09.05.2007 19:42
Как сделать настоящие отражения ? DRAG 3D-программирование 22 09.12.2006 01:58


Часовой пояс GMT +4, время: 16:44.


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com