有一个物体,现在我们需要将它的Z轴方向向量为V1,Y轴方向向量为V2。
前提V1垂直V2。
如何实现呢,看代码。

transform.forward = V1;
float angle = Vector3.Angle(V2, transform.up);
transform.Rotate(new Vector3(0,0,angle));

看吧就是这么简单。
等等,难道问题就这样结束了吗?显然没有。
angle 的值永远为正数,因为我们只求了角度,不知道V2是在transform.up的左边还是右边。
也有可能转动 -angle 角度。
所以我们需要transform.up叉乘V2,记结果为C,C再点乘transform.forward,Unity为左手坐标系。
点乘结果为正数时,V2在transform.up右边,需要转动 angle。反之,V2在transform.up左边,需要转动 -angle。

代码如下

transform.forward = V1;
float angle = Vector3.Angle(V2, transform.up);
Vector3 b = Vector3.Cross(transform.up ,V2);
if(Vector3.Dot(transform.forward ,b) > 0)transform.Rotate(new Vector3(0,0,angle));
elsetransform.Rotate(new Vector3(0,0,- angle));

Unity旋转到指定角度和旋转到指定向量的问题,Z轴方向向量为V1,Y轴方向向量为V2相关推荐

  1. 直角坐标系中点的旋转【点绕点旋转】

    前言 本文整理在平面直角系中,坐标系旋转.某点绕着坐标系旋转.坐标点A 绕着点B旋转,求旋转后的点坐标.看了网上好的文章,发现部分有误或不完整,这里简单总结一下. 一.点绕坐标系旋转 坐标系不变,某点 ...

  2. Unity使用c#开发遇上的问题(六)(3dmax围绕指定中心旋转,unity中动态调用预制体并根据模型旋转指定角度)

    文章目录 前言 一.3dmax创建子弹.炮塔及武器库 1.相关模型 2.炮塔模型引入unity,无法绕旋转球旋转,重新调整 1.3dmax中默认炮管的中心点 2.选择层次界面 3.选择编辑工作轴 4. ...

  3. Arduino UNO使用库实现步进电机指定角度旋转

    Arduino UNO使用库实现步进电机指定角度旋转 步进电机和驱动器相关的资料 https://pan.baidu.com/s/1udb4MyEOXk4CTO7TKRHj6w 提取码: fuea 步 ...

  4. JS根据A点旋转指定角度后B点的坐标位置

    JS根据A点旋转指定角度后B点的坐标位置 记录 // ptSrc: 圆上某点(初始点); // ptRotationCenter: 圆心点; // angle: 旋转角度° -- [angle * M ...

  5. unity物体自身轴旋转_unity3D实现物体任意角度自旋转

    本文实例为大家分享了unity3D实现物体任意角度自旋转的具体代码,供大家参考,具体内容如下 主要涉及函数: Input.GetAxis("Mouse x") 可取得鼠标横向(x轴 ...

  6. Unity中行星和恒星的旋转——Rotate和RotateAround

    Unity中的旋转--以行星环绕为例 实现效果 一.与之相关的两种旋转方式 1.Rotate 2.transform.RotateAround 二.行星案例的实现 Step1:我们先在场景中创建一个球 ...

  7. Unity鼠标控制摄像机 围绕物体旋转

    Unity鼠标控制摄像机 围绕物体旋转 角度范围判定 // An highlighted block using UnityEngine;public class CameraCtrl : MonoB ...

  8. ios 旋转屏幕试图切换_iOS指定页面屏幕旋转,手动旋转(某app实现功能全过程)...

    背景: app内有一个双页的界面,然后某天运营说如果其中一页能支持横屏的话,对接的媒体就能给一整块屏幕,然后需求就这样下来了(双页:一页支持横屏效果,另一页不支持). 接下来就是查文档时间了,Duan ...

  9. R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵)、使用rotate参数指定进行斜交旋转提取因子、使用nfactors参数指定抽取的因子个数、fa函数因子分析结果解读

    R语言使用psych包的fa函数对指定数据集进行因子分析(输入数据为相关性矩阵).使用rotate参数指定进行斜交旋转提取因子.使用nfactors参数指定抽取的因子个数.fa函数因子分析结果解读(  ...

最新文章

  1. linux系统中使用chattr命令的,chattr命令怎么用
  2. 配置syslog发送_nginx简单配置优化概述
  3. Hive Sql 时间格式化处理
  4. Chrome remote debugging protocol在自动化测试中的应用和实践
  5. web worker原理 SSE原理
  6. selenium autoit java_Java+Selenium——AutoIt工具处理文件上传
  7. Sr Software Engineer - Big Data Team
  8. 第九届“图灵杯”NEUQ-ACM程序设计竞赛个人赛题解
  9. windows应用x64和x86运行效率_现在你可以在 Windows 中运行 Linux 应用了 | Linux 中国...
  10. 详解Linux基础网络服务之DNS域名解析
  11. 10行代码玩转弹性调度的小把戏
  12. 使用天平只用3次求出12个球中的次品球并确认轻重
  13. Simulink:车辆换挡逻辑回顾_Demo
  14. 基于C#开发(WinForm)排队叫号系统【100010339】
  15. 百度细雨算法2.0详解,规避细雨算法解决方法
  16. python:二.Python教程
  17. 问:用宏定义一年有多少秒(忽略闰年)
  18. 光纤通信技术期末复习提纲
  19. 教你从零开始成为优秀交互设计师(四):工具资源
  20. SAP message no. 04202 用户 xxxx 没有访问计算机 xxx.xxx.xxx.xxx 的权限

热门文章

  1. 微信授权登录,uniapp微信授权登录,wap2app微信授权登录,h5plus微信授权登录
  2. c语言时钟报告,C语言时钟图形输出系统设计报告.doc
  3. linux 恶意软件检测,两款针对Linux系统Rootkit和恶意软件的有用检测工具
  4. 郑清 - 日常作息表 - October - 2019
  5. 上海城市发展集团借力泛微文书定,实现标准化、数字化的档案管理
  6. 磁盘缓存、Hibernate缓存、Mybatis缓存
  7. PCB铜箔厚度单位为什么是盎司(Oz)
  8. 怎么把png图片压缩到100k以内,3个工具高效处理
  9. Android 水波纹扩散效果
  10. 反工厂的零工族,他们的出路在哪里