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

Transform的重要方法

位置和位移

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Lesson6 : MonoBehaviour
{// Start is called before the first frame updatevoid Start(){#region 知识点一 Vector3基础//Vector主要是用来表示三维坐标系中的一个点 或者一个向量//申明Vector3 v = new Vector3();v.x = 10;v.y = 10;v.z = 10;//只传x,y,z默认是0Vector3 v2 = new Vector3(10, 10);//一步到位Vector3 v3 = new Vector3(10, 10, 10);//vector的基本运算print(v2- v3);//和正常的+-*/方法一样//常用print(Vector3 .zero);//0 0 0print(Vector3 .right );//1 0 0print(Vector3.left);//-1 0 0print(Vector3 .up );//0 1 0print(Vector3 .forward );//0 0 1print(Vector3 .back  );//0 0 -1print (Vector3 .down  );//0 -1 0print (Vector3 .one );//单位向量//计算两个点之间距离的方法Vector3.Distance(v2, v3);#endregion#region 知识点二位置//相对世界坐标系print(this.transform .position);//通过position得到的位置 是相对于世界坐标系原点的位置//可能和面板上显示的是不一样的//因为如果有父子关系 并且父对象的位置不在原点,那么和面板上的肯定不一样//相对于父对象print(this.transform .localPosition );//如果想以面板坐标为准,那就用localPosition//相对世界坐标和相对父对象坐标可能一样的情况//1.父对象的坐标就是世界原点//2.对象没有父对象//注意:位置的赋值不能直接改变x,y,z 只能整体改变this.transform.position=new Vector3(10,10,10);//如果只想改变x,  y,z保持不变//1.直接赋值this.transform.position = new Vector3(19, this.transform.position.y, this.transform.position.z);//2.先取出来,再赋值//虽然不能直接改transform的x,y,z值,但是可以直接改Vector的x,y,z值//所以 可以先取出来改Vector再改Vector3 Vpos = this.transform.position;Vpos.x = 13;this.transform.position = Vpos;//对象当前的各个朝向print(this.transform.forward);//对象当前的面朝向print(this.transform.up);//对象当前的头顶朝向print(this.transform.right);//对象当前的右手朝向//如果你想得到对象当前的一个朝向//那么就通过transform.出来的#endregion}// Update is called once per framevoid Update(){#region 知识点三 位移//理解坐标系下的位移计算公式//路程=方向*速度*时间//方式一 自己计算//当前的位置+移动的距离=最终的位置//this.transform.position += this.transform.forward * 1 * Time.deltaTime;//方向非常的重要,他直接决定了你的移动方向//沿世界坐标系方向进行移动//this.transform.position += Vector3.forward * 1 * Time.deltaTime;//方式二 API//参数一:表示位移的多少 //参数二:表示相对坐标系     默认是相对于自己坐标系的//相对于世界坐标系的z轴移动//this.transform .Translate (Vector3 .forward *1*Time .deltaTime,Space.World);//相对于世界坐标的 自己的面朝向去移动this.transform.Translate(this.transform.forward*1*Time .deltaTime,Space.World);//相对于自己坐标系 自己的面朝向移动(一定不会这样让物体移动)this.transform.Translate(this.transform.forward * 1 * Time.deltaTime, Space.Self);//相对于自己坐标系 Z轴朝向移动this.transform.Translate(Vector3.forward * 1 * Time.deltaTime, Space.Self );//注意:一般使用API来位移#endregion}
}
http://www.xdnf.cn/news/15658.html

相关文章:

  • C++修炼:IO流
  • 关于程序=数据结构+算法这句话最近的一些思考
  • 多目标优化|HKELM混合核极限学习机+NSGAII算法工艺参数优化、工程设计优化,四目标(最大化输出y1、最小化输出y2,y3,y4),Matlab完整源码
  • WAMP允许远程访问
  • 【机器学习【6】】数据理解:数据导入、数据审查与数据可视化方法论
  • Ubuntu中man手册不全解决以及man手册中英文切换方法
  • OpenSearch SQL 查询完整指南
  • STM32-DMA
  • 数字魔方--玩转魔方的助手
  • oracle2kingbase的字段长度问题
  • 50天50个小项目 (Vue3 + Tailwindcss V4) ✨ | AutoTextEffect(自动打字机)
  • 尚庭公寓-------图片上传接口
  • 【c++深入系列】:万字详解list(附模拟实现的list源码)
  • 【unitrix】 6.4 类型化数特征(t_number.rs)
  • JavaScript进阶篇——第六章 内置构造函数与内置方法
  • 21、鸿蒙Harmony Next开发:组件导航(Navigation)
  • 主机安全---开源wazuh安装
  • 【Unity】IL2CPP相关理论知识学习
  • Spring MVC中@PathVariable的用法详解
  • AR智能巡检:电力行业数字化转型的“加速器”
  • Java 8新特性 函数式编程实践
  • python基础②-数据结构
  • 第二十一 篇 PDF文档自动化:Python一键合并、分割、水印、提取与加密解密!你的PDF全能管家!
  • 《通信原理》学习笔记——第二章
  • 【前端】Vue3 前端项目实现动态显示当前系统时间
  • 【TVM 教程】FAQ
  • 筑牢网络安全防线:DDoS/CC 攻击全链路防护技术解析
  • Hadoop(三)
  • PyTorch 损失函数详解:从理论到实践
  • Qt小组件 - 7 SQL Thread Qt访问数据库ORM