工作日志
- 先简单总结下昨天的工作
- 加了一个开局的过场,目前是用 Timeline 来做,主要是实现的功能目前是:
- 目前有一些点不太满意:
- 角色行走依赖发信号,无法准确知道角色什么时候走到什么地方.我尝试直接 K 动画,但是 AIPath 的速度计算有跳变的情况,导致动画会抽搐.所以最后还是放弃了这个方案
- CameraOffset 无法在 Timeline 中修改
- 对话结束了以后没有相关的事件表现在 Timeline 上:比如我在某段对话结束之后想在 Timeline 上配置某些动画,但是目前是没有这部分功能的.不过如果要实现也简单,就像之前在公司里做的那样,到达对话的时候暂停 Timeline,然后完成对话之后继续 Timeline 即可
- 添加了人物的脚步声,并且把 AudioListener 加到了角色身上
- 我觉得音效是值得花点时间去研究下效果的,但是需要可能更专业的插件(比如 fmod)这部分我觉得提升会比很多人所认知的更为强
- 一个知识点:如果要在动画事件里做音效,那么保证你一定要注意处理一下当前动画是否混合权重大于某个值,不然的话在 BlendTree 这样的东西里就会反复触发,代码如下
1public void Effect_FootStep(AnimationEvent animationEvent)
2{
3 if(animationEvent.animatorClipInfo.weight<=0.5f)
4 return;
5 // if(aEvent.animationClipInfo.Weight>0.5f)
6 // 作者:Meltin_Algol https://www.bilibili.com/read/cv11088826/ 出处:bilibili
7 var clip = Resources.Load<AudioClip>($"Effect/footsteps/wood/Wood footstep {Random.Range(1, 11)}");
8 AudioSource.PlayClipAtPoint(clip,transform.position);
9}
- 加了一个简单的跟随功能,目前的逻辑非常简单粗暴:因为目前的版本角色是没有碰撞的,我又不想让角色之间贴得很紧,所以逻辑是这样的:如果距离跟随角色大于跟随距离,那么就取跟随角色面朝方向的反方向的特定距离的一个点,然后走到那里,目前来看还行.
- 加了一个靠近物体触发的 UI 的功能,用了 Zenject 的绑定,感觉还行,不知道后面多了会不会有啥问题
- 加了一个事件触发点的表现,感觉不太像是一个触发事件的装置.现在用的是一个生成岩石的插件来做的,看起来不够神秘
- 加了个溶解的方法,因为目前这个模型的 UV(或者说没有 UV)实在是太过混乱,所以我决定把这个溶解的效果做得更碎一点
优化事项
- 一天的任务拖到了第四天其实还是没有完全完成.我觉得还是没有把快速迭代做好.
- 开始的时候太多时间浪费在所谓的对话系统中.想要一次性做一个满意的版本,但是事实上不管是能力还是时间都没有达到梦想中的水准
- 接下来的方案:
- 需要尽可能做速度最快的(代码质量除外)未打磨版本.
- 在这个未打磨版本之上提出问题,记录到优化列表中.今后的工作日志的优化列表就专门会记录当前这个版本需要优化的点,以及优化需要学习的内容.后面如果有优化效果最好还能有对比的记录,来增强自己的信心
- 优化点:
- 开局角色的对白现在太粗糙了
- 没有恐怖的氛围
- 现在的地图很普通,很丑
- 现在的角色很普通很丑
- 事件物品的打光有些诡异
今日目标