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

Unity中点乘和叉乘对于我们来说的作用是什么?

在 Unity 中,点乘(Dot Product)和叉乘(Cross Product)是向量运算里非常重要的操作,在游戏开发、动画制作、物理模拟等多个方面都有着广泛的应用。

目录

 1  点乘

 2  叉乘


 1  点乘

通过点乘公式 ,可以计算出两个向量之间夹角的余弦值,进而得到夹角大小。在 Unity 中,常用于判断两个物体的朝向关系。例如,在 AI 寻路中,判断敌人是否在主角的视野范围内

        public Transform target;
        void Start()
        {
            Debug.Log("运行");
           
           Vector3 directionToTarget = target.position - transform.position;
           float dotProduct = Vector3.Dot(transform.forward, directionToTarget.normalized);
           float angle = Mathf.Acos(dotProduct) * Mathf.Rad2Deg;
           Debug.Log($"夹角: {angle} 度");
        }

 2  叉乘

在 3D 图形学中,经常需要计算平面的法向量。通过平面上的两个不共线向量进行叉乘,就可以得到该平面的法向量。

在 Unity 中,可以利用叉乘判断一个向量相对于另一个向量的左右方向。例如,在角色移动控制中,判断角色应该向左还是向右转弯。若叉乘结果的z分量为正,则表示目标向量在参考向量的右侧;若为负,则在左侧。

示例:


http://www.kler.cn/a/560747.html

相关文章:

  • VoIP之音频3A技术
  • 五、AIGC大模型_04LLaMA-Factory基础知识与SFT实战
  • 【LeetCodehHot100_0x01】
  • 图像处理案例06 OCR应用
  • WPF-Avalonia实践一两个页面的相关传递
  • 汽车零部件工厂如何通过ESD监控系统闸机提升产品质量
  • 【Unity】鱼群效果模拟
  • Android TextView 使用.9图片文字不展示
  • 蓝桥杯 2013 省 B 翻硬币
  • Stm32定时器输出PWM
  • 排序算法解析实现与时间复杂度分析
  • SQL笔记#数据更新
  • 微信小程序:完善购物车功能,购物车主页面展示,详细页面展示效果
  • python安装spacy3.8.3对应的版本zh_core_web_sm3.8.0
  • netty常见的面试问题整理
  • 塔能物联运维保障智慧地下停车场安全与高效
  • 什么是期权垂直价差套利策略?
  • 10种方法教你又小又清晰地压缩视频
  • 在 MySQL 的 InnoDB 存储引擎中,部分数据库优化策略
  • 数据库并发问题有那些以及解决办法