forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   И опять она, глючная коллизия (http://forum.boolean.name/showthread.php?t=5143)

tormoz 09.01.2008 20:39

Ответ: И опять она, глючная коллизия
 
Любому объекту Блитца можно назначить сферическую или бокс коллизию
Любому мешу можно назначить полигональную

Артем Валерьевич 11.01.2008 10:57

Re: И опять она, глючная коллизия
 
Дабы не создавать новую тему про коллизии, пишу в эту,
Всем доброго времени суток вот моя трабла:
коллизия персонажа с ботами происходит если бот неподвижен и непроисходит если бот двигается на персонажа.
Вот мой код.
Код:


Type ZombyBot
Field ZombyMesh
Field ZombySphere
Field ZombyHealth
Field ZombyAnim
Field Mass
End Type
 
Function CreateZomby(file$,x ,z ,y ,ZombyAnim,ZombyHealth,Mass)
h. ZombyBot=New ZombyBot
h\ZombySphere=CreateSphere(8)
PositionEntity h\ZombySphere,x,z,y
RotateEntity h\ZombySphere,0,Rnd(-360,360),0
ScaleMesh h\ZombySphere, .4,.9,.4
EntityRadius h\ZombySphere,.4,.8
EntityPickMode h\ZombySphere,1,True
EntityAlpha h\ZombySphere,.5
EntityType h\ZombySphere,Bot
h\ZombyMesh=LoadAnimMesh(file$,h\ZombySphere)
ExtractAnimSeq h\ZombyMesh,1,60; calm rack Zombie
ExtractAnimSeq h\ZombyMesh,60,100; Zombie animation walk
EntityAutoFade h\ZombyMesh,1,70

h\ZombyAnim=1
h\ZombyHealth=10
h\Mass=70
End Function
 
Function UpdateZomby()
L#=.1

For h. ZombyBot=Each ZombyBot
If EntityDistance (round,h\ZombySphere)<6 Then
PointEntity h\ZombySphere,round
RotateEntity h\ZombySphere, 0,EntityYaw ( h\ZombySphere ),0
;MoveEntity h\ZombySphere,0,0,L#
Animate h\ZombyMesh,1,1,2
EntityType h\ZombySphere,Bot
End If

Next
End Function

помогите пожалуйста а то мучаюсь с этим уже неделю или две.

HolyDel 11.01.2008 11:05

Ответ: И опять она, глючная коллизия
 
Артем Валерьевич, доброго времени суток, не используйте коллизии для проверки на пересечение персонажа с ботом.
используйте EntityDistance для проверки расстояния до бота. если оно меньше определенного - то убивайте плеера.

Артем Валерьевич 11.01.2008 11:13

Re: И опять она, глючная коллизия
 
HolyDel vbmenu_register("postmenu_73789", true); понимаеш, хочу чтобы боты обступали игрока и не давали ему пройти, вот

HolyDel 11.01.2008 11:35

Ответ: И опять она, глючная коллизия
 
понимаю. штатными средставми етого сделать нельзя (по карйней мере по человечески). вообще можно двигать объект, который коллидится, но не с которым коллидятся другие объекты.
как вариант - просто замедляете скорость игрока, в зависимости от расстояния ботов. что то похожее может получится.

Артем Валерьевич 11.01.2008 11:38

Ответ: И опять она, глючная коллизия
 
Вложений: 1
Спасибо, а то такбы и бился головой об монитор, супер
:rolleyes:
ведь все с етим сталкиваются!


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

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot