【Unity3D】Unity 脚本 ④ ( 游戏物体 GameObject 的坐标 | 修改 游戏物体 GameObject 的本地坐标 )

news2024/12/23 9:49:13

文章目录

  • 一、 游戏物体 GameObject 的坐标
  • 二、 修改 游戏物体 GameObject 的本地坐标





一、 游戏物体 GameObject 的坐标



游戏物体 GameObject 的坐标 有 2 种 :

  • 世界坐标 : 调用 Transform#position 属性 获得 ;
  • 本地坐标 : 调用 Transform#localPosition 属性 获得 ,本地坐标 就是在 Inspector 检查器 中显示的 Transform 组件 坐标值 , 这是常用的坐标 ;

在这里插入图片描述

在 C# 脚本中访问 游戏物体 GameObject 本地坐标 时 , 使用

this.gameObject.transform.localPosition

代码获取 , 也可使用简化写法 , 省略掉中间的 gameObject , 即

this.transform.localPosition

上面两种用法是 等效的 ;





二、 修改 游戏物体 GameObject 的本地坐标



在 C# 脚本中 , 调用 this.transform.localPosition 代码 , 获取的 本地坐标 类型是 Vector3 类型 , 这是一个 三维向量 , 由 3 个 float 浮点型的数值组成 ;

如果要设置 游戏物体 GameObject 的 本地坐标 , 则为其赋值一个 Vector3 类型的 三维向量 , 使用构造函数创建 Vector3 实例对象代码如下 :

new Vector3(4.0f, 4.0f, 4.0f);

修改物体的 本地坐标 代码如下 :

this.transform.localPosition = new Vector3(4.0f, 4.0f, 4.0f);

上述代码的含义是将 C# 脚本 附着的 游戏物体 GameObject 移动到 本地坐标 (4.0f, 4.0f, 4.0f) 位置 , 也就是 Inspector 检查器 中设置 (4.0f, 4.0f, 4.0f) 坐标 ;


完整代码示例 :

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class BehaviourScript : MonoBehaviour
{
    // Start is called before the first frame update
    void Start()
    {
        // 打印日志
        Debug.Log("Unity 脚本入口 , 启动加载时调用");

        // 获取当前组件附着的 游戏物体 GameObject
        GameObject gameObject = this.gameObject;

        // 获取当前组件附着的 游戏物体 GameObject 名称
        string name = gameObject.name;
        Debug.Log("C# 脚本附着游戏物体的名称 : " + name);

        // 获取当前组件附着的 游戏物体 GameObject 的 Transform 组件
        Transform transform = gameObject.transform;

        // 获取 Transform 组件的 位置 , 旋转量 , 缩放倍数 
        Debug.Log("C# 脚本附着游戏物体的 Transform 组件数据 位置 : " + transform.position 
            + " , 旋转量 : " + transform.rotation + " , 缩放倍数 : " + transform.localScale);

        // 将 当前组件附着的 游戏物体 GameObject 移动到 (4.0f, 4.0f, 4.0f) 坐标位置
        this.transform.localPosition = new Vector3(4.0f, 4.0f, 4.0f);
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

回到 Unity 编辑器 , 执行前 , 立方体的坐标是 ( 0 , 0 , 0 ) , 执行前的状态如下 :

在这里插入图片描述
点击 Unity 编辑器 工具栏右侧的 执行按钮 在这里插入图片描述 , 执行后立方体的坐标是 (4.0f, 4.0f, 4.0f) , 具体状态如下 :

在这里插入图片描述

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

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

相关文章

这份Java大厂常见面试题解析,你的闭关修练宝典!

纵观今年的技术招聘市场, Java依旧是当仁不让的霸主 !即便遭受 Go等新兴语言不断冲击,依旧岿然不动。究其原因: Java有着极其成熟的生态,这个不用我多说; Java在 运维、可观测性、可监 控性方面都有着非常…

Materials Studio8.0

centos7.9 检查主机名: 检查环境: [rootmaster conf]# rpm -qa|grep glibc; rpm -qa|grep libgcc; rpm -qa|grep libstdc ;rpm -qa|grep redhat-lsb Materials Studio8.0软件包 链接:百度网盘 请输入提取码 提取码:fomg 软件…

【LeetCode每日一题:891. 子序列宽度之和~~~排序+数学推导】

题目描述 一个序列的 宽度 定义为该序列中最大元素和最小元素的差值。 给你一个整数数组 nums ,返回 nums 的所有非空 子序列 的 宽度之和 。由于答案可能非常大,请返回对 109 7 取余 后的结果。 子序列 定义为从一个数组里删除一些(或者…

骗赞小程序(仅供恶搞)

作为一个 良 凉心博主,平时发的文章得不到点赞,也得不到关注,这改如何办?很简单只需要勤奋发文 威逼利诱。如何威逼利诱,用关机啊! 所以,我们需要一个程序,让用户自行选择是否进行关…

85服务-ControlDTCSetting

诊断协议那些事儿 诊断协议那些事儿专栏系列文章,本文介绍诊断和通讯管理功能单元下的85服务ControlDTCSetting,该服务的目的是控制DTC设置。 文章目录诊断协议那些事儿一、85服务-ControlDTCSetting二、请求格式DTCSettingType三、肯定响应格式四、否…

PLC滑动平均值滤波(SMART 200梯形图篇)

滑动平均值滤波的算法原理请参看《信号处理》专栏的其它文章,这里给出简单快速写法,以供参考。 S7-200 SMART PLC信号处理系列之滑动平均值滤波FB_RXXW_Dor的博客-CSDN博客_plc平均值滤波程序PLC相关滤波算法,专栏有很多详细讲解这里不再赘述。滑动平均值滤波和算术平均值滤…

基于51单片机的多功能视力保护台灯

目录 摘要. 1 1弓I言 1 1.1 选 题 背 景 1 2 视力保护器的现状 2 1.3 本文主要研究内容 3 2系统硬件 设计 31 89c52 单片机简介 4 2.2 超声波测距报警 电路 53 89c5 2 单片机的中断系统 74 光线报警电路 8 1 光敏电阻控制电路 8 2.5 定时报菩电路 9 2.5. 1 单片机控制电路 10 …

[附源码]SSM计算机毕业设计茶园文化交流平台论文JAVA

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

u-boot对设备树的支持__传递dtb给内核

a. u-boot中内核启动命令: bootm <uImage_addr> // 无设备树,bootm 0x30007FC0 bootm <uImage_addr> <initrd_addr> <dtb_addr> // 有设备树 比如 : nand read.jffs2 0x30007FC0 kernel; // 读内核u…

两客一危解决方案-最新全套文件

两客一危解决方案-最新全套文件一、建设背景二、思路架构三、建设方案1、多维数据融合2、车辆轨迹分析3、AI 视频分析4、评价体系四、获取 - 两客一危全套最新解决方案合集一、建设背景 “两客一危一货”车辆是指公路客运、旅游客运、危化品运输车及货运车辆。“两客一危”车辆…

【freeRTOS】操作系统之三-信号量

1 二值信号量 1.1 二值信号量简介 ​ 二值信号量通常用于互斥访问或同步&#xff0c;二值信号量和互斥信号量非常类似&#xff0c;但是还是有一 些细微的差别&#xff0c;互斥信号量拥有优先级继承机制&#xff0c;二值信号量没有优先级继承。因此二值信号量更适合用于同步(任…

计算机毕业设计springboot+vue+elementUI 广场舞团高校舞蹈社团管理系统

项目介绍 随着时代的发展&#xff0c;高校的社团发展完善&#xff0c;同时越来越多的年轻人喜欢广场舞以及各类舞蹈。为了让更多的年轻人能够有一个自己喜欢的爱好&#xff0c;并且有一个共同交流的平台。我们开发了本质的广场舞团&#xff0c;高校社团管理系统。通过本系统可…

代码随想录day59|503. 下一个更大元素 II|42. 接雨水|Golang

代码随想录day59 还剩下一天 目录 代码随想录day59 503. 下一个更大元素 II 42. 接雨水 双指针解法 动态规划解法 单调栈解法 503. 下一个更大元素 II func nextGreaterElements(nums []int) []int {n : len(nums)ans : make([]int,n,n)for i:0;i<len(ans);i{ans[i]…

ECCV2022 商汤 发布最大的表征学习预训练数据集OmniBenchmark解读

近些年&#xff0c;基于深度模型的表征学习算法在某些知识域上&#xff08;例如人脸、动物等&#xff09;取得了非常优异的成绩&#xff0c;然而由于现有数据集覆盖的视觉类别仍然比较有限&#xff0c;一个覆盖视觉类别足够广&#xff0c;且能够支持学习到适用于许多视觉类别的…

CRM的定义是什么?这么多CRM产品,CRM客户管理系统该如何选择?

在禽流感的助涨下&#xff0c;CRM被拉到了众矢之的。 为甚么这样说呢&#xff1f;绝大多数民营企业遭遇着巨大的存活压力&#xff0c;导致民营企业不得已展开结构调整和网络化。CRM作为一种专精的客人关系管理工作工具&#xff0c;再次受到追捧。 CRM具有客人管理工作、网络营…

JavaScript的DOM技术

JavaScript的DOM技术 文章目录JavaScript的DOM技术1.DOM简介1.1 DOM概念2.获取元素2.1 如何获取页面元素2.2 根据ID获取2.3 根据标签名获取2.4 根据标签名获取2.5 通过H5新增方法获取2.6 获取特殊元素3.事件基础3.1 事件概述3.2 事件三要素3.3 执行事件的步骤3.4 鼠标事件4.操作…

工程施工监理平台app开发 开创工程监理服务新理念

工程项目最容易让人焦头烂额&#xff0c;很难统揽全局&#xff0c;更无法将施工中的每一个问题都处理得当&#xff0c;工程施工监理平台app开发&#xff0c;从根本上解决了工程监管问题&#xff0c;成为工程施工监管方面的福音和好帮手。工程施工监理平台app开发是专注工程现场…

【单目3D目标检测】FCOS3D + PGD论文解析与代码复现

文章目录前言FCOS3D概述主要创新点主要框架结构回归目标损失函数推理过程2D引导的多层3D预测2D高斯分布的3D中心度实验设置源码复现PGD概述主要创新点深度估计主要框架结构创新点一&#xff1a;概率表示的不确定性建模DPD_PDP​创新点二&#xff1a;透视几何体的深度传播DGD_GD…

删除或者移动文件/文件夹时,提示:文件/文件夹正在使用

问题 有时候我们在移动或者删除文件/文件夹时&#xff0c;系统会提示“文件正在使用”。 操作无法完成&#xff0c;因为其中的文件夹或者文件已经在另一程序中打开 请关闭该文件夹或文件&#xff0c;然后重试。 这是因为文件夹中的某个文件被打开了&#xff0c;或者该文件或文件…

VR云游带你玩转智慧文旅,解决景区营销痛点

有人说防控措施正在逐步放开&#xff0c;大家那颗热爱旅游的心是不是正在蠢蠢欲动了呢&#xff1f;不要急&#xff0c;先来一波VR云游助助兴吧&#xff01; 朝游青山暮游雪&#xff0c; 上午还在十里长湖、八里磨山&#xff0c; 下午便在毓秀金陵、钟山龙蟠&#xff0c; 看大…