怎样用unity实现dnf中的2d碰撞

我提供一种思路。以前模仿过一个涂鸦跳跳,就是这样式的怎样用unity实现dnf中的2d碰撞

这些小台子我就是绑定了BoxCollider2D,而角色上加了刚体来模拟重力,使用addForce脉冲做跳跃。和你情况类似,当角色向上跳跃时要穿过台子,而下落时要被台子挡住。我的做法是,台子的collider勾选trigger,不会影响物理,代码里检测到碰撞时判断角色的运动方向:如果向上则不处理,如果向下,直接禁掉刚体的重力(比较粗暴,可能有更优雅的方法)。注意!只在enter里处理。。对于你的情况,判断的条件是由走或跳的状态决定的,把逻辑理顺就好了。
■网友
这就是基础2d游戏的功能啊 那涉及到3d了。 你是因为一上手就是3d引擎没见过2d引擎吧……
多去看看 fc, 世嘉时代的游戏吧......
collider 为什么要放在头顶上? 不是应该包裹整个身体么?
角色跟场景碰撞肯定单做一个扔角色脚下啊, 跳跃的时候 只是播放身体起来的动画, 角色位置还是在脚下啊。 身体碰撞是身体碰撞, 场景碰撞是场景碰撞。
2d你要做细致点的碰撞肯定是每个格子记录高低和是否可进入, 然后通过 x,y坐标 查找。不要直接用物理碰撞。

■网友
讲道理你这个思维有点混乱啊,什么叫改变y轴又改变z...Dnf只是渲染的时候2d,坐标还是有3d概念,也就是说跳跃只影响向上轴(我不说z轴或者y轴因为不同引擎方向不一样),上下左右移动只影响水平轴,所以跳起来要被栏杆挡住显然是很奇怪的设定
■网友
我业余也会做做DNF格斗游戏。
tianjiuwan/2D_ACT我的思路:碰撞不用Unity的,前后端用一套物理系统。
再说碰撞:每个角色有2个碰撞器,一个移动碰撞器,一个受击碰撞器,移动碰撞器放在脚底下,受击碰撞器包裹全身。DNF角色的移动X(左右),Y(上下)轴上移动,跳跃在Z轴上(假象出来的,实际展示还是在Y轴上),X,Y轴移动是于场景静态碰撞器做碰撞检测,跳跃Z直接忽略碰撞检测(我的影响中DNF是可以跳到超过屏幕最上方)下落直接会原始Y轴位置。


■网友
你在跳跃的时候你的身体位置并没有变化,只是播放了一个跳跃动画。

■网友
个人感觉似乎并不需要用Collider去限制角色的移动区域,直接给定一个区域然后通过判断角色下一个移动的位置坐标是否在该区域内,决定能否移动就行。
■网友
泻药!忘了在哪里看到的,我记得以前的2D,3D格斗游戏碰撞的实现是身体不同部位有不同的碰撞。怎样用unity实现dnf中的2d碰撞
【怎样用unity实现dnf中的2d碰撞】


    推荐阅读