Unity基础 -- 更新中(2.15)

Unity基础

文章目录

    • Unity基础
      • 3D数学 -- 基础
        • 一些方法
        • 插值运算
        • 三角函数
        • 坐标系
      • 3D数学 -- 向量
        • 理解
        • 常用函数
        • 线性插值
      • 3D数学 -- 四元数
        • 看向
        • 四元数计算
      • 延迟函数
      • 协同程序

3D数学 – 基础

一些方法
float value01 = Mathf.PI; // Π
int value03 = Mathf.Abs(-2); // 绝对值
int value04 = Mathf.CeilToInt(1.3f); // 向上取整
int value05 = Mathf.FloorToInt(1.6f); // 向下取整
int value06 = Math.Clamp(5, 10, 20); // 钳制函数:在10~20直接返回值,10~20之外返回接近的那个值
int value07 = Mathf.Min(10, 90, 2); // 最小值,参数可变长
int value08 = Mathf.Max(1, 2, 6); // 最大值,参数可变长
float value09 = Mathf.Pow(5, 2); // 幂运算
int value10 = Mathf.RoundToInt(1.5f); // 四舍五入
float value11 = Mathf.Sqrt(4.0f); // 平方根      
插值运算

在这里插入图片描述

三角函数

在这里插入图片描述

在这里插入图片描述

	// 弧度转角度
    float rad = 5;
    float anger = 5 * Mathf.Rad2Deg;

    // 角度转弧度
    anger = 1;
    rad = anger * Mathf.Deg2Rad;

    // 三角函数:参数是弧度值
    anger = 30 * Mathf.Deg2Rad;
    float sin30rad = Mathf.Sin(anger);

    // 反三角函数:返回值是弧度值
    float asin = Mathf.Asin(1);
    print(asin * Mathf.Rad2Deg);
坐标系

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

3D数学 – 向量

理解

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

常用函数
// 点乘
Vector3.Dot(dir1, dir2);

// 叉乘
Vector3.Cross(dir1, dir2);

// 角度
Vector3.Angle(dir1, dir2);

// 两点间距离
Vector3.Distance(pos1, pos2);
线性插值

Mathf.Lerp用法相同,只是参数为Vector3

在这里插入图片描述

3D数学 – 四元数

在这里插入图片描述

// 初始化四元数
    Quaternion q = Quaternion.AngleAxis(60, Vector3.right);
    this.transform.rotation = q;

// 欧拉角转四元数
    Vector3 euler = new Vector3(1, 2, 3);
    Quaternion qua = Quaternion.Euler(euler);

// 四元数转欧拉角
    euler = qua.eulerAngles;

在这里插入图片描述

在这里插入图片描述

看向

四元数计算

在这里插入图片描述

延迟函数

  1. 延迟函数

    参数一:函数名 字符串 参数二:延迟时间 单位秒

    注意:延迟函数无法直接调用有参函数,函数名必须是该脚本申明的函数

    Invoke("function", 5);
    
  2. 延迟重复执行函数

    参数一:函数名 字符串 参数二:第一次执行延迟时间 参数三:之后每次执行的间隔时间

    注意:同上

    InvokeRepeating("function", 5, 5);
    
  3. 取消延迟函数

    CancelInvoke(); // 取消该脚本上所有延迟函数
    CancelInvoke("function"); // 取消指定函数名的延迟函数
    
  4. 判断是否有延迟函数

    bool isInvoke = IsInvoking();
    bool isInvoke2 = IsInvoking("function");
    

影响延迟函数:

脚本依附对象失活、脚本失活,延迟函数继续执行

脚本依附对象销毁、脚本销毁,延迟函数继续执行

