一个 unity 新粉丝入门一个月的经验和感想

最近一段时间一直在使用unity.最开始直接上手就撸,之后放低姿态稍微看了几个教学视频.就这样算是较快的度过了从写代码到使用编辑器的不适期.在熟悉了 面向组件的开发方式,熟悉了 unity 编辑器和 物理引擎之后,现在能够搞定大部分种类的 2d gameplay 开发了.我也逐渐的体会到了 unity 的便捷,以及使用unity 开发游戏的乐趣.

让我比较有深刻体会的有几个方面.

开始时不熟悉物理引擎,在我写前3个小 demo 的时候花了不少时间在这上面试错.现在 常见的物理问题,我都有思路解决了.

之后是 gameplay 的开发方式.起初还是不太适应面向组件的开发方式.后来慢慢的适应了,比如某个东西,如果增加一种新的能力,就需要多挂一个脚本.现在的项目里,除了主角的脚本越挂越多看起来有点视觉障碍之外,我已经非常适应这种开发方式了.

在开发 gameplay 的同时,了解了一下 tilemap editor, sprite editor,animation editor 等配套工具的使用方式.从0开始的话,这部分需要花一些时间来熟悉和理解它的使用方式.但是一旦熟悉之后使用起来还算方便.

ugui 几乎没有看任何资料,直接上手撸,编辑器非常强大易懂.趟过的一个问题是 ugui 的 canvas 分为 3种类型,一个是做正常的 ui, 一个是用于开发 3d 模型显示在ui 之前的那种 ui ,另一个用于开发 gameplay 中各个物体上的 ui .在给移动的敌人头顶上增加血条的时候,遇到了一些问题,花了我一个晚上的时间摸索解决.

unity在做版本控制时,目前还是感觉不太适应.每次提交时 .meta 文件似乎不可以忽略,但是这样就造成提交时候密密麻麻很多文件,会导致自己懒于仔细比对自己所作的所有修改.不知道关于版本控制方面,有没有什么更好的解决办法.

后来熟悉了一下android打包流程.个人的体会就是快,方便.在已经安装好了 jdk 和 android studio 的电脑上,从安装打包需要的扩展,到android 真正打包成功,时间非常短,流程极其傻瓜.另外,打出来的包体,在我没有做任何优化的情况下,满帧跑得飞起,适配做得非常好,包体也很小.一些自己写得 shader 兼容性也没有出现问题.让人特别安心.

中间还花了不多的时间了解了一下 profiler .了解比较有限,但是直观的感受是,比 visual studio 的诊断工具和 xcode 的 profiler 都快很多,没有太多的卡顿.对于分析结果目前使用经验有限,只大概了解到能够看到每个脚本的 update ,fixedupdate 等函数的耗时.

对音频播放机制也做了简单的了解.可能与音效添加本身在游戏开发中就是一个比较琐碎的工作有关,个人感觉给游戏各处添加音效,即使是使用 unity ,也并没有让我觉得很便捷.

再之后就是场景管理,资源加载,配置读取.目前的理解是使用 AssetDataBase 能够做一些资源整体控制的工作,各个内容的加载也都有相应的 Async 的异步回调函数.将阿来需要实践一番.

还了解了一点 编辑器扩展.这部分所看有限,但是这部分目前感觉比想象得庞大的多.我目前算是知道有这么一个东西需要将来花时间学习和使用,但目前没有做深入的实践和了解.

再之后就是这两天在看的 图形渲染了. 主要了解了一下 unity 渲染管线, shaderlab 的写法以及 rendertexture.我目前的感觉就是要比纯 c++ 写 opengl ,glsl 直观和方便太多了.我刚刚看了2天,写了两个能够在游戏里使用的效果.一个是背景的移动,从几个面片位移+拼接,改成了uv 动画;另一个是场景切换时,使用 render texture 配合 gui + shader 写了一个全屏动态场景切换的 shader 效果. unity 强大的编辑器让整个过程debug 起来非常方便, CG 语法写的 shader 也比 glsl 直观得多,让我对渲染管线有了一些比以前更深刻的理解.unity 算是一个学习渲染管线的绝佳的辅助工具.

写 shader 时,连续遇到了几个问题,使我对 unity 特有的渲染队列 Queue 控制渲染优先级,以及 Blend Mode,Z Test 有了更深刻的认识.现在如果写一些 2d 游戏里面的shader 效果,我已经有了一些信心了.

目前亟待我去了解,但是还没来得及深入的点包括:

1.网络通信

2.光照 ,以及更深层的渲染技术

3.profiler 的使用,性能优化

4.编辑器扩展

5.3d寻路,导航网格

在学习的过程中, unity 官方的 manual , api 手册 起到了很关键的作用.api不会用的时候查 api 手册是最靠谱的,比网上很多烂七八糟的博客要高效太多.对新 feature 不熟悉时,我的经验是通读一下 manual 相关的章节,也能够获得一个整体概念上清晰正确的认识.很庆幸当年 gameloft 的工作经历让我能够在通读英文开发文档时并没有感到太吃力

同时,还有2组视频算是我的主力教材:

gameplay开发 ,编辑器使用方面,这个 up 主的视频给了我大启发

https://space.bilibili.com/370283072?spm_id_from=333.788.b_765f7570696e666f.2

shader编写入门,下面这个视频讲解的非常好,汲取了很多知识

https://www.bilibili.com/video/av50352048v

经过这一个月的学习,我算是对 unity 入门了.不知道以现在这样的水平出去找unity 相关的工作有多大胜算.目前的打算还是在公司沉淀沉淀,开发一个上线的项目, 自己利用业余时间写一些有趣的 demo 出来.

真心的感谢 unity 这么方便好用,让我重新找到了开发游戏的乐趣.回过头来看,还是应该多多尝试,多多接触新鲜事物,人人都说好的东西,多半也坏不到哪去

你可能感兴趣的:(工作日志)