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

天津做网站选择津坤科技c管理咨询师考试

天津做网站选择津坤科技c,管理咨询师考试,微信推广的平台,山西建设厅网站2016年3号文件Quaternion类又称四元数,由x、y、z和w这4个分量组成,属于struct类型。在Unity中,用Quaternion来存储和表示对象的旋转角度。Quaternion的变换比较复杂,对于GameObject一般的旋转及移动,可以用Transform中的相关方法实现…

Quaternion类又称四元数,由x、y、z和w这4个分量组成,属于struct类型。在Unity中,用Quaternion来存储和表示对象的旋转角度。Quaternion的变换比较复杂,对于GameObject一般的旋转及移动,可以用Transform中的相关方法实现。本博客介绍Quaternion类的一些实例属性、静态方法和运算符,并对Quaternion类相乘运算符“*”的两种重载格式在功能上的异同进行了简要的注解。

文章目录

    • 一、Quaternion类实例属性
      • 1、基本语法
      • 2、功能说明
      • 3、代码实现
    • 二、Quaternion类实例方法
      • 1、基本语法
      • 2、功能说明
      • 3、代码实现

一、Quaternion类实例属性

在Quaternion类中,设计的实例属性主要有eulerAngles属性:欧拉角

1、基本语法

public Vector3 eulerAngles { get; set; }

2、功能说明

此属性用来返回或设置Quaternion实例对应的欧拉角

  • 对GameObject对象的Transform进行欧拉角的变换次序是,先绕z轴旋转相应的角度,再绕x轴旋转相应的角度,最后再绕y轴旋转相应的角度。注意不同的旋转次序得到的最终状态是不同的
  • 对GameObject独享的旋转角进行赋值的方式通常由两种:第一种是将Quaternion实例赋值给transform的rotation,第二种是将三维向量代表的欧拉角直接赋值给transform的eulerAngles

3、代码实现

下面通过实例演示属性eulerAngles的使用,创建一个立方体,将EulerAngle_test.cs挂载在立方体上,将A、B同时拖放物体给它赋值,对于公开的变量来说,Unity编辑器会在 Inspector面板自动实例这个类型默认的空物体,方便赋值,如果没赋值就使用变量 会报第错 “未赋值的引用异常”。
在这里插入图片描述

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class EulerAngle_test : MonoBehaviour
{public Transform A, B;Quaternion rotations = Quaternion.identity;Vector3 eulerAngle = Vector3.zero;float speed = 10.0f;void Update(){//第一种方式:将Quaternion赋值给transform的rotationrotations.eulerAngles = new Vector3(0.0f, speed * Time.time, 0.0f);A.rotation = rotations;//第二种方式:将三维向量代表的欧拉角直接赋值给transform的eulerAngleseulerAngle = new Vector3(0.0f, speed * Time.time, 0.0f);B.eulerAngles = eulerAngle;}
}

在这里插入图片描述

二、Quaternion类实例方法

在Quaternion类中涉及的实例方法有SetFromToRotation方法、SetLookRotation方法ToAngleAxis方法,静态方法AngleAxis和实例方法TOAngleAxis功能相近

1、基本语法

public void SetFromTorotation(Vector3 fromDirection, Vector3 toDirection);

2、功能说明

此方法用于创建一个从fromDirection到toDirection的rotation,比如如下代码:

Quaternion q1 = Quaternion.identity;
q1.SetFromToRotation(v1,v2);
transform.rotation = q1;

则相当于将GameObject对象进行如下变换:首先将GameObject对象自身坐标系的x、y、z轴方向和世界坐标系x、y、z轴方向一致,然后将GAmeObject对象自身坐标系中向量y1指向的方向旋转到v2方向

notes:不可以直接及使用transform.rotation.SetFormToRotation(v1, v2)方式进行设置,只能将实例化的Quaternion赋值给transform.rotation

3、代码实现

using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class SetFromRotation_test : MonoBehaviour
{public Transform A, B, C;Quaternion q1 = Quaternion.identity;void Update(){//不可直接使用C.rotation.SetFromToRotation(A.position,B.position);q1.SetFromToRotation(A.position, B.position);C.rotation = q1;//在Scene面板中绘制直线Debug.DrawLine(Vector3.zero, A.position, Color.red);Debug.DrawLine(Vector3.zero, B.position, Color.green);Debug.DrawLine(C.position, C.position + new Vector3(0.0f, 1.0f, 0.0f), Color.black);Debug.DrawLine(C.position, C.TransformPoint(Vector3.up*1.5f),Color.yellow);}
}
http://www.yayakq.cn/news/165083/

相关文章:

  • 中航建设集团网站四川遂宁做网站的公司
  • 合肥公司网站设计短视频seo
  • 如何在yahoo上做网站电子商务网站建设系统功能
  • 怎么自己设置网站模板免费自助建站系统有哪些
  • 网站建设流程包括哪些内容网站开发需要多少钱服务
  • 返利网网站框架目录建筑公司起名大全2021最新版的
  • 京东商城商务网站建设目的用网站做简历模板
  • 网站的建设项目是什么意思做服务的网站起名
  • 广州住房建设部网站湖北十大建筑公司排名
  • 陕西网站开发哪家好网站设计价格
  • 网至普的营销型网站布局win7做网站服务器
  • 无锡市政务服务网站建设项目网页制作的方法
  • 网络推广代理怎么做烟台网站排名优化报价
  • 网站设计英语飞沐视觉北京网站建设公司
  • 网站模板源码下载wordpress relocate
  • 食品电子商务网站建设方案网站访问密码
  • 长沙专业的网站建设企业贵州光利达建设工程有限公司局网站
  • 官方网站制作个人网页设计作品及代码怎么写
  • 做高端网站建设建设一个网站的具体流程
  • 网站欢迎页面在线设计wordpress安装无法登录
  • jsp电商网站开发教程临沂建设中专官方网站
  • 如何设计校园网站怎样自学设计室内装修效果图
  • 传媒大气的网站页面紧急情况访问升级跳转
  • 张家港网站制作企优佛山本科网站建设
  • 免费网站友情链接天天网站
  • 重庆网站seo好不好大连零基础网站建设教学培训
  • 福州全网网站建设网站主题旁边的图标怎么做
  • 周口网站开发seo投放是什么意思
  • 网站建设报告 宣传中国空间站天和核心舱
  • 想找个人做网站本地网站asp iis