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

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

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

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

Ответ
 
Опции темы
Старый 03.01.2013, 21:23   #31
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Скрытие объектов за стенами

Я вообще вот таким пользовался.

Vobj2# - объект который надо скрывать
Cply2# - объект который "видит", например камера

Function ViziblObj2(Vobj2#,Cply2#,VcamRast#,Vrast2#)
;Плавное скрытее объекта, на расстояние или вне зоны камеры.
;EntityAutoFade Vobj2#,VcamRast#,Vrast2#
If EntityDistance(Cply2#,Vobj2#) > Vrast2# Or EntityInView(Vobj2#,Cply2#) = False Then HideEntity Vobj2# : Else ShowEntity Vobj2#

End Function
У меня вопрос. Этот код эффективен? Мне он помогал, но может быть он тормозной слишком?
(Offline)
 
Ответить с цитированием
Старый 03.01.2013, 21:36   #32
Черный крыс
 
Сообщений: n/a
Ответ: Скрытие объектов за стенами

Эффективен, если Vobj2 - является порталом.

В остальных случаях - нет.
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Arton (05.01.2013)
Старый 03.01.2013, 21:38   #33
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Скрытие объектов за стенами

Сообщение от Diablo1909 Посмотреть сообщение
Эффективен, если Vobj2 - является порталом.

В остальных случаях - нет.
Порталом? Не понял? Поясни.

Но ведь разгрузка на полигоны в кадре есть.
Неужели этот код настолько неэффективен?
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 02:12   #34
Wegox
Бывалый
 
Аватар для Wegox
 
Регистрация: 17.12.2011
Сообщений: 862
Написано 443 полезных сообщений
(для 1,133 пользователей)
Ответ: Скрытие объектов за стенами

Сообщение от Arton Посмотреть сообщение
Порталом? Не понял? Поясни.

Но ведь разгрузка на полигоны в кадре есть.
Неужели этот код настолько неэффективен?
А что!? не портал что-ли
Function OccludeEntity(CurrentEntity.Entity,Camera)
; Now check if object is occluded or not...

If CurrentEntity\Occluded=False Then ; If entity already is occluded, then skip this...

For OccludeList.Occluder = Each Occluder
; Skip the occluder if it's out of the viewfrustum
If EntityInView(OccludeList\Mesh,Camera)=False Then Goto SkipThisOccluder
EntityHidden=True
For EdgeList.Edge = Each Edge
If OccludeList\ID = EdgeList\Parent Then
If EdgeList\Visible=True Then
If  ((EdgeList\PlaneNX#*EntityX#(CurrentEntity\Entity)+EdgeList\PlaneNY#*EntityY#(CurrentEntity\Entity)+EdgeList\PlaneNZ#*EntityZ#(CurrentEntity\Entity))-EdgeList\PlaneDist#+EntityList\Radius#)>-CurrentEntity\Radius#  Then
EntityHidden=False
EndIf
EndIf
EndIf
Next

If EntityHidden=True Then
CurrentEntity\Occluded=True
;EntityColor EntityList\Entity,255,0,0
ShowEntity CurrentEntity\Entity

Exit
Else
CurrentEntity\Occluded=False
HideEntity CurrentEntity\Entity

EndIf
.SkipThisOccluder
Next

EndIf
End Function
(Offline)
 
Ответить с цитированием
Старый 05.01.2013, 05:18   #35
Arton
Быдлокодер
 
Аватар для Arton
 
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,019
Написано 2,312 полезных сообщений
(для 5,349 пользователей)
Ответ: Скрытие объектов за стенами

Wegox, твой код чего то не захотел работать, не в цикле, не так. Дебагер ругается "ерор тайп" Разбираться не хочется, да и программист из меня фиговый

P. S. Нда, понаписал тут вопросов, а оказывается на первой странице объяснения есть...

Сообщение от Diablo1909 Посмотреть сообщение
Эффективен, если Vobj2 - является порталом.

В остальных случаях - нет.
А если к примеру куча деревьев, целый лес, 1000 штук, мой код эффективен? Полигоны то разгружает, но вот что насчёт скорости?
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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