怎样用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碰撞】
推荐阅读
- 聪明人养花,这3种“花”怎样也要养一盆,每年能省不少医药费
- 北京22家市属医院均开展安检基本实现重点区域安检措施全覆盖
- 长江流域渔民退捕“上岸”实现扩产新致富
- 实现“甜蜜计划”,这对中哈跨国夫妻好甜
- 北京地铁11号线西段三座车站提前实现主体结构封顶
- 互联网怎样解决“家政服务上门速度慢”的问题
- 怎样看待从1月8号起,QQ钱包开始提现收费
- 银行it人怎样转型
- 汽车|冬天怎样让车内温度快速升高?座椅加热的最佳使用方式二,外循环的作用总结
- 怎样进入通信行业
