c# - 获取对撞机中的最近点
问题描述
我想知道如何获得此功能在 Unity 2018.3 中提供的相同结果,但该功能尚不可用:
https://docs.unity3d.com/2019.1/Documentation/ScriptReference/Collider2D.ClosestPoint.html
解决方案
我今天遇到了这个问题,我也在用2018.3。这是一个替代 collider2D.ClosestPoint 的辅助函数。根据需要编辑对撞机。
public static class Collider2DExtension
{
/// <summary>
/// Return the closest point on a Collider2D relative to point
/// </summary>
public static Vector2 ClosestPoint(this Collider2D col, Vector2 point)
{
GameObject go = new GameObject("tempCollider");
go.transform.position = point;
CircleCollider2D c = go.AddComponent<CircleCollider2D>();
c.radius = 0.1f;
ColliderDistance2D dist = col.Distance(c);
Object.Destroy(go);
return dist.pointA;
}
}
从这个线程采购它:https ://forum.unity.com/threads/get-closest-point-of-collider2d.225120/
推荐阅读
- css - 如何使弹性容器宽度适应弹性项目的宽度(和数量)?
- sql - 在 ef-core 和 Linq 中获取查询优化
- batch-file - URL 作为批处理文件的用户输入
- sql - SQL Server 查找数据更改前的行
- solr - 使用 solr admin 在 solr 上删除文档时收到 403 未经授权的请求
- sql - 不能从查询中引用 CTE?
- architecture - 什么样的文档是架构文档?
- javascript - Vue JS - 使用 v-for 播放/暂停的视频处理
- git - 你可以对 Git Fetch 应用过滤器吗?
- delphi - TOpenPictureDialog 和 png_old 扩展