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

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

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

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

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

Воть скрин для раздумий:

Здеся мы видим 2 телепорта - 1 находится на освещённой области карты и потому освещён, а другойнаходится в тени и потому неосвещён. Вопрос: как определять, объект находится в тени или на освещённой лайтмэпом территории?
__________________
Мои проекты:
Анальное Рабство
Зелёный Слоник
Дмитрий Маслов*
Различие**
Клюква**

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

(Offline)
 
Ответить с цитированием
Старый 26.05.2007, 17:31   #2
jimon
 
Сообщений: n/a
Re: Как определить, освещён энтити или нет?

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

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

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

(Offline)
 
Ответить с цитированием
Старый 26.05.2007, 20:45   #4
jimon
 
Сообщений: n/a
Re: Как определить, освещён энтити или нет?

давай за 70$ напишу тебе код ...
(ето эгоизм с моей стороны ... да да ...)

в общем imho алгоритм таков
ищем ближайшие вертексы (или вертекс)
и смотрим на lightmap текстуру которая ложится на етот вертекс
там проводим не большой анализ ... типа вертекс вообще не освещен, или освещен не полностью, или освещен полностью
изходя из етого смотрим на остальные вертексы и приходим к одному из трех выводов ...
1) обьект не освещен
2) обьект полуосвещен
3) обьект освещен

ps. я блиц уже давным давно не юзаю ... потому о реализации пунктов ко мне можно не обращатся
 
Ответить с цитированием
Старый 27.05.2007, 03:30   #5
Platon
Знающий
 
Регистрация: 04.08.2006
Адрес: Россия
Сообщений: 297
Написано 39 полезных сообщений
(для 70 пользователей)
Re: Как определить, освещён энтити или нет?

Если лайтмап и телепорты статичны, то ты заранее должен знать какой из них освещен, а какой нет.
Если же телепорты динамичные, то можно просто от источника освещения или с его позиции "пикать" (ты же когда создавал лайтмап, ставил лампочку?) до телепорта и если возвращает хендл меша телепорта, значит освещен.
Пикать можно с помощью LinePick или использовать EntityVisible
предварительно поставив карту и телепорты на проверку EntityPickMode()
ЗЫ
Последний параметр у EntityPickMode не забудь
(Offline)
 
Ответить с цитированием
Старый 27.05.2007, 13:03   #6
ABTOMAT
Ференька
 
Аватар для ABTOMAT
 
Регистрация: 26.01.2007
Адрес: улица Пушкина дом Колотушкина
Сообщений: 10,741
Написано 5,461 полезных сообщений
(для 15,675 пользователей)
Во!! Меня осенила мысль!! Я кажется придумал как это сделать - у меня ж у террайна пространственные координаты соответствуют текстурным - это упростит задачу. jimon, спасибо шо навёл на мысль.

Cyan, не-е-е, я ж сам занимался мапперством в Team Fortress: в данном случае там нет лампочки, а свет проецируется с неба. Т.е. там точно не Visibl'ом и не Pick'ом делают. У меня хоть и есть лампочка, но она не соответствует лайтмапе, ещё для этого нужно будет деревьям делать PickMode'ы, это всё увеличивает тормоза и геморрой. + если у меня буит смена дня и ночи, то мне нужно поменять освещённость объектов вместе с лайтмапой...

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

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

(Offline)
 
Ответить с цитированием
Старый 27.05.2007, 13:58   #7
Horror
Бывалый
 
Регистрация: 09.09.2006
Сообщений: 656
Написано 54 полезных сообщений
(для 110 пользователей)
Re: Как определить, освещён энтити или нет?

Есть идея ты же лаит мапу делал в максе , она исходила от лампочики так?
ну вот на месте лампочи создай думми в блитце найди его финдчайлдом

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

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

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

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

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

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

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

(Offline)
 
Ответить с цитированием
Старый 16.12.2007, 14:51   #11
FrankH
Разработчик
 
Регистрация: 09.12.2007
Сообщений: 376
Написано 83 полезных сообщений
(для 122 пользователей)
Re: Как определить, освещён энтити или нет?

Я когда-то писал просчет лайтмапы для левела, помоему тебе нужен тот же алгоритм, хотя может проще и по лайтмапе:
получаем dx,dy,dz - вектор освещения(разница координат источникасвета и мишени)
max_lvl_height - предел высоты уровня(допускаем, что солнце не опустится ниже уровня)
d=dy/max_lvl_height ;получаем отношение высот
dx=dx/d
;пропорционально уменьшаем отрезок проверки
dy=dy/d
;для экономии производительности
dz=dz/d
for all.Unit=Each Unit
if LinePick (entityx(all\object),entityy(all\object),entityz(a ll\object),dx,dy,dz)=my_terrain then
all\light=1
else
all\light=0
endif
next

для движущегося юнита нужно просчитать переменные заранее, проверять затененность раз в N циклов, и дописать просчет плавного изменения тени.
это в теории.. может где ошибся
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите определить музыку в ролике ABTOMAT Болтовня 1 30.11.2008 19:06
Помогите определить музыку по фрагменту. ABTOMAT Болтовня 2 16.02.2008 23:43
Как определить, какова высота меша? ABTOMAT 3D-программирование 6 30.11.2007 20:54
как определить открытые фомы Sleepy bear Blitz3D 4 27.10.2007 22:32
Как определить угол если известно ХУ NullX 2D-программирование 3 30.08.2006 12:30


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


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