Unity基础 -- 更新中(2.15)

这篇具有很好参考价值的文章主要介绍了Unity基础 -- 更新中(2.15)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Unity基础

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); // 平方根      
插值运算

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

三角函数

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

	// 弧度转角度
    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);
坐标系

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

3D数学 – 向量

理解

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎
Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

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

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

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

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

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

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

3D数学 – 四元数

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

// 初始化四元数
    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;

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

看向

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

四元数计算

Unity基础 -- 更新中(2.15),Unity,unity,游戏引擎

延迟函数

  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. 协同程序(协程)

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

    • 将代码分时执行

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

    • 与线程的区别:

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

      ​ 协程:新开一个协程在原线程之上开启,进行逻辑的分时分步执行文章来源地址https://www.toymoban.com/news/detail-834874.html

到了这里,关于Unity基础 -- 更新中(2.15)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏4(附项目源码)

    本期紧接着上一篇,本期主要内容是实现商店、购买、出售、升级等功能。 新增TurretSettings 配置不同炮塔参数 绘制商店UI 新增TurretCard,渲染商品数据,如果前面有绘制价格文本,还可以渲染价格文本,这里我就偷懒不弄了 挂载脚本,并配置 新增TurretShopManager,商店管理器

    2024年01月21日
    浏览(57)
  • 【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏1(附项目源码)

    当今,塔防游戏已经成为游戏市场上备受欢迎的一类游戏类型。《保卫萝卜》作为其中的经典之作,深受玩家喜爱。本项目旨在基于《保卫萝卜》的玩法和特点,开发一个Unity2D塔防游戏,让玩家可以在游戏中体验到精彩的策略对抗与刺激的关卡挑战。 本项目将通过Unity引擎进

    2024年02月04日
    浏览(52)
  • 【用unity实现100个游戏之15】开发一个类保卫萝卜的Unity2D塔防游戏5(附项目源码,完结)

    本期是本项目的最后一篇,主要内容是配置环境、生成不同敌人、结束重开。 我用的环境素材 https://assetstore.unity.com/packages/2d/environments/2d-sugar-world-asset-pack-urp-256585

    2024年02月05日
    浏览(53)
  • Unity vs Godot :哪个游戏引擎更适合你?

    游戏引擎的选择对开发过程和最终产品质量有着重大影响。近年来,Godot和Unity这两款引擎受到广泛关注。本文将从多个维度对两者进行比较,以期为开发者提供正确的选择建议。 Godot和Unity都有各自的优势,没有绝对的好坏之分。Godot开源免费,上手简单,更适合2D和小型游戏

    2024年01月23日
    浏览(94)
  • 30分钟了解所有引擎组件,132个Unity 游戏引擎组件速通!【收藏 == 学会】

    🎬 博客主页:https://xiaoy.blog.csdn.net 🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN 🙉 🎄 学习专栏推荐:Unity系统学习专栏 🌲 游戏制作专栏推荐:游戏制作 🌲Unity实战100例专栏推荐:Unity 实战100例 教程 🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正! 📆 未来很长

    2024年02月11日
    浏览(69)
  • Unity Physics2D 2d物理引擎游戏 笔记

    2d 材质 里面可以设置 摩擦力 和 弹力 Simulated:是否在当前的物理环境中模拟,取消勾选该框类似于Disable Rigidbody,但使用这个参数更加高效,因为Disable会销毁内部产生的GameObject,而取消勾选Simulated只是禁用。 Kinematic 动力学刚体 动力学刚体不受重力和力的影响,而受用户的

    2023年04月24日
    浏览(121)
  • Unity游戏开发客户端面经——热更新(初级)

    前言:记录了总6w字的面经知识点,文章中的知识点若想深入了解,可以点击链接学习。由于文本太多,按类型分开。这一篇是 热更新 常问问题总结,有帮助的可以收藏。 1.1 为什么使用Lua作为热更新语言,不用C#         热更新本身对于资源热更新是非常容易的,Unit

    2023年04月20日
    浏览(41)
  • GODOT游戏引擎简介,包含与unity性能对比测试,以及选型建议

    GODOT,是一个免费开源的3D引擎。本文以unity作对比,简述两者区别和选型建议。由于是很久以前写的ppt,技术原因视频和部分章节丢失了。建议当做业务参考。 GODOT目前为止遇到3个比较重大的机遇,第一个是oprea的合作奖,第二个是用支持c#换来的微软的投资,第三个是虚幻

    2024年02月14日
    浏览(79)
  • Unity和UE4两大游戏引擎,你该如何选择?

    目录 游戏引擎 2 —— 难易区别 编程语言 3 —— 游戏产品 UE4制作的游戏产品  Unity制作的游戏产品  产品类型 5 —— 资源商店 6 —— 人才需求 平均薪资 总结      Unity和UE4都是游戏引擎,所谓游戏引擎就是集成了复杂功能的游戏开发软件,他们帮我们实现了复杂的底层逻

    2023年04月08日
    浏览(69)
  • Unity 开发人员转CGE(castle Game engine)城堡游戏引擎指导手册

    一、简介 2. Unity相当于什么GameObject? 3. 如何设计一个由多种资产、生物等组成的关卡? 4. 在哪里放置特定角色的代码(例如生物、物品)?Unity 中“向 GameObject 添加 MonoBehaviour”相当于什么? 5.Unity子目录相当于什么Assets? 6. 支持哪些模型格式? 7. 支持FBX模型格式吗? 8.

    2024年02月07日
    浏览(76)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包