协同程序

  1. 多线程

    注意:新开的线程无法访问Unity相关对象的内容

    Thread th;
    
    void Start()
    {
        th = new Thread(Test); // 创建线程
        th.Start(); // 开启线程
    }
    
    // 线程与Unity编辑器共存亡,所以需要关闭线程
    private void OnDestroy() 
    {
        th.Abort(); // 结束线程
        th = null;    
    }
    
    private void Test()
    {
        while(true)
        {
            Thread.Sleep(1000);
            print("Thread");
        }
    }
    
  2. 协同程序(协程)

    • “假”的多线程,协程不是多线程

    • 将代码分时执行

    • 使用场景:异步加载、下载,场景异步加载,批量创建防止卡顿

    • 与线程的区别:

      ​ 线程:新开一个独立的管道和主线程并行执行

      ​ 协程:新开一个协程在原线程之上开启,进行逻辑的分时分步执行

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

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

相关文章

MySQL安装及环境配置

目录 下载安装检验安装是否成功配置环境变量 下载 MySQL下载链接 安装 点击安装包进行安装 选择Server only,点击Next 点击Execute 点击Next 提示我们需要进行一些配置,点击Next 输入管理员密码,点击Next 点击Execute,安装配…

【类与对象(1)】类的引入、访问及封装、定义、作用域、实例化、类大小的计算、this指针

1.类的引入 C兼容了C语言结构体的用法,但是同时又升级成了类。结构体中只能定义变量,类中不仅可以定义变量,还可以定义函数。 例如,数据结构中实现栈,结构体stack中只定义了变量,要实现的函数在结构体外定…

FastAI 之书(面向程序员的 FastAI)(一)

原文:www.bookstack.cn/read/th-fastai-book 译者:飞龙 协议:CC BY-NC-SA 4.0 序言 原文:www.bookstack.cn/read/th-fastai-book/README.md 译者:飞龙 协议:CC BY-NC-SA 4.0 在很短的时间内,深度…

建筑工程如何找答案? #职场发展#笔记#职场发展

这些软件以其强大的搜索引擎和智能化的算法,为广大大学生提供了便捷、高效的解题方式。下面,让我们一起来了解几款备受大学生欢迎的搜题软件吧! 1.易解题 这是一个网站 是我在百度搜题,经常会出现的一个网站,它里面…

K8S集群实践之十:虚拟机部署阶段性总结

