unity是一款由unitytechnologies研发的跨平台2d/3d游戏引擎。它以交互的图型化开发环境为首要方式,编译器运行在windows和macosx下,可发布游戏至windows、wii、osx、ios或html5等众多平台。下面由我为大家整理了关于unity实践心得体会模板,供大家参考。
一、资料篇
书 视频 论坛 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类型,可以在脚本绑定处直接添加。如果声明为private则需要在脚本中通过代码获取。
3、脚本添加到哪个游戏对象上,脚本中调用组件时默认调用该游戏对象的组件,不需要提前通过代码获取。
4、结合api中文手册来进行学习,多练习,多思考。
3d模型运动控制和ugui编程现在也只是参照资料马马虎虎的学习了一下,没有太深的感悟。在ugui编程部分,因为在unity5.x之前,大家普遍使用的是ngui插件来进行gui编程,我先在只学习一下简单的ugui编程,不知道二者的有什么具体的区别,接下来要好好探究一下。
3d模型运动控制部分主要学习了,3d模型的导入设置以及模型的运动控制与混合。unity所使用的模型以及基本的运动大都是从一些专业的3d建模软件导入的,在unity中进行运动的融合、混合及控制。这方面还要多加练习,深入了解。
本文完全是抒发一个unity未入门小白的学习感概,不知道有没有哪位朋友也有过同样的体会。
作为一名游戏开发者,学会巧用引擎编辑器,可以让我们创造出更多优秀的游戏作品。今天小编与大家共同浅析这些常见的实用技巧。
活用 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”。
单件可以作为一些管理器,例如 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、始终用自动化构建过程,节省时间。
自动化构建过程还将确保用户可以同时处理不同的游戏版本,并且帮助用户进行小的更改,无需在每次更改后完成整个构建过程。
4、随时保存文档
养成随手保存好习惯能避免各种问题。此外,文档可以让项目组其他成员更好地了解、协助完成本项目。
5、将测试场景与代码分开
测试场景可能是项目中一个庞大的部分,在项目完成后这些测试场景是没有用的。要确保项目文件不会太占空间,请将测试场景与代码分开,并在项目完成后将其删除。
对于我来说实习是一个即熟悉又陌生的字眼.
本次实习虽说时间不长但不失为一个让我增长专业知识的好机会,以前虽然接触过一些建筑方面的知识但可以说是相当的少,本次实习从开始的在室内观看一直到后来到学校正在施工中的图书大楼施工现场参观,这些即增加了我建筑安全方面的知识也让我有了一个了解施工现场的好机会,让我进一步了解到理论与实际的差别.
在观看中让我深刻了解到重大人为责任事故,玩忽职守,没有责任心,忽视安全生产和违法施工项目对人们生命财产的威胁和对国家财产的不可估量的损失.
如片中提到的虹桥跨塌事故是一个典型的违法施工项目.1,没有正确立项未经主管部门立项2,无可行性报告3,无正规设计单位4,无正规施工单位5,无工程监理6,无进行规范检查验收就投入使用等等问题,如果说这些都是隐患的话,那还有一个致命的错误,那就是片中提到的在一次桥上聚有很多人群时,桥身发生了一声巨大的声响和剧烈的摇晃.经检查是由于桥身有一拉筋断裂,在草草焊上后又继续使用,没有对桥进行全面的检查是那次事故的直接原因.片中还提到某些人即不是专家又不是设计人员却私自更改设计方案从而发生悲剧,当然如果你是专家,在没有人生保障的前提下也不能随意更改原设计,这些是必须遵守的.
从安全生产的角度来讲我们应识别和分析建筑施工中危险源点(1)建筑施工中不安全隐患存在的主要场所:高处作业、机械作业、交叉作业、垂直运输作业、深基坑作业和电气作业等。(2)建筑施工中伤亡事故多发的类别:高处坠落、物体打击、触电、机械伤害、坍塌、中毒这6个方面.这六类事故占事故总数的85%以上.在工地我还发现很多,诸如,模板工程安全生产技术、起重吊装安全生产技术、拆除工程安全生产技术、建筑机械安全生产技术、垂直运输机械安全生产技术、脚手架工程安全生产技术、高处作业安全技术、临时用电安全技术、临时用电安全技术、职业卫生、施工现场防火技术等等,我国工伤事故已成为国民-意外死亡的"头号杀手",严重地影响了正常工作秩序、生活秩序和社会的稳定。建筑业生产伤亡事故率排在矿山生产之后,成为威胁产业工人生命健康的危险行业.改革开放以来,我国的施工建设迅猛的发展,但我们重视科学、重视安全,1997年万人死亡率0.54;1998年万人死亡率0.45;2001年万人死亡率0.35,呈逐年下降趋势。实践表明,全民重视安安全生产,尊重科学、尊重人才,营造科技进步、科技创新的社会氛围,施工安全技术就将日益提高和进步。回顾我国建筑安全生产的历史,从伤亡事故的变化中发现,凡是尊重科学、尊重人才、全民重视安安全生产的时期,伤亡事故率就下降,反之则上升。
通过参观学校实训中心让我从简单的建筑材料看起到后来的钢结构模型,还有钢结构之间的节点连接.随着科学技术的发展,我们拥有了很多智能化的施工机械和检测设备等等,可以用来施工和检验试件和构件等.给我印象特别深的是全自动粉墙机,它在上升过程中料斗中的砂浆能搅拌,而在下落过程中即停止,我以前竟不知道有这样一种机械,所以.给我印象特别深,这些都增加了我对建筑的感性认识.
转眼间,一个学期就过了,不得不感慨,时间过得真快啊!这个学期我们有一门课叫《建筑材料》,简称“建材”。这是我们的专业课,学的东西对我们以后都很有用。可以说,这门课时我们现在所学的各科来说,这是重点。
学这门课,有理论的知识、有实训。其中实训呢,是一种非常重要的学习方式。通过实训,我们可以学到很多东西,认识到许多仪器设备。这些东西都是与我们建筑行业有关的,这些实训与接触的这些东西让我们提前对建筑这个行业有了解。
我是建材检测协会的,在没上这门课之前我就做过好几个与这门课有关的实训了,比如说:钢筋拉伸、混凝土试块等等.学长他们还帮我们培训了许多相关内容.虽然好多东西都学了,但是我并不是很熟悉,上建材课的实训,巩固了我们的知识,加深了记忆,让我们对各个实训器械有了进一步的认识,也对知识有了更深的理解。
上实训课我们要分小组,我们组都是我们宿舍的人,所以没有男生,自然而然,一些苦力的活就落在我的头上了。拿稍微重点的东西就是我去了,比如说:做混凝土的试块的模,做完后拿去振捣,我一个人拿一个,她们俩人拿一个……实训课都是我们亲力亲为,筛沙子、做试块、铲砂石、称重量、拌混凝土。。。。。。都是我们自己弄的。这些实训不仅仅让我们懂得了知识,也让我们的身心得到了锻炼。在老师的指导下,我们完成了一次又一次的实训,虽然没有几次是做出合格的结果,但是我们尽力了 。老师的教导让我少走了许多弯路,让我们在不会的她给我们提供帮助,做实训的时候她会在旁边悉心教导,让我们能在最短的时间内完成实训。她会教我们怎么做、做什么……
通过这个学期的实训课,我学到了许多书上的、课外的知识。实训课是我们学习知识的一个号方法,他能让我们更加直观、深入的学会书上的理论知识。在实训的过程中,我们自己动手,这不仅让能我们学到知识、认识器械,还让我们锻炼了自己的动手能力。真的希望以后学习其他科目也能像建材这门课一样理论课与实训课相结合。
通过此次建筑材料实训,让我学习到了许多东西。同时也使我对建筑材料试验有了更进一步的了解和体会。此次实训,我不仅学习到很多关于水泥、砂浆、混凝土的相关知识,而且锻炼了我认真、细心的品质,增强了团队合作及动手操作能力。更重要的是培养了我对这门课的兴趣。
每次试验前,我都会抽出时间来仔细的阅读《建筑材料实训指导》,主要是学习规范、熟悉仪器、了解试验步骤。不放过每一个细节,重点部位就做上标记。但这都还是“纸上谈兵”,当到了真正要试验的时候,才发现没那么简单。幸好,老师在每次试验前,都要把试验的步骤、要求以及规范再仔细地讲一遍。试验中老师在旁边细心观看,对我们出现的问题及时的予以纠正。
刚开始因为试验的某些小环节做的不到位,在测混凝土坍落度试验时,由于脚没有踩住坍落度筒,导致混凝土溢出。于是第二次我们吸取教训,调整了方法。最终使得坍落度满足了要求。因此,我觉得要想顺利完成试验,就必须认真。
这次实训涉及了许多专业知识,通过这些专业知识的结合运用,对于我是一个很好的锻炼,也为接下来的学习,奠定了一个良好的基础。所以我很珍惜这次在学校学习的机会。
实训是学校培养方案和教学计划的重要环节,它是所学理论知识与工程实践的统一,也是学生从学校走向社会的一个不可缺少的过度阶段。短暂的实训已经过去,首先,我想先向所有为我的实训提供帮助的同学和我的指导老师致谢,感谢你们为我顺利的实训所做的帮助和努力。
在书本上学过很多的理论知识,似乎通俗易懂,但从未付诸实践过。通过实训,我把理论和实际相结合,不但巩固了理论知识还增加了动手能力。当初很多题、案例在老师的指导下似乎轻而易举,而当自己亲自上阵时才知道并非易事,才意识到自己能力的欠缺和知识的匮乏,才体味到古人所说的一句话“书到用时方恨少”。可是世上没有后悔药。我只有不断学习,吃苦耐劳,塌实工作,拓宽视野,增长见识。积极面对每一天的挑战,明确今后职业生涯的目标方向,在工作中积累丰富的知识和经验。接下来我要一路披荆斩棘,努力地学习与实践,不断地提高自己。
由于我们先前试验时严格遵守试验要求,所以在撰写报告的过程中,显得很是轻松。我先是用了一天的时间来整理数据,然后用接下来的两天撰写报告。虽然紧张但非常的有序。
理论结合实践。我不敢肯定我们的计算是否全部正确,但我相信我们是最认真的。至此,为我此次的建筑材料综合实训,画上一个圆满的句号。