c# - 沿一个方向获取距离
问题描述
有没有办法在 y 轴点内计算距离?这样,当两个对象仅在 y 轴上而不是在 x 或 z 轴上彼此远离时,才会显示该值。
float Distance_To_Top = Vector3.Distance (One.transform.position, Two.transform.position);
解决方案
Vector3.Dot
对于更一般的情况,您可以通过使用归一化方向向量找到在单个方向上测量的任意两点之间的距离:
Vector3 differenceDirection = Vector3.up;
float difference = Vector3.Dot(differenceDirection,
Two.transform.position - One.transform.position);
而且,difference
还可以告诉您它们的相对位置:
- 如果
difference > 0
,Two
是differenceDirection
从One
bydifference
。 - 如果
difference < 0
,One
是differenceDirection
从Two
bydifference
。
推荐阅读
- memory - 虚拟索引物理标记和虚拟索引和虚拟标记分页有什么区别?
- c++ - Levenberg Marquardt 在校准 opencv
- jquery - 等价于 AJAX 中的表单请求
- winforms - VisualStudio 2017:语法错误在 '^' 之前缺少 ':'
- php - PHP致命错误:未捕获错误:向数组添加值时不支持的操作数类型
- python - 使用pyinstaller创建单个exe文件时导入错误
- php - 您可以将变量与 NULL 与确切的运算符进行比较吗?
- excel - Excel 中的 UserNameWindows 函数不适用于其他用户
- ios - UIProgressView Crash in swift 消息是 Thread 6: Fatal error: Unexpectedly found nil while unwrapping an Optional value
- python - 如何定位 Web 元素(Xpath:多个条件)