当前位置: 首页 > news >正文

unity学习13:gameobject的组件component以及tag, layer 归类

目录

1 gameobject+ component 是unity的基础

1.1 类比

1.2 为什么要这么设计?

2  从空物体开始

2.1 创建2个物体

2.2 给 empty gameobject添加组件

3 各种组件和新建组件

3.1 点击 add component可以添加各种组件

3.2 新建组件

3.3 组件的操作

3.4 特别的点:

4  gameobject 的 tag分类

5  gameobject 的 layer 归属

5.1 layer

5.2 应用举例

6 gameobject的图形化ICON 代表?


1 gameobject+ component 是unity的基础

  • gameobject 是unity里的对象
  • 而component 就是构成对象的各种属性/功能
  • unity里的component比一般意义的更强大,因为gameobject可以就是一个空壳,所以其他内容都是component 决定的,这就是虚拟世界的强大抽象能力吧

1.1 类比

  • gameobject+ component 的关系
  • 就像一般编程语言里的 对象 和 方法吧

1.2 为什么要这么设计?

  • 1 符合面向对象那些思想吧
  • 2 可以进行方法/功能复用,不用反复给每个对象写相同或差不多的方法
  • 3 gameobject  →  component  可以形成一个全组合的效果,很强大
  • 估计还有很多

2  从空物体开始

2.1 创建2个物体

  • 创建2个物体,1个空物体,一个cube ,比较下
  • create empty 只有1个组件componet 就是 transform, 这个是必须有的
  • cube 有很多component,

2.2 给 empty gameobject添加组件

  • 分别添加
  • mesh 
  • mesh render
  • 然后在peoject下创建一个material 默认设置即可,然后拖到mesh render里来
  • 然后就基本和之前创建的正方体一样了

3 各种组件和新建组件

3.1 点击 add component可以添加各种组件

感觉啥都有

  

3.2 新建组件

找不到的可以直接新建

3.3 组件的操作

  • 组件可以 remove 删除
  • move up 
  • move down 下移动
  • 组件可以复制到其他 gameobject
  • 组件,也可以只复制组件的值过去

3.4 特别的点:

  • 1个gameobject 可以有多个相同的 component
  • 如果是创建了新的component ,比如是个C# 脚本,那么component的名字 会决定 C# 脚本里class 的类名,这个过程是自动的
  • 而如果手动修改了外面的 component的名字,需要对应去修改 c#里的class的名字!

4  gameobject 的 tag分类

  • 这个只是分类,打tag后,按tag分来好查找
  • 反过来,根据tag,也方便判断当前 gameobject的类别
  • 还可以自己新建tag
  • 比如player tag
  • 比如enemy tag

5  gameobject 的 layer 归属

5.1 layer

  • 这个layer的选择和新增
  • layer不能无限添加
  • add 只能在系统占用的之后添加

5.2 应用举例

  • 可以是被摄像机等选择性显示里勾选不同的layer
  • 碰撞检测的时候,也可以根据不同layer不同的行为
  •  比如把terrain 设置为ground layer
  •  比如把 其他gameobject 设置为character layer
  •  camera里勾选,cullingmask 勾选掉 character layer, game窗口就看不见这些内容了

6 gameobject的图形化ICON 代表?

http://www.lryc.cn/news/517285.html

相关文章:

  • 51单片机——中断(重点)
  • 企业级Java 实体对象类定义规范
  • 【网络云SRE运维开发】2025第2周-每日【2025/01/07】小测-【第7章 GVRP链路捆绑】理论和实操
  • 蓝桥杯算法|练习记录
  • C语言 扫雷程序设计
  • CSS语言的文件操作
  • 前端-计算机网络篇
  • 行为分析:LSTM、3D CNN、SlowFast Networks。这三者的优缺点
  • 【HarmonyOS NEXT】鸿蒙应用使用后台任务之长时任务,解决屏幕录制音乐播放等操作不被挂起
  • STM32-WWDG/IWDG看门狗
  • 基于视觉惯性 SLAM(VSLAM)、相机和 IMU 数据的融合执行 6 自由度位姿跟踪
  • Matlab仿真径向受压圆盘光弹图像
  • 网络安全抓包
  • WebSocket 测试调试:工具与实践
  • ArmSoM RK3588/RK3576核心板,开发板网络设置
  • 【学Rust开发CAD】1 环境搭建
  • 数据结构与算法之二叉树: LeetCode 108. 将有序数组转换为二叉搜索树 (Ts版)
  • Java 多线程之@Async
  • 代码随想录day38 动态规划6
  • LabVIEW无标题的模态VI窗口的白框怎么去除?
  • iOS - 原子操作
  • Go语言的语法
  • 【MySQL 保姆级教学】用户管理和数据库权限(16)
  • 什么是 ES6 “模板语法” ?
  • [项目实战2]贪吃蛇游戏
  • 关于FPGA中添加FIR IP核(采用了GOWIN EDA)
  • 1. 使用springboot做一个音乐播放器软件项目【前期规划】
  • 【Dify】Dify自定义模型设置 | 对接DMXAPI使用打折 Openai GPT 或 Claude3.5系列模型方法详解
  • 【Rust自学】10.8. 生命周期 Pt.4:方法定义中的生命周期标注与静态生命周期
  • 121 买入股票的最佳时机