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

Unity学习日志-API

Untiy基本API

    • 角度
    • 旋转
      • 自转
      • 相对于某一个轴 转多少度
      • 相对于某一个点转
      • 练习

角度

this.transform.rotation(四元数)

界面上的xyz(相对于世界坐标)

this.transform.eulerAngles;

相对于父对象

this.transform.localEulerAngles;

设置角度和设置位置一样,不能单独设置xzy,要一起设置

如果我们希望改变的 角度 是面板上显示的内容 那一点是改变 相对父对象的角度

this.transform.localEulerAngles = new Vector(10,10,10);
this.transform.localEulerAngles = new Vector(10,10,10);

旋转

自转

第一个参数 相当于 是旋转的角度 每一帧

第二个参数 默认不填 就是相对于自己坐标系 进行的旋转

void Update(){//绕着Y轴转,相对于自己的坐标系this.transform.Rotate(new Vector3(0, 10,0) * Time.daltaTime);//绕着世界坐标的Y轴转this.transform.Rotate(new Vector3(0, 10,0) * Time.daltaTime,Space.World);
}

相对于某一个轴 转多少度

参数一:是相对哪个轴进行转动

参数二:是转动的 角度 是多少

参数三:默认不填 就是相对于自己的坐标系 进行旋转
// 如果填 可以填写相对于 世界坐标系进行旋转

void Update(){//绕着自己的x轴正方向旋转,10*Time.deltaTime是角度this.transform.Rotate(Vector3.right, 10*Time.deltaTime);//绕着世界坐标的x轴正方向this.transform.Rotate(Vector3.right, 10*Time.deltaTime,Space.World);
}

相对于某一个点转

参数一:相当于哪一个点 转圈圈
参数二:相对于那一个点的 哪一个轴转圈圈
参数三:转的度数 旋转速度 * 时间

void Update(){//绕过过原点的x轴正方向转this.transform.RotateAround(Vector3.zero, Vector3.right, 10*Time.deltaTime);
}

练习

通过head.localEulerAngles得到的角度 不会出现负数的情况
虽然界面上显示出了负数 但是 通过代码获取 始终 只能得到0~360之间的数

#region 练习题二
//炮台左右来回旋转
head.Rotate(Vector3.up, headRotateSpeed * Time.deltaTime);
//炮管上下来回旋转
pkPos.Rotate(Vector3.right, pkPosRotateSpeed * Time.deltaTime);
//通过head.localEulerAngles得到的角度 不会出现负数的情况 
//虽然界面上显示出了负数 但是 通过代码获取 始终 只能得到0~360之间的数//只能是0到360 那就只有特殊判断了
if (!(head.localEulerAngles.y >= 315 && head.localEulerAngles.y <= 360) &&head.localEulerAngles.y >= 45 && headRotateSpeed > 0)headRotateSpeed = -headRotateSpeed;
else if (!(head.localEulerAngles.y <= 45 && head.localEulerAngles.y >= 0) &&head.localEulerAngles.y <= 315 && headRotateSpeed < 0)headRotateSpeed = -headRotateSpeed;//只能是0到360 那就只有特殊判断了
if (!(pkPos.localEulerAngles.x >= 350 && pkPos.localEulerAngles.x <= 360) &&pkPos.localEulerAngles.x >= 10 && pkPosRotateSpeed > 0)pkPosRotateSpeed = -pkPosRotateSpeed;
else if (!(pkPos.localEulerAngles.x <= 10 && pkPos.localEulerAngles.x >= 0) &&pkPos.localEulerAngles.x <= 350 && pkPosRotateSpeed < 0)pkPosRotateSpeed = -pkPosRotateSpeed;
#endregion
http://www.lryc.cn/news/461584.html

相关文章:

  • Java基础常见面试题总结(上)
  • 4 -《本地部署开源大模型》在Ubuntu 22.04系统下部署运行ChatGLM3-6B模型
  • 本地如何使用Pycharm连接远程服务器调试torchrun
  • Visual Studio 2022常用快捷键
  • mysql innodb 引擎如何直接复制数据库文件?
  • python中的global和nonlocal关键字以及闭包和模块
  • LabVIEW风机滚动轴承监测系统
  • 第1节 什么是鸿蒙系统
  • CentOS 7 将 YUM 源更改为国内镜像源
  • python调用dircmp进行文件夹比较
  • 微信小程序 - 供应链系统设计
  • 嵌入式学习-IO进程-Day03
  • docker安装elasticsearch和ik分词器
  • |智能门票|008_django基于Python的智能门票设计与实现2024_i16z2v70
  • QFramework v1.0 使用指南 更新篇:20240919. 新增 BindableDictionary
  • vue实现文件预览和文件上传、下载、预览——多图、模型、dwg图纸、文档(word、excel、ppt、pdf)
  • 探讨人工智能领域所需学习的高等数学知识及其应用场景,涵盖了微积分、线性代数、概率论等多个数学分支。
  • 详解安卓和IOS的唤起APP的机制,包括第三方平台的唤起方法比如微信
  • 服务器数据恢复—raid5阵列中多块硬盘离线导致崩溃的数据恢复案例
  • 《深度学习》OpenCV FisherFaces算法人脸识别 原理及案例解析
  • 基于Python+Flask的天气预报数据可视化分析系统(源码+文档)
  • 深入解析 Flutter兼容鸿蒙next全体生态的横竖屏适配与多屏协作兼容架构
  • 【Spring】Spring实现加法计算器和用户登录
  • 电脑d盘不见了怎么恢复?
  • 电子商务网站维护技巧:保持WordPress、主题和插件的更新
  • 交叉编译--目标平台aarch64 ubuntu 22.04
  • 【pytorch】昇思大模型配置python的conda版本
  • nodejs的卸载和nvm安装
  • 网络七层架构
  • 2024年华为OD机试真题-敏感字段加密-Java-OD统一考试(E卷)