《怪谈》开发记录(05)

《怪谈》开发记录(05)
文章图片
2020年3月
游戏机制上的疑问
在初步做AI时就遇到了点问题 , NPC是一直走在玩家前面 , 还是在玩家旁边?
如果走在前面 , 交流看不见脸 , 如果走在旁边 , 玩家侧着身子走?不然也看不见NPC 。
这里问了一下朋友 , 得到的回答是:
在其他游戏里一般按NPC和玩家的关系放位置 , 如果NPC处于引导的那一方的话就走前面 , 如果是玩家引导NPC的话就NPC跟在后面 , 基本没有平行着走你看着我我看着你这种情况 , 有的话也是过场CG 。 第一人称的话一般都是NPC走前面 , 使命召唤系列所有这种情景都是NPC在前面 , 如果想发生对话的时候自然一点可以让NPC停下转头 。
第一人称上学场景我还真没找到完全类似的 , 在很多第三人称游戏里倒是出现了与NPC并排着边说话边走的场景 , 比如热血无奈的序章 , 荒野大镖客2也有很多这样的场景 , 这种时候都会限制玩家的移动速度 , 不会比NPC走的更快 , 而且如果落后一点NPC就会停下催你或者转头叫你 。 第一人称都是NPC领先一两步的样子 , 注重细节的就会两步一回头 , 或者转过来面向玩家背着走一小段说话 , 更多的就是NPC在前面走然后还在说话 。
你想想我们俩平时放学回去路上说话也不会盯着对方看啊 , 那多尴尬 , 顶多说一会儿看一眼
我想了一下 , 确实是这样的 , 这类游戏一般都会做成第三人称 。
还有一种是像T社游戏或者《黑相集》那样的导演控制镜头 , 玩家选对话选项 , 这样一般能做出许多绝妙的镜头 , 电影感很强 。
全程第一人称会失去很多细节 , 举个例子 , 下图这个袜子 , 在近处看是这样的:
《怪谈》开发记录(05)
文章图片
【《怪谈》开发记录(05)】但是在玩家的视角 , 正常的第一人称视角下 , 就是带粉顶的白袜 , 就算你靠得很近 , 也看不清细节:
《怪谈》开发记录(05)
文章图片
《合金装备5》在这方面就做得很好 , 幽灵兵出来都会给个特写 , 各种细节展现得淋漓尽致 。
原本我想的主角是没有模型的 , 因为第一人称游戏是看不见自己的 , 最多看个手 , 在现在看来还是加上第三人称 , 但是也保留第一人称 。
主要角色的定妆
所有主要角色的定妆照出来啦!这月算是把人物、服装模型和贴图做完了 , 感觉我都可以转行做3D美术了 , 哈哈 , 开玩笑的 。
《怪谈》开发记录(05)
文章图片
苏苏(主角)
《怪谈》开发记录(05)
文章图片
叶子哥
《怪谈》开发记录(05)
文章图片
川子
《怪谈》开发记录(05)
文章图片
主角母亲
《怪谈》开发记录(05)
文章图片
西西 , 项目一开始就给定过妆了
《怪谈》开发记录(05)
文章图片
原本主角的设计是这个样子的 , 后来做睡衣时把发型给改了下 , 结果似乎大家更喜欢第一张图发型……但是可能有点违背剧本了 , 因为主角颜值设定并没有西西好看 。
总结一下这里吧 , 最早建西西的时候学到了许多技巧 , 这里人物建模做起来也比较顺畅 , 稍微难些的地方可能是在面数的控制上 , 建完一般都得手动减面 , 不然游戏引擎渲染起来会比较吃力 , 特别是头发 , 这里的主角在游戏里是只剩下了1/50的发量(不过看起来差别不大) 。
西西着装的修改
《怪谈》开发记录(05)
文章图片
最右边的是最早版本 , 中间是第二个版本(衣服年代化) , 但是发现没最早的好看 , 于是有了第三个版本(最左) , 结合前两的优点 。
上衣目前还没画贴图上去 , 还没来得及……
这里用了一个trick , 百皱裙实际上是一个纸片 , 上面的褶皱是我画的一个简单的法线贴图来实现的 。
《怪谈》开发记录(05)
文章图片
这里我也试过用高度图 , 但是发现效果不如法线贴图好 。
人物零零散散的修改皮肤材质改了下 , 法线贴图换了下 , 所有人头发材质都修改了下 , 做了下各向异性的修改 。
《怪谈》开发记录(05)
文章图片
《怪谈》开发记录(05)
文章图片
(这个动画好僵硬)目前还是用的mixamo的动画库 , 之后可能换一些自然点的 。 这里主角睡衣没做布料模拟了 , 直接用的蒙皮 , 因为在家里运动幅度也不大 , 看起来差别也不大 。
让剧情按照剧本发展
这里我写了一个词法分析器 , 用于读取我的剧本文件(txt) , 语法是按照正常人易读的方式 。
最早我是打算用inky , 因为我上一个项目用过 , 挺好用的 。 不过这里发挥不了ink的强项 , 因为不是多文字分支 , 而更多是触发方式 , 所以我自己写了个 。
上编译原理课时就写过词法分析器 , 在这里算是轻车熟路了 。
大概有以下功能:
基础对话语法表情、动作、神态控制语法条件语法(触发)延时执行语法自定义调用语法(用于给其他脚本绑定事件 , 类似Vue的Emit功能)在语音方面 , 能自动查找目录下对应的语音文件 , 并读到内存 , 如果没有找到 , 则启动备用语音模块 。
用于下载生成的临时语音 , 之前我服务器上有一个文字转语音的模块 , 这里直接调用 , 测试起十分方便 。
《怪谈》开发记录(05)
文章图片
人物跟随与找路
目前用状态机做了5个状态 , 花了不少时间来调参数 , 测试起来没有太大的问题 , 只是感觉有些不自然 。 这里应该还需要继续打磨 。
原本还是想记录一下的 , 想到还要录视频 , 然后上传 , 太麻烦 , 还是算了 , 也没啥好看的 。
这一模块暂时就这样吧 , 以后再进行修改优化 。
三月总结
本月看似进展很多 , 但暗下却让我有些担心 , 人物多了后场景渲染会吃力许多 , 主要消耗在CPU上 , DrawCall太多 , 因为材质比较多 , 我担心Unity对分层贴图没有进行很好的优化 , 不是合并一起渲染 , 而是分开渲染的 。 人物方面 , 如果性能消耗过大必将进行出场限制 , 会导致剧本改动 , 要么进行人物优化 , 又会使得画质下降 , 有点进退两难 。
翻一翻RoadMap , 下个月计划就选中这些吧:


    推荐阅读