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

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

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

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

Ответ
 
Опции темы
Старый 28.07.2010, 18:09   #1
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
EntityVisible

Граждане!Клепаю свой проект, и там нужно проверять на видимость объекты.ну так вот,выставляю для csm-карты entitypickmode map,2,1
а оно не фурычит.вот код
Graphics3D 1280,800,32,1
SetBuffer BackBuffer()
Include "lib1.bb"
Const s1=1,s2=2,map_type=3
maps=loadcsm("maps1.csm","textures\",map_type)
ScaleEntity maps,0.01,0.01,0.01
EntityPickMode maps,2,1
sh1=CreateSphere()
sh2=CreateSphere()
camera=CreateCamera()
PositionEntity camera,0,30,10
TurnEntity camera,110,0,0
PositionEntity sh1,2.5,0.9,3
PositionEntity sh2,-1.5,0.9,2.7
While Not KeyHit(1)
UpdateWorld()
RenderWorld()
If EntityVisible(sh1,sh2) Then Text 10,10,"visible" Else Text 10,10,"no"
Flip
Wend
End
что делать? может надо подправить в функции загрузки csm?
вот и оно:
Вложения
Тип файла: rar Lib1.rar (2.0 Кб, 453 просмотров)
__________________
...мама я больше не буду!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:26   #2
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Что то с загрузкой файла не то, на простом примере все работает
вот код, так что ищи ошибку, или просто экспортируй в блитзовский формат загружай как анимеш и считывай чилдры, после присваивай все что хочешь к ним
Graphics3D 800,600,32,2
SetBuffer BackBuffer()
Const s1=1,s2=2
cube=CreateCube()
EntityPickMode cube,1
sh1=CreateSphere()
sh2=CreateSphere()
camera=CreateCamera()
PositionEntity camera,0,30,10
TurnEntity camera,110,0,0
PositionEntity sh1,10,0,0
PositionEntity cube,0,0,0

PositionEntity sh2,-10,0,0
While Not KeyHit(1)
If KeyDown(17) Then MoveEntity cube,0,0,.1
If KeyDown(31) Then MoveEntity cube,0,0,-.1
UpdateWorld()
RenderWorld()
If EntityVisible(sh1,sh2)
Text 10,10,"visible"
Else
Text 10,10,"no"
EndIf
Flip
Wend
End
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:35   #3
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: EntityVisible

можете проверить код в архиве?этот код загружает csm.а то я искал и не нашел ошибку...
__________________
...мама я больше не буду!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:43   #4
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Так как ты применяешь его на прямую, мне кажется ни чего не получится!!! Делай как я описал выше!!!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:48   #5
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: EntityVisible

что значит "напрямую"?у меня просто csm-карта, в комнатах бегают фрицы,и мне нужно, чтобы они меня не видели через стены!вроде ошибка где-то в loadcsm, а где-непонятно!тоесть в пределах карты не работает,а если по разние стороны карты - то работает!
__________________
...мама я больше не буду!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:50   #6
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Вот тебе функция
Function RecurseSeek(FILE$)
	For i=1 To CountChildren(ent)	
		child=GetChild(ent,i)
		name$=Lower(EntityName(child))
		If Instr(name$,"Сдесь указываешь имя чилда")

		EndIf			
	Next
End Function
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:52   #7
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: EntityVisible

и что мне с этим делать? можешь выложить пример, а то я никак не прошарю?
__________________
...мама я больше не буду!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 18:57   #8
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Можешь попробовать подправить код загрузчика, найди там в LoadCSM вот эту строчку mesh=CreateMesh(map) и после нее введи EntityPickMode mesh,2 может заработает
(Offline)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
Mark Castle (28.07.2010)
Старый 28.07.2010, 19:03   #9
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Все заработало?
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 19:10   #10
Mark Castle
Знающий
 
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений
(для 3 пользователей)
Ответ: EntityVisible

да,спасибо большое!!
__________________
...мама я больше не буду!
(Offline)
 
Ответить с цитированием
Старый 28.07.2010, 19:11   #11
maxturbo
Разработчик
 
Аватар для maxturbo
 
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений
(для 66 пользователей)
Ответ: EntityVisible

Пожалуйста!!!
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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


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


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