unity中的Quaternion.AngleAxis

介绍

unity中的Quaternion.AngleAxis


方法

Quaternion.AngleAxis() 函数是 Unity 引擎中的一个数学函数,用于创建一个绕着某个轴旋转一定角度的旋转四元数。在游戏开发中,经常会用到该函数来旋转物体或计算旋转后的方向向量。

该函数的函数原型为:

public static Quaternion AngleAxis(float angle, Vector3 axis);

其中,angle 表示旋转的角度,单位是度,可以是正数或负数;axis 表示旋转的轴,必须是一个单位向量,表示旋转轴的方向。

该函数的返回值是一个旋转四元数,表示绕着 axis 轴旋转 angle 度的旋转。

例如,Quaternion.AngleAxis(30f, Vector3.up) 表示绕着 y 轴旋转 30 度,返回一个旋转四元数。这个四元数可以用来旋转一个物体。

需要注意的是,axis 参数必须是一个单位向量,也就是说,它的长度必须为 1。如果 axis 的长度不为 1,函数会自动将其归一化。

在游戏开发中,Quaternion.AngleAxis() 函数通常和其他函数一起使用,例如:

Transform.RotateAround():绕着某个点旋转物体。
Transform.LookAt():让物体朝向某个点。
Vector3.RotateTowards():将一个向量从当前方向旋转到目标方向。
总之,Quaternion.AngleAxis() 函数是 Unity 引擎中非常重要的一个数学函数,可以帮助我们实现各种旋转操作。在使用该函数时,需要注意旋转轴必须是一个单位向量,并且旋转角度的单位是度。


举例子

下面举几个例子,说明在游戏开发中什么时候会用到 Quaternion.AngleAxis() 函数:

物体绕着某个轴旋转
当我们需要让一个物体绕着某个轴旋转时,可以使用 Quaternion.AngleAxis() 函数来创建一个旋转四元数,表示绕着该轴旋转一定角度。然后,我们可以将该旋转四元数赋值给物体的旋转属性,从而实现旋转效果。

例如,我们可以创建一个旋转四元数 Quaternion.AngleAxis(30f, Vector3.up),表示绕着 y 轴旋转 30 度,然后将其赋值给物体的旋转属性 transform.rotation,从而让物体绕着 y 轴旋转 30 度。

计算物体旋转后的方向向量
当我们需要计算一个物体旋转后的方向向量时,可以使用 Quaternion.AngleAxis() 函数来创建一个旋转四元数,表示绕着某个轴旋转一定角度。然后,我们可以将该旋转四元数和物体的初始方向向量相乘,得到旋转后的方向向量。

例如,我们可以创建一个旋转四元数 Quaternion.AngleAxis(30f, Vector3.up),表示绕着 y 轴旋转 30 度,然后将其和物体的初始方向向量 Vector3.forward 相乘,得到旋转后的方向向量。

让物体朝向某个点
当我们需要让一个物体朝向某个点时,可以使用 Quaternion.LookRotation() 函数来创建一个旋转四元数,表示从物体的当前方向向量旋转到目标方向向量的旋转。然后,我们可以将该旋转四元数赋值给物体的旋转属性,从而实现朝向效果。

例如,我们可以通过计算物体和目标点之间的方向向量,然后使用 Quaternion.LookRotation() 函数创建一个旋转四元数,表示从物体当前的朝向旋转到目标点的方向,然后将其赋值给物体的旋转属性 transform.rotation,从而让物体朝向目标点。

总之,Quaternion.AngleAxis() 函数在游戏开发中的应用非常广泛,常用于旋转操作、方向计算等场景。


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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

华为MPLS跨域——后门链路实验配置

目录 配置PE与CE设备对接命令(通过OSPF对接) 配置后门链路 可以使用任意方式来跑跨域MPLS(A、B、C1、C2都可以),不过关于传递Vpnv4路由的配置此处不做介绍;此处只介绍关于PE和CE对接的配置和关于后门链路…

数据存储系统概要

可靠、可扩展与可维护性 现在有很多都属于数据密集型,而不是计算密集型。对于这些类型应用,CPU的处理能力往往不是第一限制性因素,关键在于数据量、数据的复杂度及数据的快速多边形。 数据密集型应用模块: 数据库:存…

对标世界一流|从Just in time到Just in case ——汽车行业供应链管理经验借鉴

01 丰田汽车精益生产 作为最复杂和最成熟的供应链之一,汽车行业供应链无疑是供应链领域集大成者,而提起汽车行业供应链,就不得不提到丰田汽车;提到丰田汽车,就肯定离不开大名鼎鼎的精益生产以及JIT模式。 JIT模式由丰…

云服务器部署python项目

前言:相信看到这篇文章的小伙伴都或多或少有一些编程基础,懂得一些linux的基本命令了吧,本篇文章将带领大家服务器如何部署一个使用django框架开发的一个网站进行云服务器端的部署。 文章使用到的的工具 Python:一种编程语言&…

SpringBoot+Shiro+Jwt+Vue+elementUI实现前后端分离单体系统Demo

记录一下使用SpringBoot集成Shiro框架和Jwt框架实现前后端分离Web项目的过程,后端使用SpringBoot整合ShiroJwt(auth0),前端使用vueelementUI框架,前后端的交互使用的是jwt的token,shiro的会话关闭,后端只需要使用Shiro…

