发布网友 发布时间:2022-04-27 05:16
共2个回答
热心网友 时间:2022-04-27 10:28
Unity3D引擎采用“添加组件”开发方式,符合人类思维方法。初学者能够快速理解并掌握开发原理、流程,是最适合学习的开发模式。
①工程(Project),一个游戏便是一个工程。开发阶段对应一个工程目录(文件夹),发布后则对应一个可执行文件。工程是游戏资源、逻辑、玩法的集于一身的综合项目。
②场景(Scene)。通俗的讲场景是游戏中的“关卡”。多数情况下,每个关卡都是单独的场景。例如游戏中的副本、主城、野外都可以是独立制作的场景;FC红白机中的《超级玛丽》等等。
场景可以是功能性的。这种场景不涉及游戏玩法,但可以在其中执行初始化、热更新等操作。例如很多手游启动后,会进入“读条”、“下载资源”状态,这便是功能性场景。
场景组成了游戏工程。游戏启动后,必然会进入到某个场景,游戏至少包含一个游戏场景,可有无限多个场景。
③游戏对象(GameObject)。游戏对象只能存在于场景中,只要出现在Scene视图中的物体都是游戏对象。场景提供了空间,游戏对象是其中的基本元素。例如花草树木、子弹手雷、人物Boss、按钮图片、爆炸特效等等。游戏对象可以表现出千差万别的样貌和功能,形态、体积、功能可以完全不同。
④组件(Component)。游戏对象之所以表现出不同的性状,是因为其身上挂载的组件不同。组件负责游戏对象的具体和细节体现,是游戏对象最基本的功能粒度。例如场景中的“相机”对象,之所以能够拍摄场景并呈现到Game视图上,是因为“相机”身上挂载了“Camera”组。“Camera”组件提供了这个过程的全部功能,功能来自组件而非游戏对象。“Camera”组件挂载到任意其它游戏对象上后,该游戏对象同样会具备“拍摄”功能。
游戏对象可以看作是很多个组件的“容器”。从Inspector面板中,查看挂载了那些组件。
组件本质是类,必须挂载到游戏对象身上才能工作。游戏运行后,由Unity编辑器负责实例化,无需、也不能手动实例化。并非所有类都可以称之为组件,例如开发者写的脚本类,必须继承于MonoBehaviour类,才能挂载到游戏对象身上;Unity自带的组件,继承于Component类才能挂载到游戏对象身上。
这样,就形成了“游戏”->“场景”->“游戏对象”->“组件”的逻辑链条,最终,我们通过“组件”来驱动游戏中的物体,组成千千万万的逻辑关系,最终实现我们的游戏。
热心网友 时间:2022-04-27 11:46
第一,unity只是一个工具 第二,算法和数据结构和具体的工具无关 第三,编程基本的算法无非是排序算法、树形结构、链表、队列等 第四,算法根据需要去使用,如果是做游戏,一堆的计算机图形学知识需要掌握,如果做3d,必要的3d知识不能少。