GameDesign 板


LINE

https://youtu.be/7ELGkB7mhDY
上面有人问3D格斗游戏是不是个大坑, 让我一时兴起自己重拾 Blender 和 Godot 做了个小 Project, 并写了这篇文章。 这篇文章是在讲如果想要从零开始, 学会能做出影片中的 3D 格斗游戏的能力, 会用到的技能有哪些。 Skill 1: 能用Blender做3D模型并着色 也就是要做出下面影片中 00:00 秒到 00:20 秒的东西。 https://youtu.be/0H_WLqj0wlA
要学 Blender 的基本操作, 请把下面频道的影片全部看完, 并且自己做一个甜甜圈, 做得出来就够了。 https://www.youtube.com/watch?v=nIoXOplUvAw&list=PLjEaoINr3zgFX8ZsChQVQsuDSjEqdWMAD
Skill 2: 能用Blender产生并管理3D模型的动画 也就是要做出下面影片中 00:21 秒到 00:50 秒的东西。 https://youtu.be/0H_WLqj0wlA?t=21
要学 Blender 的骨架设定和动画操作, 请把下面的影片「15分钟内学会做会动的蜘蛛」看完并照着做一次, 能理解这「15分钟」(别当真XD) 的内容就够了。 https://www.youtube.com/watch?v=imbIsNAvUpM
Skill 3: Mixamo (非必要,但我的模组和动作是这里下载来的) https://www.mixamo.com/#/ 要做 3D 模组和产生动画很花时间, 我是直接在 mixamo 下载来的, 直接点进去就知道这网站是干嘛用的了。 但这不代表有了 mixamo 就不用学 Skill 1 和 Skill 2 了。 使用 mixamo 产生我这个游戏使用的脚色外型和动作, 需要的步骤是: a. 下载一个脚色 b. reset scale c. clear all bones (rigs) and reset to T-pose d. upload to mixamo and do the auto-rigs e. download the auto-rig character and use Blender Mixamo add-on to add control rig. f. download all the action you need from mixamo (skin is not necessary) g. use Blender Mixamo add-on to injest all downloaded action into character. h. remove junk actions and lock (fake link) needed actions i. stash all needed actions into NLA j. export to glTF 这些网路上都找的到, 但你不会用 Blender 自己做模型和动画的话, 基本上是做不出来的, 所以该学的还是得学学,不要偷懒。 Skill 4: 学习游戏引擎的基本操作 我用的是目前还没正式开放的 Godot 4.0 RC2, 但不管是用哪个引擎, 把官方范例的「My first 3D game」之类的文件照着写一次就是了。 从范例中一定会学到的东西有: 1. 怎麽放一个光源 2. 怎麽放一个摄影机 3. 怎麽放一个 3D 物件 (要学会放我们从Blender汇出的模组) 4. 怎麽知道玩家按了一个钮或一个键盘上的按键 从范例中可能学不到,要自己查的东西有: 5. 如何拨放物件的动画,也就是学会做出下面影片 00:00 秒 - 00:13 秒的游戏(?) https://youtu.be/ayISrLB96P8
拨放的工具,在 Godot 叫 AnimationPlayer,在 Unity 叫 Animator。 其中,(4) 和 (5) 会需要写几行到十几行左右的程式。 Skill 5: 学习 AnimationTree (Godot) 或 BlendTree (Unity) 上面的影片中,你可以看出来每个动作是完全分离的, 从待机到跑步、从跑步到攻击、从攻击到受击, 动作间就像跳格或瞬移了一样完全没有真实感。 为了修正这问题并将每个动作接起来, 就有了 AnimationTree/BlendTree 这些工具, 以 Godot AnimationTree 来说,设定与效果像这样: https://youtu.be/ayISrLB96P8?t=17 (00:17 秒到 00:39 秒)
此外, AnimationTree 除了把二个动作接起来外, 在影片中还有用到把动作加减速、让动作从中间开始接等等的功能, 这是因为预设的物件动画效果不好时 (出拳速度太慢、受击前0.3秒会发呆等等) 就需要用各种工具调整它。 这也是 3D 格斗游戏中非学不可的东西。 Skill 6: HitBox 与 HurtBox 格斗游戏中,每个人物都会有三个「范围」的设定。 1. HurtBox - 被敌人打到会受伤的部位 2. HitBox - 打到敌人会让它受伤的部位 3. Object Area - 就算互相不攻击,人物本体的体积大小。 我的简陋游戏中,完全没做 3, 其结果就是一直往前走就会穿透敌人,跟幽灵一样, 这点请原谅,因为重要的是 HitBox 和 HurtBox。 下面影片中,红色是 HurtBox,绿色是 HitBox。 https://youtu.be/ayISrLB96P8?t=48 (00:48 秒开始)
正常的游戏里,HitBox 要在攻击时才出来, 但我为了将程式码减到最少 (<100行),所以 HitBox 一直存在, 其结果就是影片最後拳头太靠近敌人也算打击到的 Bug。 处理 HitBox/HurtBox 的碰撞侦测「物件」,一定会有二个属性。 在 Godot 中一个叫 Layer, 代表该物件是存在在哪个类别里。 一个叫 Mask, 代表该物件要侦测并告知哪个类别的碰撞事件。 举例来说, 自己的绿色拳头 (HitBox), 打到自己的红色区域 (HurtBox), 二者都不用也不该收到碰撞讯号。 而自己的绿色拳头 (HitBox)、 打到敌人的红色区域 (HurtBox), 敌人的红色区域需要收到碰撞讯号, 但自己的绿色拳头则不用。(没有拳头会受伤之类的设计) 整理起来,如果 Layer 设定是这样 Player HitBox: Layer 1 Player HurtBox: Layer 2 Enemy HitBox: Layer 3 Enemy HurtBox: Layer 4 则: Player HitBox Mask: none 玩家脚色不用处理拳头被东西碰到的讯号 Player HurtBox Mask: 3 如果位於 Layer 3 的敌人拳头碰到Player HurtBox, 请送讯号给 Player Enemy HitBox Mask: none 敌方脚色不用处理拳头被东西碰到的讯号 Enemy HurtBox Mask: 1 如果位於 Layer 1 的玩家拳头碰到Enemy HurtBox, 请送讯号给 Enemy 总之整个 HitBox/HurtBox 与碰撞侦测都是在处理和设定这中间的关系, 基本上没甚麽难度,只是要想清楚而已。 【总结】 Skill 1+2 要学完,大概少说也要个二三十个小时。 Skill 4 如果有程式背景,用引擎学会写 My First 3D Game 大概五到十个小时吧? Skill 5 基本的 Blend 功能不会花甚麽时间。 Skill 6 逻辑不难,但写程式要看天分。 所以从零开始,一个月内就够了。 如果要下载我写的这个 Godot 4.0 RC project,我放在这: https://github.com/meowyih/TestModel --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.228.94.165 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1676998435.A.E7A.html
1F:推 nicetw20xx: 好谢谢大大分享 02/22 01:31
2F:推 enthos: 好评 100分 02/22 02:57
3F:推 turtleaoc: 感谢 02/22 09:06
4F:推 GaryFu: 感谢分享!! 02/22 09:07
5F:推 dklassic: 赞喔! 02/22 10:00
6F:推 kyushu: 赞der 02/22 11:36
7F:推 WalkingIce: 感谢分享~ <3 02/22 13:35
8F:推 Mchord: 推 02/22 17:49
9F:推 coolrobin: 推 02/22 20:52
10F:推 johnny94: 好猛,推 02/23 10:26
一点都不猛, 从头到尾根本没写多少程式, 猛的是现在的游戏引擎, 甚麽都帮你弄好了 T_T ※ 编辑: meowyih (36.228.201.247 台湾), 02/23/2023 11:59:16
11F:推 abujiubonga: 推教学!Blender真的很赞 02/23 12:37
12F:推 fred1541: 哦哦我来笔记!感谢 02/23 16:14
13F:推 sturmpionier: 实用 02/24 19:13
14F:推 sck921: 推分享 03/08 13:30
15F:推 purplvampire: 推 04/20 17:16
16F:推 purplvampire: 推 05/01 16:21







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灯, 水草

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

TOP