主题:  碰撞检测

wkgsm

职务:普通成员
等级:1
金币:10.0
发贴:122
#12001/8/19 1:01:30
邪了门了,D8.5Shockwave3D做碰撞检测,被碰撞物体好象被一层无形的东西罩住了,我无论如何也无法撞到他的表面,而且被碰撞物体积越大,罩子也越大,我就离他越远,已经好几个晚上了,我都无法解决,谁能帮帮我,让我睡个塌实觉?
以下是关于碰撞检测的代码。
property pcamera
property pmodel1,pmodel2

on mouseup me
pcamera = member("fz").model("box")
pmodel1 = member("fz").model("wall1")
pmodel2 = member("fz").model("wall2")
pcamera.addModifier(#collision)
pcamera.collision.enabled=true

pmodel1.addModifier(#collision)
pmodel1.collision.enabled=true

pmodel2.addModifier(#collision)
pmodel2.collision.enabled=true

pcamera.collision.resolve=true
pmodel1.collision.resolve=true
pmodel2.collision.resolve=true

pcamera.collision.setCollisionCallBack(#collision, me)
pmodel1.collision.setCollisionCallBack(#collision1, me)
pmodel2.collision.setCollisionCallBack(#collision2, me)

end

on collision me, collisionData

beep
--put collisionData.pointOfContact
end

on collision1 me
member("massage").text = string("wall1")
end

on collision2 me
member("massage").text = string("wall2")
end



wkgsm

职务:普通成员
等级:1
金币:10.0
发贴:122
#22001/8/19 19:55:00
诸位版主谁来帮我?提个思路也好。



Jawry

职务:普通成员
等级:1
金币:0.0
发贴:106
#32001/8/19 22:01:04
你这个问题不是说得很清楚,但是就我个人觉得这和director中对物件之间接触判断的问题,也就是说当你的两个物件相接触后,director判断的是你的实际大小物件之间是否已经接触,这时就不会管你是否对该物件使用了诸如透明背景等INK效果了。
也许不对,但我确实也遇到过这个问题。



小乙哥

职务:普通成员
等级:1
金币:0.0
发贴:6
#42001/8/19 22:44:45
我记得SW3D当中碰撞检测的缺省范围模式是#sphere, 你的model是模式似乎应该是#box,简单的修改代码应该是:
...
pcamera.addModifier(#collision)
pcamera.collision.mode=#box
pcamera.collision.enabled=true
...

其他类同, 你试试看。
)



wkgsm

职务:普通成员
等级:1
金币:10.0
发贴:122
#52001/8/20 20:51:12
感谢小乙哥解决了我的心腹之患,我心里痛快了许多。