如何理解Unity组件化开发模式

Unity的开发模式核心:节点和组件,组件可以加载到任何节点上,每个组件都有 gameobject 属性,可以通过这个属性获取到该节点,即游戏物体。

也就是说游戏物体由节点和组件构成,每个组件表示物体的一种特性(能力)。

可以按照三条线路去理解Unity的组件化开发模式:

1、场景树。

场景树由节点构成,使用了整体与局部的思想,如父亲节点移动,孩子节点会跟随移动,不用每个都去移动。

Transform组件是每个节点必备的节点,并且记录了父亲节点与孩子节点之间的关系。

2、渲染关系

Mesh组件:记录了物体的网格信息,相当于3D物体的骨骼。

MeshRender组件:完成3D物体的渲染,相当于3D物体的皮肤,并由一个材质参数(Material)来指定材质。

Material:材质,决定物体的显示样子。

3、物理关系

Rigidbody(刚体)组件:使3D物体具有物理特性,能受力的影响。

Collider(碰撞器)组件:绘制3D物体的物理形状,使用物体之间能相互碰撞。

PhysicMaterial:物理材质,使3D物体具有一些物理特性,如摩擦力、弹性等。

以上就是构成Unity中3D世界的基本组件以及关系。

原文地址:https://www.cnblogs.com/xiaoyulong/p/9955557.html

时间: 2024-09-29 00:57:36

如何理解Unity组件化开发模式的相关文章

IBM特别开发出一套全新的企业模型-- 组件化商业模式(Component Business Model,CBM)

我有一个想法:EOM 我今天在对解决方案作领域分解(domain decomposition)的时候,想到从企业运营的角度出发,能不能提出一个企业运营图EOM(Enterprise Operation Map)的这么一个概念.EOM是一种业务过程模型或者框架,它为企业提供所要求的企业过程,它从企业的业务视图出发来描述需求,对业务过程进行分析和设计:再经过系统分析和设计,形成解决方案的分析和设计,最终建立系统并投入使用.EOM的重点在于对企业开展业务所涉及的过程单元和业务活动进行分类,并通过多种方

组件化开发的一些思考

看了limboy和Casa的文章,关于组件化开发,整理了一下思路. 1.为什么要进行组件化开发? 一个产品,在最开始的时候,由于业务简单,一般是直接在一个工程里开发.这种方式,在产品起步阶段,是没有问题的,也能够有效的保证开发效率.但随着业务的不断发展,代码量不断增多,开发团队不断壮大,最后的模块间关系会发展成如下图所示: 从上图中可以看到,这种单一工程开发模式存在一些弊端: 模块间耦合严重(模块是指较大粒度的业务功能.比如说微信,我们根据首页Tab,可以分为四大模块:会话.通讯录.发现.我).

Android项目模块化/组件化开发(非原创)

文章大纲 一.项目模块化初步介绍二.项目模块化的两种模式与比较三.大型项目模块化的演进四.项目模块化总结五.参考文章 一.项目模块化初步介绍 1. 前言 在Android开发中,随着项目的不断扩展,项目会变得越来越庞大,而随之带来的便是项目维护成本与开发成本的增加!每次调试时,不得不运行整个项目:每当有新成员加入团队时,需要更多的时间去了解庞大的项目...而为了解决这些问题,团队通常会将项目模块化,以此来降低项目的复杂度和耦合度,让团队可以并行开发与测试,让团队成员更加专注于自己所负责的功能模块

Vue组件化开发

一. 通过axios实现数据请求 1. json简介 json是 JavaScript Object Notation 的首字母缩写,单词的意思是javascript对象表示法,这里说的json指的是类似于javascript对象的一种数据格式. json的作用:在不同的系统平台,或不同编程语言之间传递数据. 1.1 json数据的语法 json数据对象类似于JavaScript中的对象,但是它的键对应的值里面是没有函数方法的,值可以是普通变量,不支持undefined,值还可以是数组或者jso

【组件化开发】前端进阶篇之如何编写可维护可升级的代码

前言 我还在携程的做业务的时候,每个看似简单的移动页面背后往往会隐藏5个以上的数据请求,其中最过复杂的当属机票与酒店的订单填写业务代码 这里先看看比较“简单”的机票代码: 然后看看稍微复杂的酒店业务逻辑: 机票一个页面的代码量达到了5000行代码,而酒店的代码竟然超过了8000行,这里还不包括模板(html)文件!!! 然后初略看了机票的代码,就该页面可能发生的接口请求有19个之多!!!而酒店的的交互DOM事件基本多到了令人发指的地步: 当然,机票团队的交互DOM事件已经多到了我笔记本不能截图了

vue中的组件化开发

常常听一些前辈说vue是react的组件化+angular的数据绑定的结合体: 最近刚刚开始使用vue开发项目,我也是在摸索中前进,现在我们来说一说vue的组件化开发. 实际的项目开发,并不像一些文章中的提到的模式,而是如图所示的模式: App.vue是项目的入口.组件实则也是一个以.vue为后缀的文件.我们可以在src\components文件夹下创建一个xxx.vue: 然后在文件中编写可以提出的公共部分的代码为组件.然后在您需要调用该组件的页面,如下图方式调用: 是不是很简单.现在来解释一

Android 业务组件化开发实践

组件化并不是新话题,其实很早很早以前我们开始为项目解耦的时候就讨论过的.但那时候我们说的是功能组件化.比如很多公司都常见的,网络请求模块.登录注册模块单独拿出来,交给一个团队开发,而在用的时候只需要接入对应模块的功能就可以了. 百牛信息技术bainiu.ltd整理发布于博客园 今天我们来讨论一下业务组件化,拿出手机,打开淘宝或者大众点评来看看,里面的美食电影酒店外卖就是一个一个的业务.如果我们在一个项目里面去写的时候,总会出现或多或少的代码耦合,最典型的有时为了赶上线时间而先复制粘贴一段类似的代

JS 组件化开发 系列(一)

JS 组件化开发 系列 作为前端开发,组件化开发是你成长的必经之路.时间的积累逐渐摸索出自己比较好的开发方式. --- zenking (1)实现最简单的组件化: var jdb ={ alert: function(str) { alert(str); }, console:function (str) { console.log(str) } } 这样就是简单的实现 jdb.alert.jdb.console 两个方法. 但是呢? 现在需求改了, 需要实现链式调用. 就是像jquery 一样

vuex在组件化开发中的简单应用小例子

首先, 介绍一下vuex是个什么东西, 个人理解来说, vuex就是一个状态管理的东西, 它里面有且仅有一个Store仓库, 这个仓库里面存放着一些变量, 为什么要有这么一个变量呢, 用过vue的人肯定都清除, 父子组件之间的通讯传值是个比较麻烦的事情, 特别是, 嵌套组件特别多的时候, 这种情况下, 一级一级地传递下去十分麻烦, 还有就是兄弟组件之间的传值也一样麻烦. 而vuex中的Store这个仓库, 就能够为我们将放在这个仓库中的值, 分发给整个项目下的所有组件, 也就是说是, 不用一级一