Transform有关旋转个属性和方法测试

一,属性

1,var eulerAngles : Vector3

  1. public float yRotation = 5.0F;
  2. void Update() {
  3. yRotation += Input.GetAxis("Horizontal");
  4. transform.eulerAngles = new Vector3(10, yRotation, 0);
  5. }

效果:与Quaternion.enlerAngles基本相同,用来设定物体的旋转角度,但不要分别设置xyz,要整体赋值。

2,var rotation : Quaternion

  1. public float smooth = 2.0F;
  2. public float tiltAngle = 30.0F;
  3. void Update() {
  4. float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle;
  5. float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;
  6. Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);
  7. transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
  8. }

效果:代表了物体的旋转,不能直接为transform.rotation.eulerAngles赋值。可以使用各种Quaternion的方法。

二,方法

1,function Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) :void

  1. void Update() {
  2. transform.Rotate(Vector3.right * Time.deltaTime);
  3. transform.Rotate(Vector3.up * Time.deltaTime, Space.World);
  4. }

效果,使物体旋转一个基于欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴。vector3可以变成3个分开的float值。

2,function Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void

  1. void Update() {
  2. transform.Rotate(Vector3.right, Time.deltaTime);
  3. transform.Rotate(Vector3.up, Time.deltaTime, Space.World);
  4. }

效果:按照angle度围绕axis轴旋转。

3,function RotateAround (point : Vector3, axis : Vector3, angle : float) : void

  1. public Transform target;
  2. Quaternion rotation;
  3. void Update()
  4. {
  5. transform.RotateAround(target.position, Vector3.up, 20 * Time.deltaTime);
  6. }

效果: 以point为中心点,以axis为轴进行旋转,类似于围绕某一点公转。

4,function LookAt (target : Transform, worldUp :Vector3 = Vector3.up) : void

  1. public Transform target;
  2. void Update() {
  3. transform.LookAt(target);
  4. }

效果:使物体绕y轴旋转,z轴一直指向target,所以顾名思义叫lookat。

【转】Unity3D Transform中有关旋转的属性和方法测试的更多相关文章

  1. HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次)

    HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次) 一.总结 一句话总结:目录就是测试题 1.document取得元素(get element)的方式有哪几种? 解答:四种,分别是id ...

  2. C#类中的字段、属性和方法

    C#类中的字段.属性和方法 刚开始学C#,对于类中的字段.属性和方法很难分清,写下这份笔记,帮助理解 字段:与类相关的变量 声明方法与声明变量类似,可在前面添加访问修饰符.static关键字等: 属性 ...

  3. 全面理解Javascript中Function对象的属性和方法

    http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...

  4. javascript中的array对象属性及方法

    Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...

  5. 如何在低api中使用View的属性设置方法如setAlpha等

    ViewPagerTransforms 是一个自定义了各种翻转效果的开源库,其中的各种PageTransformer使用了view的很多属性设置方法如DepthPageTransformer中:? p ...

  6. iOS中UIKit的外观属性及方法汇总

    这里将UIKit的外观属性及方法从头文件中抽取出来,以便查找及熟悉.(更新到iOS 8.0,从A-Z排序) UIActivityIndicatorView @property (readwrite,  ...

  7. js中Array数组的属性和方法

    这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...

  8. VB6.0中WinSock控件属性和方法详解

    原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...

  9. java不同包中protected修饰的属性和方法调用方法

    protected修饰的静态属性和方法的调用方式1:直接类名调用 2:实例化父类对象进行调用 3:实例化子类对象进行调用 protected修饰的非静态属性和方法的调用方式:1:实例化子类对象进行调用 ...

随机推荐

  1. 史上最简单的SpringCloud教程 | 第八篇: 消息总线(Spring Cloud Bus)

    转载请标明出处: 原文首发于:https://www.fangzhipeng.com/springcloud/2017/07/12/sc08-bus/ 本文出自方志朋的博客 最新Finchley版本请 ...

  2. 12.1.0.2自适应特性导致SQL性能下降

    背景介绍 在升级到12.1.0.2.0数据库版本后,在使用12c中引入的自适应特性默认配置的情况下,可能引起SQL性能的下降. 问题现象升级到12.1.0.2.0后,SQL语句性能可能出现下降. 影响 ...

  3. IOS开发中缓存策略

    为了节约流量,同时也是为了更好的用户体验,目前很多应用都使用本地缓存机制,其中以网易新闻的缓存功能最为出色.我自己的应用也想加入本地缓存的功能,于是我从网上查阅了相关的资料,发现总体上说有两种方法.一 ...

  4. percona-zabbix-templates插件安装监控MySQL

    前期准备:被监控机已经安装好php 1.在zabbix客户端安装mysql监控插件rpm包 rpm -ivh https://www.percona.com/downloads/percona-mon ...

  5. C#基础-hashtable,泛型和字典集合

    hashtable 的存储方式 使用方法: 1.引入包含Hashtable的命名空间 using System.Collections; // 引入Hash所在的命名空间 2.往hash表里面添加数据 ...

  6. Linux终端显示控制字符

    在Linux中, 我们时常要将一个命令的输出作为另外一个命令的输入进行下一步处理操作. 有时, 如果一个命令的输出中有不可见的控制字符时, 有可能会导致后续操作出错. 而这些控制字符很可能是不可打印的 ...

  7. PHP CI框架学习

    CI框架的URL辅助函数使用 URL 辅助函数文件包含一些在处理 URL 中很有用的函数 加载辅助函数 在使用CI框架的使用经常碰到跳转和路径方面的问题,site_url()和base_url()很容 ...

  8. PLC状态机编程第二篇-负载均衡

    控制任务 大家好,今天我们用状态机描述稍复杂的实例,同时用LAD和ST语言写状态机.我们的控制任务如下: 真空泵A和真空泵B, 按下启动按钮后, 泵A启动, 3秒后泵B也启动, 此时泵A仍运行, 当容 ...

  9. MyFirstDay_答案_1.**猫(自己整理)

    1>***猫: python基础类: 字符串反转的常用处理方式: # 方法一:使用字符串切片 s = "hello python" result = s[::-1] prin ...

  10. Linux YUM (Yellowdog Updater, Modified) Commands for Package Management

    Linux YUM (Yellowdog Updater, Modified) Commands for Package Management In this article, we will lea ...