目录 1. 说明: 2. 安装准备 2.1 每个节点设置双网卡,一卡做网桥(外部访问),一卡做NAT(集群内网访问) 2.2 准备一个可用的代理服务器 3. 由于虚拟机崩溃(停电,宿主机…

Gemini 1.5 Pro揭秘:Google DeepMind新一代AI模型如何突破千万级别词汇限制?

Gemini 1.5 Pro 发布! 这款模型凭借其超长的上下文处理能力脱颖而出,支持10M tokens。 它的多模态特性意味着,无论面对多么庞大复杂的内容,Gemini 1.5 Pro都能游刃有余地应对。 在AI的世界里,上下文的理解如同记忆的…

如何创建和填写 PDF 表单,简化您的文档工作流

阅读本文,了解如何在开源办公套件 ONLYOFFICE 中创建和填写 PDF 表单。 ONLYOFFICE表单发展小史 ONLYOFFICE 表单首个版本发布于2022年1月18日,是 ONLYOFFICE 版本 7.0 更新的一部分。 您可以使用 ONLYOFFICE 表单,创建各种类型的模板文档&a…

DS Wannabe之5-AM Project: DS 30day int prep day18

Q1. What is Levenshtein Algorithm? Levenshtein算法,也称为编辑距离算法,是一种量化两个字符串之间差异的方法。它通过计算将一个字符串转换成另一个字符串所需的最少单字符编辑操作次数来实现。这些编辑操作包括插入、删除和替换字符。Levenshtein距…

备战蓝桥杯---图论之最短路Bellman-Ford算法及优化

目录 上次我们讲到复杂度为(nm)logm(m为边,n为点)的迪杰斯特拉算法,其中有一个明显的不足就是它无法解决包含负权边的图。 于是我们引进Bellman-Ford算法。 核心:枚举所有的点,能松弛就松弛,直…

使用radial-gradient完成弧形凹陷的绘制

1、效果如下图 我在微信小程序中制作的 2、代码如下 <style>.header {position: relative;width: 200px;height: 200px;overflow: hidden;}.header .circle {--circleValue: 500px;position: absolute;bottom: 0;left: 50%;width: 100%;height: var(--circleValue);trans…

2024牛客寒假算法基础集训营2-c Tokitsukaze and Min-Max XOR

来源 题目 Tokitsukaze 有一个长度为 n 的序列 a1,a2,…,an和一个整数 k。 她想知道有多少种序列 b1,b2,…,bm满足&#xff1a; 其中 ⊕\oplus⊕ 为按位异或&#xff0c;具体参见 百度百科&#xff1a;异或 答案可能很大&#xff0c;请输出  mod1e97 后的结果。 输入描述…

【开源】SpringBoot框架开发食品生产管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 加工厂管理模块2.2 客户管理模块2.3 食品管理模块2.4 生产销售订单管理模块2.5 系统管理模块2.6 其他管理模块 三、系统展示四、核心代码4.1 查询食品4.2 查询加工厂4.3 新增生产订单4.4 新增销售订单4.5 查询客户 五、…

基于微信小程序的智能社区服务小程序,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【STM32】OLED显示实验

目录 一、硬件介绍 1. STM32F03C8T6 2. OLED屏 二、STM32CubeMX配置 1. 实际接线 2. IIC配置 3. 其他配置 四、字模生成 1. 打开PCtoLCD2002.exe软件。选择字符模式。 2. 以16x16汉字取模为例&#xff0c;即字宽字高都为16. 3. 输入取模汉字。 4. 点击生成自模。 …

毕业设计vue+php幼儿园网站系统yl567

幼儿园网站系统。采用vscode集成IDE对幼儿园网站系统统进行开发,整合系统的各个模块。 拟开发的幼儿园网站系统通过测试,确保在最大负载的情况下稳定运转,各个模块工作正常,具有较高的可用性。系统整体界面简洁美观,用户使用简单,满足用户需要。在因特网发展迅猛的当今社会,幼儿…

最短路径与关键路径

目录 文章目录 前言 一.最短路径 1.基本概念 1.1什么是源点&#xff1f; 1.2什么是最短路径 2.作用 3.迪杰斯特拉算法 4. 弗洛伊德算法 4.1过程演示 二.拓扑排序 1.基本概念 1.1什么是有向无环图 1.2什么是活动 1.3什么是AOV网 1.4什么是拓扑序列 1.5什么是拓扑…

多线程练习

做以下练习的基本步骤&#xff1a; 定义共享变量&#xff08;若要创建多个对象使用静态&#xff09;&#xff1b;写循环&#xff08;while&#xff09; 有时候不写while&#xff0c;比如说抢红包每条线程只能抢一次&#xff0c;就不用while循环 同步代码块判断&#xff08;已经…

OpenSource - 一站式自动化运维及自动化部署平台

文章目录 orion-ops 是什么重构特性快速开始技术栈功能预览添砖加瓦License orion-ops 是什么 orion-ops 一站式自动化运维及自动化部署平台, 使用多环境的概念, 提供了机器管理、机器监控报警、Web终端、WebSftp、机器批量执行、机器批量上传、在线查看日志、定时调度任务、应…

《合成孔径雷达成像算法与实现》Figure6.17

% rho_r c/(2*Fr)而不是rho_r c/(2*Bw) % Hsrcf exp函数里忘记乘pi了 clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; …

B端系统从0到1:有几步,其中需求分析要做啥?

一款B系统从无到有都经历了啥&#xff0c;而其中的需求分析又要做什么&#xff1f;贝格前端工场给老铁们做一下分析&#xff0c;文章写作不易&#xff0c;如果咱们有界面设计和前端开发需求&#xff0c;别忘了私信我呦&#xff0c;开始了。 一、B端系统从0到1都有哪些要走的步骤…