在Linux上搭建gitlab以及自动化编译部署的完整流程

一、安装gitlab 首先下载gitlab的安装包,地址如下: https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/ubuntu/pool/bionic/main/g/gitlab-ce/ 然后安装下载的包即可,一般还需要安装openssh-server等依赖包,在安装gitlab包之前可以…

睡眠经济2.0时代来了,老巨头们有护城河吗?

在第23个世界睡眠日,中国睡眠研究会等机构发布了《中国睡眠研究报告2023》,近半数人每晚平均睡眠时长不足8小时,“失眠”已成为了当代人的生活常态。 越是睡不好,越要想办法。年轻人纷纷求助于好的寝具、好的助眠产品乃至保健品&…

【Halcon】找到设备上的 标识牌

如图,找到设备上的 标识牌 。 标识牌最明显的特征是比其他区域亮, 二值化选择出亮区域,再通过面积选择出目标区域。 先显示图片 *获取图片的大小 get_image_size(Image,Width,Height)*关闭窗口 dev_close_window()*打开窗口 dev_open_win…

java错题总结(19-21页)

链接:关于Java中的ClassLoader下面的哪些描述是错误的_用友笔试题_牛客网 来源:牛客网 B:先讲一下双亲委派机制,简单来说,就是加载一个类的时候,会往上找他的父类加载器,父类加载器找它的父类加…

Centos系统安装RabbitMQ消息中间件

记录一下在centos7.x下面安装RabbitMQ消息中间件 RabbitMQ是一个开源而且遵循 AMQP协议实现的基于 Erlang语言编写,因此安装RabbitMQ之前是需要部署安装Erlang环境的 先安装Erlang https://packagecloud.io/rabbitmq/ 点进去可以看到 因为使用的centos是7.x版本的…

架构设计-数据库篇

大家好,我是易安! 之前我们讲过架构设计的一些原则,和架构设计的方法论,今天我们谈谈高性能数据库集群的设计与应用。 读写分离原理 读写分离的基本原理是将数据库读写操作分散到不同的节点上,下面是其基本架构图。 读…

【Python系列】一个简单的抽奖小程序

序言 很开心你能在万千博文中打开这一篇,希望能给你带来一定的帮助!👍🏻 如果有什么问题,都可以添加下方我的联系方式,联系我噢~😁 ⭐️⭐️⭐️⭐️⭐️沟通交流,一起成为技术达人&…

电视机顶盒哪个牌子好?数码小编盘点电视机顶盒排行榜

电视机顶盒哪个牌子好?这是困扰新手们的一大难题,部分产品被爆出虚标高配、偷工减料,面对众多的机顶盒品牌和型号,怎么选择才好?小编以销量和用户评价为标准,盘点了电视机顶盒排行榜,跟着我一起…

【Linux】进程学习(1)---理解进程概念

文章目录 冯诺依曼体系结构理解冯诺依曼体系结构 操作系统概念与定位概念计算机管理模型计算机的软硬件体系结构图系统调用和库函数概念 进程基本概念描述进程--PCBtask_struct内容分类组织进程 冯诺依曼体系结构 数学家冯诺依曼提出了计算机制造的三个基本原则,即采…

代码随想录算法训练营第四十八天| 198.打家劫舍、213.打家劫舍II、337.打家劫舍III

文章目录 198.打家劫舍213.打家劫舍II337.打家劫舍III 198.打家劫舍 题目链接:代码随想录 解题思路: 1.dp[i]:考虑下标i(包括i)以内的房屋,最多可以偷窃的金额为dp[i] 只是考虑,不一定偷 2.递推…

GPT-4等大语言模型对教育的未来意味着什么?

‍ ‍ shadow Mixlab这些年举办了非常多的活动和workshop,都带有很强的教育属性。今天我抽空学习了可汗学院的《AI-for-Education》课程,非常有启发。我记录了精华内容,分享给大家。 课程地址: www.khanacademy.org/college-caree…

设计模式——观察者模式

导航: 【黑马Java笔记踩坑汇总】JavaSEJavaWebSSMSpringBoot瑞吉外卖SpringCloud黑马旅游谷粒商城学成在线设计模式牛客面试题 目录 观察者模式 1、天气预报需求 2、天气预报需求方案之普通方案 3、观察者模式介绍 4、观察者模式优化天气预报案例 5、JDK 的O…

销售数据分析怎么做?这篇文章说清楚了

如何分析销售数据?分析销售数据有哪些指标?销售数据分析有什么作用? 销售数据是不是得通过数据分析软件啊? 本文将为您解答疑惑—— 一、分析销售数据的指标 从两个层面上来讲,一个是对销售情况的整体把控&#xf…

红黑树理论详解与Java实现

文章目录 基本定义五大性质红黑树和2-3-4树的关系红黑树和2-3-4树各结点对应关系添加结点到红黑树注意事项添加的所有情况 添加导致不平衡叔父节点不是红色节点(祖父节点为红色)添加不平衡LL/RR添加不平衡LR/RL 叔父节点是红色节点(祖父节点为…

破解马赛克有多「容易」?

刷短视频时,估计大家都看过下面这类视频,各家营销号争相曝光「一分钟解码苹果笔刷背后内容」的秘密。换汤不换药,自媒体们戏称其为「破解马赛克」,殊不知让多少不明真相的用户建立起了错误的认知,也让苹果笔刷第 10086…
最新文章