【Unity】 HTFramework框架(四十八)使用Location设置Transform位置、旋转、缩放

news2025/1/20 10:59:36

更新日期:2024年5月14日。
Github源码:[点我获取源码]
Gitee源码:[点我获取源码]

索引

  • Location
    • 定义Location
    • 复制Location变量的值
    • 复制Transform组件的Location值
    • 粘贴Location变量的值
    • 粘贴Location值到Transform组件
    • 在代码中使用Location

Location

HT.Framework.Location是一个自定义的数据类型,使用Location来获取、设置Transform组件的位置、旋转、缩放等(局部坐标),将更具便捷性和直观性。

我们可以查看他的定义,其实很简单,就是包装了三个值:

namespace HT.Framework
{
    /// <summary>
    /// 物体位置(包含局部坐标、局部旋转、局部缩放)
    /// </summary>
    [Serializable]
    public sealed class Location
    {
        /// <summary>
        /// 局部坐标
        /// </summary>
        public Vector3 Position;
        /// <summary>
        /// 局部旋转
        /// </summary>
        public Vector3 Rotation;
        /// <summary>
        /// 局部缩放
        /// </summary>
        public Vector3 Scale;
    }
}

定义Location

首先,定义一个Location变量:

    [Label("位置")] public Location Loc;

回到Unity编辑器中,查看此属性的检视器面板:
在这里插入图片描述

复制Location变量的值

我们可以看到Location变量的后面有一个铅笔图标,点击这个按钮,并选择Copy,可以复制此Location变量的值:
在这里插入图片描述

复制Transform组件的Location值

我们在Transform组件上点击鼠标右键,并选择Copy => Location,可以复制此Transform组件的Location值:
在这里插入图片描述

粘贴Location变量的值

点击Location变量后面的铅笔按钮,并选择Paste,可以将已复制(从其他Location复制,或Transform组件复制而来)的值粘贴到此Location变量:

在这里插入图片描述

粘贴Location值到Transform组件

同理,我们在Transform组件上点击鼠标右键,并选择Paste => Location,可以将已复制(从其他Location复制,或Transform组件复制而来)的Location值粘贴到此Transform组件:
在这里插入图片描述
至此,在编辑器中复制粘贴Transform组件的位置、旋转、缩放等将相当便捷。

在代码中使用Location

一个常见的例子,将物体A位置、旋转、缩放(局部坐标)等属性设置给物体B,常规的做法如下:

public class Test : HTBehaviour
{
    public GameObject A;
    public GameObject B;

    protected override void Awake()
    {
        base.Awake();

        B.transform.localPosition = A.transform.localPosition;
        B.transform.localRotation = A.transform.localRotation;
        B.transform.localScale = A.transform.localScale;
    }
}

使用Location简化代码后:

public class Test : HTBehaviour
{
    public GameObject A;
    public GameObject B;

    protected override void Awake()
    {
        base.Awake();

        B.transform.SetLocation(A.transform.GetLocation());
    }
}

当然,Location简化的并不单单是代码行数,而是提升了便捷性、容错性和可读性。

那么,今天的分享到此结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1674107.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

GPT-4o omni全能 openAI新flagship旗舰模型,可以通过音频、视觉、文本推理。自然人机交互,听懂背景噪音、笑声、歌声或表达情感,也能输出。

新旗舰模型GPT-4o GPT-4o 是openAI新flagship旗舰模型&#xff0c;可以通过音频、视觉、文本推理reason&#xff0c;也能组合输出text, audio, and image。 接受文本、音频和图像的任意组合作为输入&#xff0c;并生成文本、音频和图像输出的任意组合。 速度快 2 倍&#xff…

华火5.0台嵌式喷火电燃单灶,更懂未来生活需求

在厨电技术不断革新的今天&#xff0c;第五代华火电燃灶以其独特的技术升级和卓越性能&#xff0c;成功吸引了市场的广泛关注。作为华火品牌的最新力作&#xff0c;第五代电燃灶不仅继承了前代产品的优点&#xff0c;更在多个方面进行了显著的升级和创新。下面&#xff0c;我们…

PXI/PXIe规格 A429/717 航电总线适配卡

A429是一款标准的PXI/PXIe1规格的多协议总线适配卡。该产品最多支持36个A429通道&#xff0c;或32个A429通道加4个A717通道&#xff0c;每个A429和A717通道可由软件配置成接收或发送&#xff0c;可满足A429总线和A717总线的通讯、测试和数据分析等应用需求。 该产品的每个A429通…

Simulink|虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型

主要内容 该模型为simulink仿真模型&#xff0c;主要实现的内容如下&#xff1a; 随着风力发电、光伏发电等新能源发电渗透率增加&#xff0c;电力系统的等效惯量和等效阻尼逐渐减小&#xff0c;其稳定性问题变得越来越严峻。虚拟同步发电机&#xff08;VSG&#xff09;技…

Django项目之电商购物商城 -- 修改/删除收货地址/设置默认地址

Django项目之电商购物商城 – 修改/删除收货地址/设置默认地址 修改和删除收货地址依旧实在user应用下进行 , 其思路和新增收货地址非常相似 依旧是更具前端的数据来写 在这里修改和删除地址的URL是相同的 , 所以我们只要设置一个模型类就可以实现这两个功能 一 . 修改地址…

Go 多模块工作区处理一个go项目下有多个module(即多个go.mod)的情况

背景 在现在微服务盛行的年代&#xff0c;一个人会维护多个代码仓库&#xff0c;很多的时候是多个仓库进行同时开发&#xff0c;也就是在当前项目下有多个目录&#xff0c;每个目录对应一个微服务&#xff0c;每个微服务都有一个go.mod文件。那么我在其中一个目录下要怎么导入…

