【转】Unity3D Transform中有关旋转的属性和方法测试
Transform有关旋转个属性和方法测试
一,属性
1,var eulerAngles : Vector3
- public float yRotation = 5.0F;
- void Update() {
- yRotation += Input.GetAxis("Horizontal");
- transform.eulerAngles = new Vector3(10, yRotation, 0);
- }
效果:与Quaternion.enlerAngles基本相同,用来设定物体的旋转角度,但不要分别设置xyz,要整体赋值。
2,var rotation : Quaternion
- public float smooth = 2.0F;
- public float tiltAngle = 30.0F;
- void Update() {
- float tiltAroundZ = Input.GetAxis("Horizontal") * tiltAngle;
- float tiltAroundX = Input.GetAxis("Vertical") * tiltAngle;
- Quaternion target = Quaternion.Euler(tiltAroundX, 0, tiltAroundZ);
- transform.rotation = Quaternion.Slerp(transform.rotation, target, Time.deltaTime * smooth);
- }
效果:代表了物体的旋转,不能直接为transform.rotation.eulerAngles赋值。可以使用各种Quaternion的方法。
二,方法
1,function Rotate (eulerAngles : Vector3, relativeTo : Space = Space.Self) :void
- void Update() {
- transform.Rotate(Vector3.right * Time.deltaTime);
- transform.Rotate(Vector3.up * Time.deltaTime, Space.World);
- }
效果,使物体旋转一个基于欧拉角的旋转角度,eulerAngles.z度围绕z轴,eulerAngles.x度围绕x轴,eulerAngles.y度围绕y轴。vector3可以变成3个分开的float值。
2,function Rotate (axis : Vector3, angle : float, relativeTo : Space = Space.Self) : void
- void Update() {
- transform.Rotate(Vector3.right, Time.deltaTime);
- transform.Rotate(Vector3.up, Time.deltaTime, Space.World);
- }
效果:按照angle度围绕axis轴旋转。
3,function RotateAround (point : Vector3, axis : Vector3, angle : float) : void
- public Transform target;
- Quaternion rotation;
- void Update()
- {
- transform.RotateAround(target.position, Vector3.up, 20 * Time.deltaTime);
- }
效果: 以point为中心点,以axis为轴进行旋转,类似于围绕某一点公转。
4,function LookAt (target : Transform, worldUp :Vector3 = Vector3.up) : void
- public Transform target;
- void Update() {
- transform.LookAt(target);
- }
效果:使物体绕y轴旋转,z轴一直指向target,所以顾名思义叫lookat。
【转】Unity3D Transform中有关旋转的属性和方法测试的更多相关文章
- HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次)
HTML中DOM对象的属性和方法的层级关系是怎样的?(目录即层次) 一.总结 一句话总结:目录就是测试题 1.document取得元素(get element)的方式有哪几种? 解答:四种,分别是id ...
- C#类中的字段、属性和方法
C#类中的字段.属性和方法 刚开始学C#,对于类中的字段.属性和方法很难分清,写下这份笔记,帮助理解 字段:与类相关的变量 声明方法与声明变量类似,可在前面添加访问修饰符.static关键字等: 属性 ...
- 全面理解Javascript中Function对象的属性和方法
http://www.cnblogs.com/liontone/p/3970420.html 函数是 JavaScript 中的基本数据类型,在函数这个对象上定义了一些属性和方法,下面我们逐一来介绍这 ...
- javascript中的array对象属性及方法
Array 对象 Array 对象用于在单个的变量中存储多个值. 创建 Array 对象的语法: new Array(); new Array(size); new Array(element0, e ...
- 如何在低api中使用View的属性设置方法如setAlpha等
ViewPagerTransforms 是一个自定义了各种翻转效果的开源库,其中的各种PageTransformer使用了view的很多属性设置方法如DepthPageTransformer中:? p ...
- iOS中UIKit的外观属性及方法汇总
这里将UIKit的外观属性及方法从头文件中抽取出来,以便查找及熟悉.(更新到iOS 8.0,从A-Z排序) UIActivityIndicatorView @property (readwrite, ...
- js中Array数组的属性和方法
这是我自己整理出来的一些关于Array数组的属性和方法,即查即用. 1.Array.length属性:数组的项数组,始终返回0或者更大的值. 2.instanceof操作符:value instanc ...
- VB6.0中WinSock控件属性和方法详解
原文链接:http://liweibird.blog.51cto.com/631764/653134 WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器 ...
- java不同包中protected修饰的属性和方法调用方法
protected修饰的静态属性和方法的调用方式1:直接类名调用 2:实例化父类对象进行调用 3:实例化子类对象进行调用 protected修饰的非静态属性和方法的调用方式:1:实例化子类对象进行调用 ...
随机推荐
- JS浏览器的三种弹框:
1.alert:使用alert弹框提示信息,最后都会被转化为字符串输出(因为调用了toString这个方法).比如alert(1+1)弹出的结果应该是字符串形式的“2”. 2.Confirm:在ale ...
- SAP 文本框实例
SAP 文本框 简单实例 REPORT ZTEST001. DATA: OK_CODE LIKE SY-UCOMM, SAVE_OK LIKE SY-UCOMM. DATA: REF_EDIT_CTN ...
- Linux中用户与用户组管理
1.基础知识 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号 ...
- ubuntu16 升级pip3后报错File "/usr/bin/pip3", line 9, in <module> from pip import main ImportError: cannot import name 'main'
问题:ubuntu16 执行pip3 install --upgrade pip之后,pip3执行出错. Traceback (most recent call last): File "/ ...
- (三)、python运算符和基本数据类型
运算符 1.算数运算: 2.比较运算: 3.赋值运算: 4.逻辑运算: 5.成员运算: 基本数据类型 1.数字 int(整形) # python3里不管数字有多长都叫整形# python2里分为整形和 ...
- Centos7上docker的安装和基本使用
Centos7上Docker的相关操作 Docker的安装 1.检查内核版本 docker使用linux的内核必须是3.10以上,首先需要 # uname -r 2.使用yum安装docker # y ...
- 近年来爆发的CVE漏洞编号
1.Office漏洞 Office漏洞是大部分APT组织最喜爱的漏洞,Office在个人办公电脑使用量大,对针对性目标是最佳的外网入口,效果也是最直接的. CVE编号 漏洞类型 使用组织 CVE-2 ...
- PHP 多参数方法的重构
假设我们要完成一个保存文章的功能,如果采用函数编程的方式,大概会是下面这个样子: <?php function saveArticle($title, $content, $categoryId ...
- Leetcode 653. 两数之和 IV - 输入 BST
题目链接 https://leetcode.com/problems/two-sum-iv-input-is-a-bst/description/ 题目描述 给定一个二叉搜索树和一个目标结果,如果 B ...
- ABAP News for Release 7.51 – ABAP CDS Client Handling
Open SQLは自動的クライアント処理をサポートしています. Open SQLでクライアント依存のデータソースにアクセスする時.デフォルトでは現在のクライアントのデータだけが考慮されます. クライア ...