项目总结(季度总结)
一句话总结:
死的程序编写容易,活的程序编写困难。
死的场景搭建容易,活的场景搭建困难。
经验之道,在于总结。
小游戏资源:
- 抓娃娃机
- 四个方形宝箱(包括渲染图)
- 一套角色皮肤(蝙蝠侠、小丑、忍者、皮卡丘)
- 一套道具模型(项链、帽子、墨镜、书包、围巾)
- 一些场景资源(可拉伸绳索,UI界面场景)
- 氛围性场景资源:深度雾效,广告板模型辉光,空间贴花,自发光面片灯光。
制作经验总结:
- 延迟贴花
- 重塑面片法线
- 广告板技术重塑面片顶点
- 多物体组别制作(使用组别进行区分制作)
- 场景层级整理(制作排序)
提升制作效率的工具:
效率工具对于多人团队协作是相当重要的一部分,或许在长期研发或者长线迭代中充当一个不可缺失的角色,于是在研发过程中我制作了许多提升效率的工具:
- 关卡路线生成器(根据json表格配置生成对应的方块进行搭建的预览)
- Shader debug查找器(对空引用及一些不需要使用到的shader进行查找)
- 绳索拉伸工具(在头尾之间直接生成线段)
渲染方面的研究(实时渲染方向):
Sphere density
Basic SDF (Sphere,cube,round cube)
Basic Raymarching
Plantry Atomspheric Scattering
Global illumination Appliation
Physics Basic Rendering Material
Texture Filtering
Compression of Texture
Whole Forward Rendering Pipeline workflow
未来方向:
- mod资源创意工坊
- 基于XML,CSS,LUA的unity UI框架
- 深入实时渲染全面学习实时渲染的机制
- 实时建模(线段,贝塞尔曲线,球体)
U3d项目总结:
赛车:
主要依靠while collider 或者手动使用rigidbody组件手动拼装弹簧,悬架,使车架悬浮在空中的同时受到物理驱动。要想做好整辆车的良好控制性能,需要深层研究车辆稳定性行驶以及阿克曼驱动模型。轮子是基本车辆行驶的最小单位,所以每个轮子的摩擦力和悬架高度以及轮子之间的距离都决定了整辆车的行驶性能。
第一人称射击:
实现了FPS角色行走,跑动,跳跃,下蹲,潜行的基本操作模型,并且利用状态模式和独立公开的操作接口,让整个控制系统的可扩展性有一定的提高。在研究枪械系统时候,总结出枪械中的所有功能,如单发,连发,自动,并将其归类为统一枪械,当使用到不同的功能时候只需要在配置表中改变配置即可,类库都是预先写好公开的功能。
横板卷轴平台跳跃:
横板卷轴滚动的游戏非常普遍。实现了基本的移动,跳跃,滑铲的基本操作功能,并且更深层的研究了各种状态下动画互相切换的状态机,使其更加灵活。在渲染方面研究了横板卷轴中的场景制作问题和视差问题,3D空间和2D平面空间虽然不是同一个维度,但是也会有相应的共同点可以进行互相转换,如《死亡细胞》中的角色渲染为3D但是相机的透视则是正交透视,场景内容都是正交透视制造出经典2D游戏视角,不过里面还蕴含着很深层的问题没有仔细去研究。
对话游戏:
对话游戏中的重点是如何将文档有序的显示到屏幕上,于是有了节点模式。而显示的内容将以什么方式或者什么样的样式放到屏幕上,于是有了基本UI样式框架。为了更加方便的编辑游戏内容,快速更新,我将游戏文档归类为关卡并且格式保存成一个普通可编辑的表格CSV文件。为了更佳的版本更新体验,我尽量保持在原则上不需要下载安装新包小心的进行更新。对话游戏作为最基础的游戏,让我在学习各类游戏制作中又有了更新的认识。开始从架构上思考软件的可运行性,改变了以往直接资源的制作方式,使用间接资源包的方式进行制作,目的增加多样性和拓展性的创意工坊。
休闲音乐游戏:
音乐游戏,音乐中的乐谱本身就是有序行进的编排,BPM则是作为按照每分钟会有多少个节拍被演奏的打点计时器。制作音乐游戏的难度在于同步画面和音频,音频中的节奏点和hitpoint都是一个得分点或者避障点。将乐谱中的每个音符转换为实际上的得分点和避障点进行游戏,生成在游戏中,对此进行打击判定,对判定产生的判定准确度进行评分。整个音乐游戏的结构大致如上。
上帝视角射击游戏:
上帝视角射击的基本移动转向,动画转向是难题,手动瞄准的操作非常困难,能模仿出LOL手游中的手感将会作为此系列的高级应用。实现了子弹作为最基本单位的攻击系统,子弹有生命周期,出生死亡都会调用函数。更加高层的研究和应用会在LOL手游上线国服之后进行更加深度的研究。