unity3d物体爆炸效果怎么做

我打算先做一个爆炸粒子的prefab,然后当建筑物collider enter时实例化prefab,然后建筑物自身爆炸。
现在有几个问题。
1、建筑物带Rigidbody , collider enter的话建筑物碰到地面也算是碰撞,炮弹不用发射,建筑物一碰地就爆炸了……
2、物体爆炸如果直接Destroy的话就很假了,突然消失。难道要从3Ds Max制作完爆炸效果再导入进来?那样的话那么多建筑物要一个一个加动画?

顺便问下角色使用RigidBody(不想用自带的3rd Charactor Controler,很不方便)后去撞墙,结果把自己撞飞了,怎么解决?阻力和重量都很大了,还是会有点倾斜。还有制作跳跃功能时瞬间跳起来然后慢慢降下去,感觉好假,怎样在跳的时候设置速度,让它慢慢的跳起来?

请认真回答,不要从网上复制,因为网上没有这方面的解答,免得答非所问。还有不懂这方面的请路过,不要为了2分随便写几句。
最新回答
东西南北客

2024-07-03 09:50:26

1.你每次碰撞的时候检测下碰撞对象,比如tag和name,然后再产生爆炸物,还有,你检测碰撞的代码最好放在子弹上。
2.爆炸用引擎自带的粒子系统做,那样最方便,不过你得有爆炸的图片才行,粒子系统支持图片的拆分,也就是说你可以在一张图片上将动画的各个帧以矩阵排列,然后每个粒子片都可以有动画的效果。
3.你可以用脚本自定义角色的控制方式,角色碰撞用Charactor Controller(其他不适用于人物,除非你能自己写脚本控制的好),去看看引擎相关这个的介绍就行了。
追问
1、我记得好像看过检测碰撞对象的代码,不过忘了,能写下不?如果放到子弹上不是要把所有要碰撞的对象全部列出来?放到建筑上就可以只要检测到是子弹就爆炸。
2、看不明。爆炸效果可以用粒子系统做,但问题是对象炸开的效果怎么做。一个偌大的建筑物在烟花中突然消失很灵异的说……这个和图片有什么关系?
3、我就是不想用3rd Charactor Controller,不能旋转任意角度,只能转90°,所以才自己建脚本。
追答
1.void OnCollosionEnter(Collision collision)
{
if(collision.gameObject.tag==".......")
{
}
或者
if(collision.gameObject.name==".......")
{
}

}
2.这样的话你只能建模型和动画来制作建筑物的倒塌效果。向《战地》那样的模型破坏效果需要强大的物理引擎才行。粒子只是一种省资源而高效的做法,只能处理图片,通过BillBoard使图片不会穿帮。
3.3rd Charactor Controller是官方做的一个任务控制例子,我说的是那个Charactor Controler组件,在Physics下面,属于碰撞一类,做角色都要用到的。你自己写脚本需要加这个碰撞。