GameDesign 板


LINE

※ 引述《wix3000 (痒,好吃)》之铭言: : 当脚色从上坡切换到下坡时,会因为惯性浮空一小段时间 : 只是就个人的游戏经验,大部分的横向卷轴游戏在高低差表面上移动时都是平贴着地面的 : 不知道这个部分是运用到了什麽机制让它们能够平贴着 : 或者说有什麽更好的架构来处理移动功能? 这就要谈到平台动作游戏(platformer)角色移动机制的一道分水岭 看你是要 "物理模拟(physics-based)" 还是 "紧密操控(tight control)" 物理模拟为主的游戏 就是用你的做法,设定角色的速度,然後交给物理引擎去模拟 像小小大星球就是这种作法 优点是可以很容易地让角色跟环境做物理互动,因为角色也是物理模拟的一部份 缺点就像你说的,角色会有 "浮浮的感觉(floaty)" 而抓地困难 大部分平台动作游戏采用紧密操控的作法 角色不属於物理引擎模拟的一部份,与环境的互动是用额外的逻辑去处理 本世代游戏的作法,是用 "射线投射(ray cast)" 将角色"钉"在地上 假设+Y轴为正上方 角色移动的时候,先决定下个frame的XZ位置 然後往-Y方向做ray cast,找出把角色"钉"在地上的正确Y轴位置 如此一来,角色就会紧紧的抓住地面 处理跳跃的时候,也不依靠物理引擎,而是直接对transform的Y分量做修改 当角色在空中落下的时候 每个frame在当时位置和下个frame的预期位置形成的线段,对地面做碰撞侦测 如果线段与地面没有相交,那就按照预期位置更新角色位置 若有相交,则把角色的位置设定到交点,这样角色就着地完成了 以上是处理Y分量的方式 处理XZ分量的方法就有很多种,端看环境的碰撞资料格式 也有混搭的作法 角色移动用设定速度和物理模拟的方式更新 但是每个frame也做-Y方向的ray cast,找出抓地点 如果抓地点没有离角色太远,就直接设定transform的Y分量,把角色重新"钉"回地上 补充:依照需求,除了ray cast 也可以考虑 "形状投射(shape cast)",只是比较消耗资源 -- Web http://AllenChou.net Twitter http://twitter.com/TheAllenChou LinkedIn http://linkedin.com/in/MingLunChou --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 172.91.156.131
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1459049686.A.EA5.html ※ 编辑: cjcat2266 (172.91.156.131), 03/27/2016 11:43:35
1F:推 wix3000: 感谢回应,嗯~所以果然没有简单设定就能实现的方法吗 03/27 18:50
2F:→ juicefish: Unity用物理引擎解的话 应该是调整重量或重力 03/28 00:47
3F:→ cjcat2266: 还是有可能会浮空,仍需要额外逻辑把角色确实钉在地上 03/28 08:26
4F:→ cjcat2266: 要做出紧密操控的平台动作游戏,只靠物理模拟是不够的 03/28 08:27
5F:→ cjcat2266: 玩家对紧密操控的期望,是其确定性(determinism) 03/28 08:29
6F:→ cjcat2266: 全依赖物理模拟而不用额外逻辑,极有可能破坏这项期望 03/28 08:30
7F:→ cjcat2266: 主打紧密操控,只要有1%机率会浮空,就会让玩家不爽 03/28 08:31
8F:推 johnny94: 同意,尤其是很吃操作的动作游戏,更是不能仰赖通用的物 03/28 11:35
9F:→ johnny94: 理引擎 03/28 11:35
10F:推 azureblaze: 不钉地板其实也可以靠n个frame内有碰到地板就算着地 03/28 14:41
11F:→ azureblaze: 这样可以处理稍微飘起来的状况,个人试起来感觉还不错 03/28 14:42
12F:→ azureblaze: 在游戏界「简单设定就能实现」的效果通常不是你要的 03/28 14:44
13F:→ azureblaze: 需求变化实在太多了,除非你想要看起来千篇一律 03/28 14:45
14F:推 wannasaynone: 推实用 03/29 10:09
15F:推 sdsg5bpnl: 实用推 03/30 21:11
16F:推 lemmii: push 03/30 22:48







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Soft_Job站内搜寻

TOP