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.mzph.cn/pingmian/56381.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PHP对Json数据格式的理解

PHP 对 JSON&#xff08;JavaScript Object Notation&#xff09;数据格式的理解涉及将 JSON 数据解析为 PHP 变量&#xff08;通常是数组或对象&#xff09;&#xff0c;以及将 PHP 变量编码为 JSON 字符串。JSON 是一种轻量级的数据交换格式&#xff0c;易于人阅读和编写&…

EM算法学习

1.EM算法的介绍 可以发现&#xff1a;计算出θA和θB的值的前提是知道A、B币种的抛掷情况。 所以我们需要使用EM算法&#xff1a;求出每轮选择硬币种类的概率 2.EM算法执行过程&#xff1a; 第一步&#xff1a;首先初始化设置一组PA和PB证明的值。然后通过最大似然估计得到每…

MOE论文详解(3)-Switch Transformers

Switch Transformers也是google在2022年发表的一篇论文, 该论文简化了MoE的路由算法, 减少了计算量和通信量; 第一次支持bfloat16精度进行训练. 基于T5-Base和T5-Large设计的模型在相同的算力下训练速度提升了7x倍; 同时发布了1.6万亿(1.6 trillion)参数的MoE模型&#xff0c;相…

Linux系统:Ubuntu上安装Chrome浏览器

Ubuntu系统版本&#xff1a;23.04 在Ubuntu系统上安装Google Chrome浏览器&#xff0c;可以通过以下步骤进行&#xff1a; 终端输入以下命令&#xff0c;先更新软件源&#xff1a; sudo apt update 或 sudo apt upgrade终端输入以下命令&#xff0c;下载最新的Google Chrome .…

多机编队—(3)Fast_planner无人机模型替换为Turtlebot3模型实现无地图的轨迹规划

文章目录 前言一、模型替换二、Riz可视化三、坐标变换四、轨迹规划最后 前言 前段时间已经成功将Fast_planner配置到ubuntu机器人中&#xff0c;这段时间将Fast_planner中的无人机模型替换为了Turtlebot3_waffle模型&#xff0c;机器人识别到环境中的三维障碍物信息&#xff0…

5 首页框架及路由配置

1 添加首页LayoutVue.vue组件&#xff0c;登录成功之后跳转到该组件 <script setup> import {Management,Promotion,UserFilled,User,Crop,EditPen,SwitchButton,CaretBottom } from element-plus/icons-vue import avatar from /assets/default.png// 导入ref import {…

Selenium 模拟快捷键来进行粘贴操作

Selenium 可以模拟快捷键来进行粘贴操作。在 Selenium 中&#xff0c;使用 send_keys 方法可以模拟键盘输入&#xff0c;包括常见的快捷键操作。对于粘贴操作&#xff0c;可以使用 Keys.CONTROL v&#xff08;在 Windows 和 Linux 上&#xff09;或 Keys.COMMAND v&#xff0…

GitLab 老旧版本如何升级?

极狐GitLab 正式对外推出 GitLab 专业升级服务 https://dl.gitlab.cn/cm33bsfv&#xff01; 专业的技术人员为您的 GitLab 老旧版本实例进行专业升级&#xff01;服务详情可以在官网查看详细解读&#xff01; 那些因为老旧版本而被攻击的例子 话不多说&#xff0c;直接上图&a…

RTMP、FFmpeg安装测试

RTMP、FFmpeg安装测试 1.使用 Docker 部署 RTMP 服务1.拉取带有 RTMP 模块的 NGINX 镜像&#xff1a;2.运行容器 2. 防火墙放行3.windows安装ffmpeg1. [下载链接](https://ffmpeg.org//download.html)2.解压3.环境变量配置 4.常用的 FFmpeg 推流和拉流命令1.推流命令1. 推流到 …

SQL实现给表添加数据及其触发器操作

新建一个表实现添加数据&#xff0c;数据不重复&#xff0c;。判断两个字段是否存在&#xff0c;如果存在&#xff0c;就修改对应字段&#xff0c;如果不存在就新增数据。 测试表格Test如下&#xff1a; 新建触发器如图&#xff1a; 触发程式如下&#xff1a; USE [Test] GO/*…

