123456819 发表于 2021-1-5 09:57

unity里怎么实现百战天虫的破坏地面?

还有像小鳄鱼爱洗澡的水和很多游戏的任意切割图形,请问是怎么实现的= =先谢了

什么大师特 发表于 2021-1-5 10:06

Unity论坛上有讨论过这个问题: 2D Digging (E.G. Where's My Water?)
这里也有一个Unity的实现: http://mpprado.blogspot.com/2015/05/unity-terreno-destrutivel.html


具体到这两个游戏的话, 都是直接删除对应位置的像素. 比如百战天虫里的炸弹, 就是把前景图层圆形范围内的像素(或者Alpha)清除掉, 同时把对应的碰撞数据做下修改.


其它的一些参考:
Coding Destructible Pixel Terrain: How to Make Everything Explodehttp://antonior-software.blogspot.sg/p/destructible-terrain-worms.html
Digging into Box2D destructible terrain final version. Test it and enjoy.lion03/WormsRemakeDestructible 2D: Asset Store
至于水的话, 也有相应的参考: Liquid Physics

利用DistanceField的思想做水球间的融合

水球运动就使用物理引擎模拟就可以了

poney 发表于 2021-1-5 10:16

水是流体模拟和渲染,大量的球体碰撞模拟和渲染

可破坏地面是两层,一层是破坏层,一层是 边缘修饰层,
可以用像素碰撞,也可以用动态mesh 构建碰撞

塞翁364 发表于 2021-1-5 10:16

不知道在程序的问题里提供特效的思路好不好。unity是支持max插件Ray Fire的,这是第一个制作方法。第二个是靠遮罩来实现。
页: [1]
查看完整版本: unity里怎么实现百战天虫的破坏地面?