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

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

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

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

Ответ
 
Опции темы
Старый 10.11.2007, 15:04   #1
Черный крыс
 
Сообщений: n/a
Декали : проекция текстуры на полигон (?)

У меня вопрос по проекции текстуры.....

У меня есть полигон, на который при нажатии мыши надо положить декаль.
пишу следующее:

TFormPoint(VertexX(surf,vc),VertexY(surf,vc),VertexZ(surf,vc),mesh,cam)
u#=(8+(TFormedX()))/256
v#=(8+(TFormedY()))/256
VertexTexCoords(surf,vc,u,v,0,1)
Но возникает проблемма....если выстрельнуть под острым углом к стене, то декаль растянеца по V или же U координате, в зависимости если стрельба идет сбоку или вверх\вниз. Как от этого избавица? Мне надо чтоб декаль не растягивалась если стрелять под острым углом......

ЗЫ Если можно то еще обьясните пожалуйста смысл функции TFormPoint() - а то читал хэлп, но там она описано весьма скудно.....

Заранее спасибо!
 
Ответить с цитированием
Старый 10.11.2007, 15:57   #2
H@NON
Дэвелопер
 
Регистрация: 17.01.2007
Сообщений: 1,552
Написано 351 полезных сообщений
(для 774 пользователей)
Re: Декали : проекция текстуры на полигон (?)

Возможно здесь нужно находить нормаль к пикнатому полигону, и уже исходя из этого натягивать тексу на него...
ЗЫ Если можно то еще обьясните пожалуйста смысл функции TFormPoint() - а то читал хэлп, но там она описано весьма скудно.....
Ага, потдерживаю.
(Offline)
 
Ответить с цитированием
Старый 10.11.2007, 16:50   #3
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Декали : проекция текстуры на полигон (?)

Ну так искажение текстуры то происходит из-за того что функця TFormPoint, в твоем случае, трансформирует точку в зависимости от положения и поворота камеры, вот и растягивается текстура.
(Offline)
 
Ответить с цитированием
Старый 10.11.2007, 20:06   #4
Igorr
Нуждающийся
 
Регистрация: 17.05.2006
Сообщений: 72
Написано 2 полезных сообщений
(для 4 пользователей)
Re: Декали : проекция текстуры на полигон (?)

Функция TFormPoint переводит координаты точки (x,y,z) из координатной системы одного энтити в координатную систему другого энтити. Например:
 
Graphics3D 1024,768,32,2
SetBuffer BackBuffer()
Pivot=CreatePivot()
RotateEntity Pivot,0,180,0
TFormPoint 0,0,1,Pivot,0
Print "global Z coordinates of point(0,0,1):"+TFormedZ()
WaitKey()
Пивот повёрнут на 180 градусов - т.е. ось z его координатной системы смотрит обратно. Функция TFormPoint в примере переводит точку 0,0,1 из координатной системы Пивота в глобальную, но т.к. ось z повёрнута обратно то координата Z этой точки в глобальной координатной системе отрицательна.
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как наложить текстуру на полигон BlackDragon 3D-программирование 19 18.11.2014 16:05
текстуры Samarik 3D-программирование 12 13.10.2008 09:42
Текстуры neoleg Болтовня 3 01.08.2007 01:13
Делали LEVEL EDITOR? Stalnoy_Gvozd' 3D-программирование 22 27.11.2006 18:04
Декали (дыры от пуль, кровь...) New 3D-программирование 16 24.08.2006 13:04


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


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