Unity3d C#实现获取两个对象的夹角值(0--360)
前言
- 前言
- 直观效果
- 实现过程
- 搭建场景
- 对象
- 划线对象
- 编码
- 获取夹角
- 转换夹角值
- 显示夹角
- 绘制夹角
- 项目源码
项目中经常会遇到两个对象的夹角计算,主要还是vector3.Angle的计算,有个问题是这个返回只在180之下。通过一番查阅资料这里将整理的demo分享一下。
直观效果新建了两个对象,一个正方体和一个球体,主要就是计算正方体前向和正方体到球体方向的夹角。
TextMesh用于显示计算的夹角值。
划线对象为了更直观的看到夹角,用两根线来连接出夹角。
编码 获取夹角求出两个向量的角度
float angle = Vector3.Angle(from, to);
from正方体的前向 to 正方体到球体的向量
转换夹角值 叉乘求法线向量
Vector3 nordir = Vector3.Cross(from, to);
点乘求出相似度
float dot = Vector3.Dot(nordir, Vector3.down);
转换值
if (dot
关注
打赏
热门博文
- Unity3d 插件着色器(Shader)报错Too many texture interpolators...和‘vert‘: output parameter ‘o‘ not ...修复记录
- Unity3d C# 网址url未转义问题(https%3A%2F%2F => https://)网址无法打开问题 URL is missing a protocol e.g. http://...
- Unity3d C# 使用Universal Media Player(ump)插件播放视频的众坑之无法播放视频和VLC播放器依赖的问题
- 软考高级软件架构风格定义以及分类
- Unity 使用NVIDIA FleX for Unity插件实现制作软体、水流流体、布料等效果学习教程
- Unity3d 使用统一可寻址资产系统(Addressables)实现服务器资源热更新和资源版本管理等功能(含源码)
- Unity3d minigame-unity-webgl-transform插件转换微信小游戏报错To use dlopen, you need to use Emscripten‘s...问题
- Unity 利用Skybox Panoramic着色器制作全景图预览有条缝隙问题解决办法
- Unity3d C# 开发微信小游戏分享图片、朋友圈等功能实现(含源码)
- Unity3d Windows播放视频(视频流)功能组/插件支持对比