关于在2D格斗游戏制作上遇到的思路问题(Unity)?

0 条评论


  • 4

    帕斯卡Programmer

    帕斯卡帕秋莉诺蕾姬CYF 等 4人赞同

    第一个问题:你不想让一个角色站到另一个角色头上可以改变collider形状。使用Capsule Collider 就是那个震动棒形状的Collider。

    第二个问题:另外你顿挫感的设计方法应该是没问题的,这个方法很实用,不过要注意封装好。不过总觉得你这种操作方式有点奇怪。

    第三个问题:虽然是2d游戏,但你不用局限与2d中,一样可以用3d。可以尝试把物理判定作为3d对象,动画作为2d对象,不过这样挺复杂的。

    ——重要是多试多查,开放思路。肯定多得很的人遇到这些问题。

    加油。

    更新于 2017-10-26 11:14:56 3 条评论


  • 4

    大城小胖不给自己点赞就是一种犯罪,会被打成小胖

    YeneCYFtcdona 等 4人赞同

    下载一个 mugen , 用它试着制作或者魔改一个简单的格斗游戏, 『传统的2D格斗游戏的设计思路』的问题你就能找到答案了, 而且应该是能找到的最佳答案了。

    即使不动手制作, 你打开官方自带的那个小demo, 然后把debug模式打开 ,玩几局之后,我相信你对『传统的2D格斗游戏的设计思路』的理解也会有很大的提升。

    更新于 2017-10-26 06:12:10 0 条评论


  • 3

    亚恒《拣爱》《滑翔喵》作者 B站UP主

    万有引力之虹CYFLK 赞同

    看到已经有朋友给出问题正解,稍作补充一下。

    我也是今年开始自学的unity,基本上初学者遇到的问题。谷歌一下都能够解决的,如果没有找到相关答案,很可能是你搜索的关键词不对。例如2d格斗游戏谷歌unity 2d fighting game一下的话。就会有很多很有用的东西跳出来了。基本上前十个搜索结果里面肯定会有指引你找到答案的。(如果还是不行,那你的问题估计是有点棘手了...)

    d4579c35af616d76534a79d25faf4a76.jpg

    通常留意unity community、unity answers的内容就能找到直接的答案。下面的评论通常会有人贴相关的扩展链接,啃一下里面的内容往往会对你帮助很大。另外,油管上有时也会有相关的教学视频,如果讨厌啃英文文本,也可以试试看视频。

    还有些时候可以依赖一下插件,虽然很多插件有些小贵。但是快速实现功能的话,插件还是很有用的。

    另外一点个人看法:深思熟虑想好架构结构再来动手那是给老司机用的,我自己还是觉得一开始学习就是抱着肯定会推到重做的心,做到哪算哪,先实现功能。到你卡住了,自然就会去想问题在哪里了。这个过程可以学到很多的。

    加油^_^

    发布于 2017-10-26 00:49:40 1 条评论


  • 1

    houkanshanok

    CYF 赞同

    第一个问题,给角色的 object 设置一个特定的 layer,比如 Player。

    然后在 Edit -> Project Settings -> Physics 2D -> Layer Collision Matrix 里,取消 Player x Player 的勾选。即取消了 Player layer 之间的碰撞检测。

    如果不希望角色出现重叠,可以考虑给 Player 对象创建子对象:layer 为 PlayerTrigger, BoxCollider2D 设为 isTrigger,在 Layer Collision Matrix 里只选上必要的碰撞检测对象。 然后用 OnTriggerEnter2D 检测进入再触发避开运动。

    OnCollisionEnter 之所以没用估计是你后面忘加 2D ?应该是 OnCollisionEnter2D

    个人建议是可以多看看官方文档,多去 http://answers.unity3d.com/ 搜答案,找一些现成的格斗游戏的代码来学习,我随便搜到一个比如 这个 ~

    更新于 2017-10-25 22:16:58 1 条评论


  • 0

    MiReDove

    第一个问题比较好解决,只要把人物的碰撞改成胶囊形就可以了。

    至于之后的判定框,我前阵子也有试着写过一个2d格斗的框架,我的处理方式是自己写一个简单的判定框类,他有两个子类,受击框和攻击框,只能能调整位置和长款不能旋转,只能检测重叠不能物理模拟,但我想格斗游戏的判定框只要有这两个功能就够了,用unity自带的collider会有些浪费。

    之后我写了hit类和move类,每一个攻击(也就是move)都由几个hit组成,每个hit里面都储存一个受击框的数组和攻击框的数组,和这个hit的持续时间,每当角色释放一个招数时,就在协程里自动地替换角色身上的受击框和攻击框。

    我觉得我这种处理方式还算不错,但是也有很大的问题,就是不方便在动画面版里编辑每个动作的判定框,只能用我自己写的一个小工具来编辑,很不直观很不方便。

    发布于 2020-04-22 15:21:37 0 条评论

  • 登录奶牛关账号即可参与讨论

{{question['follower_count']}} 个玩家关注

...

相关元素

相关问题

为什么一些格斗游戏要刻意复杂化指令的输入?

11人关注 11个回答

格斗游戏里的立回ai是怎样的判定逻辑?

11人关注 3个回答

【unity】如何在3D物体上“挖洞”?

6人关注 4个回答

问题被以下收藏夹收录