Unity 笔记

GameObject.GetComponent获取组件与GetComponentInChildren方法的区别 GetComponent 是访问游戏对象的组件并调整参数的方法,GetComponentInChildren是获取子物体的组件。GetComponent 是访问游戏对象的组件并调整参数的方法,GetComponentInChildren是获取子物体的组件。 阅读详情

获取子节点

使用 GetComponentsInChildren 会返回自身以及子节点,如果要排除自身可以使用以下方法

// transform 本身是可迭代类型,直接迭代即可获取子节点元素
foreach (Transform t in transform) {}

// 使用 Linq 对列表处理
GetComponentsInChildren<Transform>().Where(t => t != transform)
// or
GetComponentsInChildren<Transform>().Skip(1)

常用旋转方法

旋转 vector,使用 Quaternion * Vector3 得到旋转后的 vector

// 将 forward 绕 Y 轴旋转 45
Quaternion.Euler(0, 45, 0) * transform.forward
// 或者使用 AngleAxis 构建 rotation 结果一样
Quaternion.AngleAxis(45, Vector3.up) * vector;

由 vector 得到 rotation

// 得到 fromVector 到 toVector 的 rotation
Quaternion FromToRotation(Vector3 fromVector, Vector3 toVector)
// 将目标 forward 向量对齐到 newForward 向量的 rotation
Quaternion LookRotation(Vector3 newForward)

叠加两个 rotation,使用 Quaternion * Quaternion

// 每帧旋转角度
float angle = rotateSpeed * Time.deltaTime;
// 将右边的 rotation 叠加到第一 rotation
transform.rotation = transform.rotation * Quaternion.AngleAxis(angle, Vector3.up);

Event 使用注意

UnityAction, Action 未订阅直接调用会报错

// 使用时需要判断空
onClickDown?.Invoke()

UnityEvent 直接调用不会报错,对 UnityEvent 判断空无效

// 判断空是无效的
// 可以使用 GetPersistentEventCount 判断通过编辑添加的
// 但代码中通过 AddListener 添加的并不计入
if(onClickDown.GetPersistentEventCount() > 0)
别再只会GetComponent了!Unity中GetComponentsInChildren的3个实战用法与避坑指南 本文深入解析Unity中GetComponentsInChildren方法的3个实战用法与避坑指南,帮助开发者高效处理父子对象组件获取问题。通过实际案例展示如何避免同名组件优先级陷阱、处理非激活对象,并介绍批量修改属性、动态构建关系图等高级技巧,提升开发效率与代码质量。 阅读详情

相关推荐

Unity3d GetComponent和 GetComponentInChildren

