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

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分量为正,则表示目标向量在参考向量的右侧;若为负,则在左侧。

示例:

相关文章:

  • 【愚公系列】《鸿蒙原生应用开发从零基础到多实战》002-TypeScript 类型系统详解
  • Windows安装MySQL教程
  • 基于 QT6 工业非标自动化设备上位机软件开发与设计
  • 对Revit事务机制的一些推测
  • libxls库的编译以及基于Visual studio的配置
  • Qt开发中有关内存管理方面常见的问题分析与解决方案
  • 简讯:Rust 2024 edition and v1.85.0 已发布
  • 【Shell编程 / 9】脚本实战项目:从基础到进阶的自动化管理方案
  • uniapp修改picker-view样式
  • 什么是“可迭代”
  • Springboot的简单推荐实现
  • 机器学习面试八股文——决战金三银四
  • wsl配置
  • 提升C++项目编译速度
  • LDR6020 驱动的一拖多快充线,革新充电体验
  • DeepSeek 助力 Vue 开发:打造丝滑的二维码生成(QR Code)
  • 【Java基础-49.1】Java线程池之FixedThreadPool:使用、原理与应用场景详解
  • 如何调整CAN位宽容忍度?
  • 一个解析cyber record文件的python示例脚本
  • HC32F460_BootLoader
  • 全国省市县国土空间总体规划已基本批复完成,进入全面实施阶段
  • 呼吸医学专家杜晓华博士逝世,终年50岁
  • 多条跨境铁路加速推进,谁是下一个“超级枢纽”?
  • 白玉兰奖征片综述丨动画的IP生命力
  • 国台办:民进党当局刻意刁难大陆配偶,这是不折不扣的政治迫害
  • 跨文化戏剧的拓荒者与传承者——洪深与复旦剧社的百年回响