4.Jmeter阶梯加压Stepping Thread Group

1. 先去Jmeter下载地址下载PluginsManager&#xff0c;放置在Jmeter的lib/ext 目录下 &#xff0c;重启Jmeter 2. 在插件管理器查找并安装jpgc - Standard Set,重启Jmeter 3.右键测试计划->添加->Threads(Users)->jpgc - Stepping Thread Group 然后设置阶梯加压参数…

java中不可变对象使用避坑

总结&#xff1a; 1&#xff0c;不要大量使用不可变对象和不可边对象提供的方法&#xff08;每次调用不可变对象的修改方法会创建出新的对象出来&#xff0c;导致频繁的YGC&#xff09; 2&#xff0c;计算密集型任务不要使用包装类&#xff08;包装类体积大&#xff0c;数据密度…

数据中心逆变电源的功率容量计算方法

随着信息技术的快速发展&#xff0c;数据中心在现代社会中的地位日益凸显&#xff0c;各种企业和机构对数据中心的依赖程度也越来越高。而电源作为数据中心的核心基础设施&#xff0c;其可靠性和高效性直接影响着数据中心的稳定运行。因此&#xff0c;如何设计一款性能优越、可…

OpenAI 今日(北京时间 5 月 14 日凌晨两点)将发布的大更新,不是 GPT-5,也不是搜索引擎

&#x1f989; AI新闻 &#x1f680; OpenAI 今日&#xff08;5月13日&#xff09;将发布的大更新&#xff0c;不是 GPT-5&#xff0c;也不是搜索引擎 摘要&#xff1a;OpenAI 预计即将推出一款新的 AI 语音助手&#xff0c;该助手不仅可以进行语音和文字交流&#xff0c;还能…

【JavaScript】---- 使用 Tween 实现转盘抽奖

1. 实现效果 2. 需求分析 它和正常的转盘抽奖不一样&#xff0c;一般实现都是指针形式的&#xff0c;转盘转动&#xff0c;最后指针停留在奖品的随机位置&#xff1b;通过上边图发现奖品必须刚好停留在奖品的位置&#xff0c;因为不是指针&#xff0c;所以不能最后落到随机位置…

伦敦银晚盘预测方法:以经济数据为基础

晚盘是指北京时间晚上8点到凌晨的这个时段&#xff0c;覆盖了部分欧盘和大部分的美盘。一般来说&#xff0c;这个时段有欧美方面&#xff08;主要是美国&#xff09;的经济数据公布&#xff0c;其中一些重要的数据&#xff0c;如通胀数据、美联储公布利率决议等等&#xff0c;会…

企业为什么需要HTTPS

一.什么是HTTPS HTTPS &#xff08;全称&#xff1a;Hyper Text Transfer Protocol over SecureSocket Layer&#xff09;&#xff0c;是以安全为目标的 HTTP 通道&#xff0c;在HTTP的基础上通过传输加密和身份认证保证了传输过程的安全性 。HTTPS 在HTTP 的基础下加入SSL&a…

winserver系统设置图片查看器

新建 .bat 批处理执行文件&#xff0c;内容如下&#xff1a; echo off&cd&color 0a&cls echo Set Win10 Photo Viewer reg add "HKLM\SOFTWARE\Microsoft\Windows Photo Viewer\Capabilities\FileAssociations" /v ".jpg" /t REG_SZ /d Photo…

centos7.8 迁移为 TencentOS Server 2.4(TK4) 报错解决

文章目录 一 问题二 解决三 注意 一 问题 CentOS 官方计划停止维护 CentOS Linux 项目&#xff0c;公司某台腾讯云的centos7.8服务器计划迁移为 TencentOS Server 2.4(TK4) 。在下载rpm包执行迁移命令后报错&#xff0c;场景还原如下。 首先 安装 Python 3 yum install -y p…

Emby for Mac(轻松管理多媒体影音库)1.9.9中文版

Emby for Mac是一款强大的多媒体影音库管理工具&#xff0c;可以帮助用户轻松管理和浏览自己的影音资源。它可以将用户的个人视频、音乐和照片组合在一起&#xff0c;并将其流式传输到用户的设备上。 Emby for Mac 1.9.9中文版下载 Emby for Mac具有易于使用的界面&#xff0c;…

WMS系统业务学习

电商ERP 供应链整体流程 从采购到付款 需求—采购申请—报价请求—供应商报价—采购订单—接收—付款。 从销售到收款 销售定价—订单—发运—收款—开票。 WMS业务 收货管理 业务流程&#xff1a;采购订单—到货预约—货物交接—&#xff08;质检&#xff09;—上架。 …

【计算机毕业设计】ssm绿色农产品推广应用网站

21世纪的今天&#xff0c;随着社会的不断发展与进步&#xff0c;人们对于信息科学化的认识&#xff0c;已由低层次向高层次发展&#xff0c;由原来的感性认识向理性认识提高&#xff0c;管理工作的 重要性已逐渐被人们所认识&#xff0c;科学化的管理&#xff0c;使信息存储达到…

Spring AI开发前期开发指导(maven依赖下载问题解决)

文章目录 说明开发条件网络环境准备本地环境准备开发工具准备 特殊说明maven配置项目jar一致下载错误解决可行的版本搭配 说明 动力节点视频教程地址&#xff0c;本文章学习该教程&#xff0c;同时说明的maven配置问题导致的项目依赖下载失败的问题和其他问题的记录。 开发条…