C语言_字符串+内存函数的介绍

字符函数和字符串函数 本章重点 重点介绍处理字符和字符串的库函数的使用和注意事项 求字符串长度 strlen 长度不受限制的字符串函数 strcpy strcat strcmp 字符串查找 strstr strtok 错误信息报告 strerror 字符操作内存操作函数 memcpy memmove memset memcmp 1. 字…

【含文档】基于Springboot+Vue的白云山景点门票销售管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

「从零开始的 Vue 3 系列」:第十三章——架构一个Vue项目(简单版)

前言 本系列将从零开始&#xff0c;系统性地介绍 Vue 3 的常用 API&#xff0c;逐步深入每个核心概念与功能模块。通过详尽的讲解与实战演示&#xff0c;帮助大家掌握 Vue 3 的基础与进阶知识&#xff0c;最终具备独立搭建完整 Vue 3 项目的能力。 从零开始使用 Vite 和 Vue 3…

Mysql(七) --- 索引

文章目录 前言1.简介1.1.索引是什么&#xff1f;1.2.为什么使用索引? 2.索引应该使用什么数据结构&#xff1f;2.1.Hash2.2.二叉搜索树2.3.N叉树2.4.B树2.4.1. 简介2.4.2. B树的特点2.4.3. B树和B树的对比 3.Mysql中的页3.1.为什么要使用页3.2.页文件头和页文件尾3.3.页主体3.…

设置故障恢复机制

在分布式系统和实时数据处理场景中&#xff0c;设置故障恢复机制是确保系统稳定性和数据一致性的关键。 对于使用Flink CDC实时同步MySQL数据的场景&#xff0c;是一些设置故障恢复机制的建议&#xff1a; 1. Flink Checkpointing&#xff08;检查点&#xff09; 启用Checkp…

小新学习Docker之Docker--harbor私有仓库部署与管理

目录 一、Harbor简介 1.1、Harbor概述 1.2、Harbor的特性 1.3、Harbor的构成 二、Harbor构建Docker私有仓库 2.1、部署Harbor服务 2.2、启动 Harbor 2.3、查看 Harbor 启动镜像&#xff0c;检查harbor是否安装成功 2.4、创建一个新项目 2.5、非本地主机进行下载镜像 …

STM32学习--4-1 OLED显示屏

接线图 OLED.c #include "stm32f10x.h" #include "OLED_Font.h"/*引脚配置*/ #define OLED_W_SCL(x) GPIO_WriteBit(GPIOB, GPIO_Pin_8, (BitAction)(x)) #define OLED_W_SDA(x) GPIO_WriteBit(GPIOB, GPIO_Pin_9, (BitAction)(x))/*引脚初始化*/ void …

软件安全漏洞挖掘: 基础知识和概念

1. 软件漏洞原理和漏洞检测方法 文章目录 1. 软件漏洞原理和漏洞检测方法1. 漏洞披露2. 漏洞定义和分类1. 漏洞的定义2. 漏洞的分类3. 漏洞检测方法常见方法1. 程序切片2. 形式化方法1. 符号执行3. 污点分析污点分析步骤/流程*污点分析流程的详细介绍1. 识别source和sink点2. 污…

Pycharm通过ssh远程docker容器搭建开发环境

本地pycharm通过ssh方式远程连接服务器&#xff08;Ubuntu&#xff09;上的docker容器&#xff0c;搭建开发环境。实现功能&#xff1a;将环境依赖打包成docker镜像&#xff0c;并在远程服务器中启动容器&#xff08;启动时做好端口映射和文件夹挂载&#xff09;&#xff0c;通…

使用vscode导入库失败解决方法

导入库失败原因 在使用vscode写python代码时&#xff0c;有时会遇见导入库失败的情况&#xff0c;如下图&#xff1a;无法解析导入“xxxxx” 或者 运行时报错&#xff1a;ModuleNotFoundError: No module named xxxxx。 原因可能有&#xff1a; 根本没有下载库&#xff1b…