Unity基础 -- 更新中(2.15)

2024-02-16 09:04
文章标签 基础 更新 unity 2.15

本文主要是介绍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. 协同程序(协程)

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

    • 将代码分时执行

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

    • 与线程的区别:

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

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

这篇关于Unity基础 -- 更新中(2.15)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/714091

相关文章

MySQL追踪数据库表更新操作来源的全面指南

《MySQL追踪数据库表更新操作来源的全面指南》本文将以一个具体问题为例,如何监测哪个IP来源对数据库表statistics_test进行了UPDATE操作,文内探讨了多种方法,并提供了详细的代码... 目录引言1. 为什么需要监控数据库更新操作2. 方法1:启用数据库审计日志(1)mysql/mariad

从基础到进阶详解Pandas时间数据处理指南

《从基础到进阶详解Pandas时间数据处理指南》Pandas构建了完整的时间数据处理生态,核心由四个基础类构成,Timestamp,DatetimeIndex,Period和Timedelta,下面我... 目录1. 时间数据类型与基础操作1.1 核心时间对象体系1.2 时间数据生成技巧2. 时间索引与数据

安装centos8设置基础软件仓库时出错的解决方案

《安装centos8设置基础软件仓库时出错的解决方案》:本文主要介绍安装centos8设置基础软件仓库时出错的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录安装Centos8设置基础软件仓库时出错版本 8版本 8.2.200android4版本 javas

Linux基础命令@grep、wc、管道符的使用详解

《Linux基础命令@grep、wc、管道符的使用详解》:本文主要介绍Linux基础命令@grep、wc、管道符的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录grep概念语法作用演示一演示二演示三,带选项 -nwc概念语法作用wc,不带选项-c,统计字节数-

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

SpringBoot基础框架详解

《SpringBoot基础框架详解》SpringBoot开发目的是为了简化Spring应用的创建、运行、调试和部署等,使用SpringBoot可以不用或者只需要很少的Spring配置就可以让企业项目快... 目录SpringBoot基础 – 框架介绍1.SpringBoot介绍1.1 概述1.2 核心功能2

Spring Boot集成SLF4j从基础到高级实践(最新推荐)

《SpringBoot集成SLF4j从基础到高级实践(最新推荐)》SLF4j(SimpleLoggingFacadeforJava)是一个日志门面(Facade),不是具体的日志实现,这篇文章主要介... 目录一、日志框架概述与SLF4j简介1.1 为什么需要日志框架1.2 主流日志框架对比1.3 SLF4

Spring Boot集成Logback终极指南之从基础到高级配置实战指南

《SpringBoot集成Logback终极指南之从基础到高级配置实战指南》Logback是一个可靠、通用且快速的Java日志框架,作为Log4j的继承者,由Log4j创始人设计,:本文主要介绍... 目录一、Logback简介与Spring Boot集成基础1.1 Logback是什么?1.2 Sprin

Oracle 通过 ROWID 批量更新表的方法

《Oracle通过ROWID批量更新表的方法》在Oracle数据库中,使用ROWID进行批量更新是一种高效的更新方法,因为它直接定位到物理行位置,避免了通过索引查找的开销,下面给大家介绍Orac... 目录oracle 通过 ROWID 批量更新表ROWID 基本概念性能优化建议性能UoTrFPH优化建议注

MySQL复合查询从基础到多表关联与高级技巧全解析

《MySQL复合查询从基础到多表关联与高级技巧全解析》本文主要讲解了在MySQL中的复合查询,下面是关于本文章所需要数据的建表语句,感兴趣的朋友跟随小编一起看看吧... 目录前言:1.基本查询回顾:1.1.查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J1.2.按照部门