Unity是一款由UnityTechnologies研发的跨平台2D/3D游戏引擎。它以交互的图型化开发环境为首要方式,编译器运行在Windows和MacOSX下,可发布游戏至Windows、Wii、OSX、iOS或HTML5等众多平台。下面由我为大家整理了关于unity实践心得体会模板,供大家参考。
unity实践心得体会1
一、资料篇
书 视频 论坛 API手册
初学一个软件,第一步当然是资料呀,而且应该先一本书。
虽然在数据爆炸的网络时代寻各种资料并非难事,但要从中挑选出适合初学者的却要耗费褚多精力。一本出版的书一般都是面向初学者按照从易到难的方式来编排的,可以很快的让你对Unity有一个基本的认识,并可以按照书上的思路进行系统的学习。如果你也是为了做项目而学习的话,还可以对照书中的章节弄清楚要重点学习的部分。选书时要注意Unity的版本,现在都是Unity5.X的,这一版在GUI编程方面有很大的变化,使用了内置的UGUI。
一般书上都会告诉你如何下载安装Unity,看书时一定要多自己动手操作,这样更容易发现自己掌握不好的部分。对书上所讲的知识有了一定的了解之后可以结合视频来看,看看专家大神们是怎么操作的,这对自己有很高的指导意义。遇到自己想深入了解的部分,如果书上的资料不足,也可以查相关视频来进行专项提高。其中,尤其推荐官方视频,虽然都是英文,但通过看书对基本操作和基础知识有了一定的了解后看起来应该不会太困难。官方视频每一小节都很短,但操作性非常强,经常会给人一种恍然大悟的感觉-原来是要这么操作。
论坛也是我们寻资料和指导的好地方,此外一定要去“Unity圣典”下载Unity的中文API手册,这是我们学习Unity脚本必不可少的。
二、学习篇
回顾一下最近一个月的学习过程主要学习了以下五个部分,基本操作、创建场景和地形、脚本编程、3D模型运动控制、UGUI编程。
其中基本操作和创建场景部分感觉还都比较简单,就是一个熟悉和了解的过程。在使用摄
像机的时候纠结了很长时间,因为总是调不好摄像机的角度,不能在game视图显示出想要的效果。把摄像机的旋转参数X、Y、Z都设为零,作为摄像机的初始状态,改变XYZ的值即改变摄像机绕X轴Y轴Z轴旋转的角度,如果设置为90、0、0则摄像机就会变成从上到下的俯视角。利用改变摄像机的参数还可设置成第一人称视角、第三人称视角,添加到游戏对象上。
脚本模型是学起来感觉最无从下手的一块,迈过这道坎,才能真正进入Unity的世界。刚开始的时候,虽然按照书上的讲解可以实现对游戏对象的控制,但自己并不理解控制是怎么实现的。后来又参考了几本其他的书,又看了不少视频,才慢慢有些理解。Unity的脚本有C#和javascript两种,因为学过一点C++,所以我都是使用C#脚本。在脚本学习的过程中,我感觉有以下几点需要注意的地方。
1、在Unity中可以把游戏对象理解为能容纳各种组件的容器,开发者编写的每一个脚本都被视为一个自定义的组件,游戏对象的所有组件一起决定了这个对象的行为和游戏中的表现。
2、变量、组件、对象如果声明为public类型,可以在脚本绑定处直接添加。如果声明为pr
ivate则需要在脚本中通过代码获取。
3、脚本添加到哪个游戏对象上,脚本中调用组件时默认调用该游戏对象的组件,不需要提前通过代码获取。
4、结合API中文手册来进行学习,多练习,多思考。
3D模型运动控制和UGUI编程现在也只是参照资料马马虎虎的学习了一下,没有太深的感悟。在UGUI编程部分,因为在Unity5.X之前,大家普遍使用的是NGUI插件来进行GUI编程,我先在只学习一下简单的UGUI编程,不知道二者的有什么具体的区别,接下来要好好探究一下。
3D模型运动控制部分主要学习了,3D模型的导入设置以及模型的运动控制与混合。Unity所使用的模型以及基本的运动大都是从一些专业的3D建模软件导入的,在Unity中进行运动的融合、混合及控制。这方面还要多加练习,深入了解。
本文完全是抒发一个Unity未入门小白的学习感概,不知道有没有哪位朋友也有过同样的体会。
unity实践心得体会2
活用 Unity3D 引擎编辑器技巧
1、通过 Assets 分支保证正确的流程
所有的Asset都应该只有一个唯一的版本。如果当我们需要一个分支版本的Prefab、Scene或是Mesh,那么我们需要制定一个非常清晰的流程,来确定哪个是正确的版本。错误的分支应该起一个特别的名字,例如双下划线前缀:__MainScene_Backup。Prefab版本分支需要一个特别的流程来保证安全
。
2、Unity3D 遇到机器突然死机未保存场景的情况
当你在 Unity3D 中编辑场景,突然死机时,可以在项目文件目录中到 Temp 文件夹,双击文件夹,到_Backupscenes
文件夹,把后缀为 .backup 的文件后缀改为 .unity ,然后拖进 Unity3D 的 Project
界面里面,这样就可以还原死机前场景最后情况。
3、考虑编写通用的自定义 Inspector 代码
作为 Unity3D 的检视面板, 编辑 Inspecto r属性时,实现自己定义的 Inspector
是非常直截了当的。而编辑器有很多类:编辑器类。例如:EditorGUI(编辑器界面), EditorGUILayout(编辑器界面布局),
EditorGUIUtility(编辑器界面工具)等等这些,都是编辑器对界面进行编辑,我们都可以进行学习简单套用。
4、学会场景对象的灵活设置
一般我们把控制对象和场景文件夹(空 Game Objec
)放在原点(0,0,0),假设位置对于这个对象不重要,那么就把它放到原点。这样你就不会遇到处理 Local Space 和 World Space
的麻烦,代码也会更简洁。
例如:
把世界的地面放在Y=0,这样能够更方便的把对象放到地面上。而且在游戏逻辑中,能够把世界作为2D空间来处理(假设合适的话),比如AI和物理模拟。
把角和地面物体的中心点( Pivot
)放在底部。不要放在中间这能够使你方便的把角或者其它对象精确的放到地板上。假设合适的话,它也可能使得游戏逻辑、AI 、甚至是物理使用 2D 逻辑来表现 3D
。
4、学会正确设定对象的 Scale ,应该与美术商定把所有导入的缩放系数设置为 1 ,并且把他们的Transform 的 Scale 设置为
1,1,1。可以使用一个参考对象(一个 Unity 的 Cube )来做缩放比较。为你的游戏选择一个世界的单位系数,然后坚持使用它。
5、不要让游戏运行时生成的对象搞乱场景层次结构
在游戏运行时,为动态生成的对象设置好它们的父对象,可以让你更方便的查。你可以使用一个空的对象,或者一个没有行为的单件来简化代码中的访问。可以给这个对象命名为“DynamicObjects”。
unity3d入门 单件可以作为一些管理器,例如 ParticleManager 或者 AudioManager 亦或者 GUIManager 。 对于那些非唯一的
Prefab 实例使用单件管理器(例如 Player )。不要为了坚持这条原则把类的层次关系复杂化,宁愿在你的
GameManager(或其他合适的管理器中)中持有一个它们的引用。 对于外部经常使用的共有变量和方法定义为 Static ,这样你可以这样简便的书写
“GameManager.Player” ,而不用写成 “GameManager.Instance.player” 。
6、学会活用编辑器的快捷键
按键盘键Q、W、E、R、T可以依次切换界面上的小工具。除此之外,按数字键2或3还可以切换场景为 2D 模式或 3D
模式。如果觉得在场景视图中调整对象视角太不方便,可以按住右键结合键盘上的 A、S、W、D、Q、E 键像走路一样调整到合适的视角,然后点击 GameObject
菜单下的 Align With View 即可将游戏视图的视角与场景视图同步。
7、如何应对脚本的运行出错
如果脚本出现错误,Unity 编辑器会因为检查到出错而无法进入运行模式,这时可以在项目视图中新建文件夹 WebplayerTemplates
,然后将出错的脚本拖入此文件夹下,所有位于该文件夹下的文件都会被识别为一般文件从而不会当作脚本被编译,这样就可以运行游戏了。
8、掌握 Unity3D 引擎编辑器中可用的调试工具
Unity3D 中的调试工具有许多功能,包括可以有效帮助用户调试游戏的功能,例如 Debug.Break ,Debug.Log
,Debug.DrawRay 和 Debug.DrawLine
等函数。前两个函数用于理解游戏状态,而后两个函数可帮助用户直观地调试游戏。用户还可以使用调试可视检查器来查运行时的私有字段,调试可视化检查用户需要以不同方式来调试可视化检查。Visual
调试器可以通过生成图表来帮助用户实现这一点,用户可以使用 Monitor Components 执行此操作。
9、掌握 Unity3D 引擎编辑器中可用的测试工具
Unity3D 发布了许多测试工具,这增加了用户的调试改进方法,Unity3D
的测试工具不仅适合正式测试,而且还可以便于进行可以在编辑器中运行,同时无需场景运行的Scratch-pad测试。
活用游戏项目工作流程技巧
工作流程改进技巧旨在帮助用户改进游戏开发过程。使用户的项目完成得更快,更正确。
1、使用源代码控制,获得工作最大效率
正确使用源代码控制来改善用户的工作流程。这将确保用户不会丢失任何工作,还可以让用户检查更改的内容。用户可以序列化资源,使用分支策略来最大限度地控制生产,并使用子模块来最大化源代码的有效控制。
2、确认项目中所需资源的大小
这一决定取决于用户的项目类型以及游戏运行的分辨率。
3、始终用自动化构建过程,节省时间。
自动化构建过程还将确保用户可以同时处理不同的游戏版本,并且帮助用户进行小的更改,无需在每次更改后完成整个构建过程。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论