|
3D-программирование Вопросы, касающиеся программирования 3D мира |
28.07.2010, 18:09
|
#1
|
Знающий
Регистрация: 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?
вот и оно:
__________________
...мама я больше не буду!
|
(Offline)
|
|
28.07.2010, 18:26
|
#2
|
Разработчик
Регистрация: 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
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: EntityVisible
можете проверить код в архиве?этот код загружает csm.а то я искал и не нашел ошибку...
__________________
...мама я больше не буду!
|
(Offline)
|
|
28.07.2010, 18:43
|
#4
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: EntityVisible
Так как ты применяешь его на прямую, мне кажется ни чего не получится!!! Делай как я описал выше!!!
|
(Offline)
|
|
28.07.2010, 18:48
|
#5
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: EntityVisible
что значит "напрямую"?у меня просто csm-карта, в комнатах бегают фрицы,и мне нужно, чтобы они меня не видели через стены!вроде ошибка где-то в loadcsm, а где-непонятно!тоесть в пределах карты не работает,а если по разние стороны карты - то работает!
__________________
...мама я больше не буду!
|
(Offline)
|
|
28.07.2010, 18:50
|
#6
|
Разработчик
Регистрация: 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
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: EntityVisible
и что мне с этим делать? можешь выложить пример, а то я никак не прошарю?
__________________
...мама я больше не буду!
|
(Offline)
|
|
28.07.2010, 18:57
|
#8
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: EntityVisible
Можешь попробовать подправить код загрузчика, найди там в LoadCSM вот эту строчку mesh=CreateMesh(map) и после нее введи EntityPickMode mesh,2 может заработает
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
28.07.2010, 19:03
|
#9
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: EntityVisible
Все заработало?
|
(Offline)
|
|
28.07.2010, 19:10
|
#10
|
Знающий
Регистрация: 04.10.2008
Адрес: Киев
Сообщений: 230
Написано 3 полезных сообщений (для 3 пользователей)
|
Ответ: EntityVisible
да,спасибо большое!!
__________________
...мама я больше не буду!
|
(Offline)
|
|
28.07.2010, 19:11
|
#11
|
Разработчик
Регистрация: 19.05.2009
Адрес: Россия Иркутская область
Сообщений: 350
Написано 51 полезных сообщений (для 66 пользователей)
|
Ответ: EntityVisible
Пожалуйста!!!
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:36.
|