using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using UnityEngine.Events; public class MainMenuq : MonoBehaviour { void Start() { List<string> names = new List<string>();

zxcvb036的博客 996

Unity3D——GetComponentsInChildren<T>()方法详解

最近使用GetComponentsInChildren在做游戏获取孩子节点对象的时候遇到了问题,索性就花点时间理解透彻来,省的下次进坑;总结了三种情况,使用需谨慎。

virus2014的专栏 4万+

unity笔记

unity笔记。

Yamoonn的博客 2455

unity GetComponentsInChildren

using UnityEngine; using System.Collections; public class example : MonoBehaviour { public HingeJoint[] hingeJoints; public void Awake() { hingeJoints = GetComponentsInChildren(); foreach (Hing

hhkun0120的专栏 3165

【Unity】HybridCLR测试笔记

测试HybridCLR热更新。按照文档操作来,中间遇到了一些问题,记录在此。

Davidorzs的博客 3289

唐老狮Unity入门笔记

【代码】唐老狮Unity入门笔记。

qq_62622514的博客 1743

Unity中极其重要的Transform(笔记)

本篇笔记用于记录唐老狮视频课程的学习心得Transform是Untiy中必不可少的东西,十分的重要,可以发现,除了空物体外,几乎所有的游戏对象都有Transform存在。Vector3的基础知识。计算距离的方法。位置的坐标系知识,还有位移等的相关知识。

ILLLLLLY3028的博客 2538

Unity5权威讲解之菜鸟读书笔记(一)

Unity5权威讲解读书笔记(一)    emmm这本书自我感觉很适合我这个菜鸟来读,主要讲解了如何制作第三人称的射击游戏(fps),同时介绍游戏开发的必备技巧和技术,实用性很强有种深入浅出的感觉.....

但行好事 莫问前程 2048

Unity Game Optimization 笔记

Unity Game Optimization 笔记 最近重读《Unity Game Optimization》一书,做了些笔记。 书及笔记下载地址:Unity Game Optimization

winchyy的专栏 1810

增量编码器资讯大全

增量编码器是什么 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小,按照工作原理编码器可分为增量式和绝对式两类。 增量式编码器是将位移转换成周期性的电信号,再把这个电信号转变成计数脉冲,用脉冲的个数表示位移的大小。 编码器是把角位移或直线位移转换成电信号的一种装置。前者称为码盘,后者称码尺.按照读出方式编码器可以分为接触式和非接触式两种.接触式采...

kindele的博客 6008

GPU八卡A100使用INT4-W4A16量化大模型实验

本实验旨在探索在环境下,对大语言模型进行权重量化的可行性、效率与性能影响。通过采用工具集成 GPTQ 算法,实现对所有线性层的权重量化(W4A16 方案最终通过lm-eval工具在GSM8K任务上对压缩模型进行评估。

goodgood_UP的博客 1909

Unity系统学习笔记

Resources [资源]类:主要用途就是资源加载;在项目工程中,需要手动创建名为“Resources”的文件夹,相关资源存放到该文件夹内,在代码中即可通过 Resources 类相关的 API 实现资源加载。在 Unity 引擎中,还存在一个名为“射线”的东西,它也可以和碰撞体组件产生物理碰撞,因此“射线”也称之为“物理射线”;Invoke[调用]函数:它是 MonoBehaviour 类中定义的公开方法;

abaidaye的博客 2174

游戏开发-GM系统的设计

游戏管理员(gm)作为游戏中拥有更高权限的账号,在游戏开发的过程中,我们需要很早的将gm系统做出来,作为测试游戏逻辑具有不可替代的作用。 内容目录 服务端与客户端通讯基本流程 gm命令格式设计 gm系统的实现 服务端与客户端通讯基本流程 服务端与客户端通信,如果基本的网络框架搭建完成,那么我们只需要写好命令就可以了 服务器完成一条命令的添加需要3个过程。 (1)命令格式的定义

微不足道 4616

【UNITY学习笔记】【零】

答:第一个更好,许可证可以长达5年,第二个每七天申请一次,你说气不气!还必须安装plastic scm,你说气不气!如果你想学习如何使用Unity编辑器, 可以仔细阅读这篇文章,了解一下Unity的基本语法知识。使用 https://unity.com/releases/editor/whats-new/2022.2.3。如果你选择Unity Hub 安装 Unity 编辑器你就大特特错。然后点击Unity Hub 蓝色链接。问:第一个和第二个有什么区别?这里要使用官网下载。图1为 hub 下载。

quanquan20200202的博客 110

告别转换超时!手把手教你用Allegro2Altium.bat搞定AD21导入Allegro 17.2文件

本文详细介绍了如何使用Allegro2Altium.bat工具解决AD21导入Allegro 17.2文件时的转换超时问题。通过理解转换机制、准备离线环境、执行完整转换流程及高级技巧,帮助工程师高效完成PCB设计文件转换,提升工作效率。

weixin_30378623的博客 421

英飞凌TC3xx之一起认识GTM系列(一)先来认识GTM架构

本文讲述英飞凌TC3xx的通用计时器GTM的架构。

无所适从的我的博客 4596

unity学习 C#快速入门笔记

本文档为笔者学习期间产出的笔记存档,内容用于unity学习快速上手C#

EVEnMore_的博客 2389

基于遗传算法改进BP神经网络的电池容量SOC预测

,遗传算法BP神经网络能很好的实现对电池容量soc的训练和预测,BP神经网络是一种成熟的神经,相对于其他神经网络,拥有很多的训练函数,传递函数,可以调节的参数非常多,对各种问题都可以达到一个比较理想的效果,关键看如何调试参数,选择训练传递函数,遗传算法改进BP神经网络的初始权值阈值,达到改进BP神经网络的目的,从而更好的实现对电池容量SOC的预测

abc991835105的博客 768

自学Unity开发笔记

正在学习Unity开发,开个帖子记录自己笔记心得。

inconjyc的博客 153

YOLOv11目标检测模型性能评价指标详解,涉及混淆矩阵、F1-Score、IoU、mAP、参数量、计算量等,一文打尽所有评价指标

本文主要讲解的是计算机视觉网络模型的性能评价指标,这是每一篇论文中都需要展示的内容。熟悉每一个评价指标也能够帮助我们在训练和改进模型过程中,更好的观察模型的变化效果。

Limiiiing的博客 8410

Microsemi Libero系列教程(全网首发)

关于Libero IDE和Libero SoC Libero分为Libero IDE和Libero SoC,Libero IDE最新版本是v9.2 SP3(2016年4月4日)已经不再更新维护了,而Libero SoC是Libero IDE的升级版,官方推荐的开发工具,文中的Libero指的是Libero SoC。 Libero SoC Libero® SoC是Microsemi(美高森美)官方...

whik1194的博客 2万+

Unity Manual 笔记

notes scene view 3D/2D physics 碰撞 scripts Automatic Memory Management TODO notes packages: collections of asserts play模式下改变不会被保存 Math.Lerp()线性插值 scene view gizmo: camera perspective/...

啊哈!达 667

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

unity入门笔记学习

m0_46011550的博客 114

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Unity入门笔记

title: unity 2D_RPG游戏制作笔记tags:教程笔记的对象是b站白熊游戏制作的教程,供本人参考,看完花费两天,在长久吃灰unity之后用这个教程复习了一些基本知识,部分文字取自chatgpt。

tonzinonin的博客 1375

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Unity学习笔记一

笔记主要包含脚本简介,GameObjectTimeTransform等六大组件以及光源物理音效三大系统的简单入门,除了概念就是API,坚持学完赶紧做项目吧,有一说一还是很枯燥的,be a 无情的。

abc369_7的博客 1237

Unity 开发学习笔记(0):

我最近打算学习一下Unity。所以打算从零开始做一下相关的学习笔记。Unity开发我之前学过两三次,但是中途放弃了。我这次打算从新开始学习,学习最新版本的Unity 6。打算后面在B站上面找个新的视频教程。

qq_44695769的博客 935
上一篇: Unreal 笔记
下一篇: Python 常用命令
Kenight_
博客等级 码龄21年 29粉丝 121原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值