c# - 吸引给定点周围的对象而不重叠
问题描述
我有许多物体,我想被另一个物体吸引。这些对象应围绕该目标对象排列并且不相互重叠,以便它们在该对象周围创建一个随机云而不与它相交。
目前我对每个对象都有以下代码,但问题是对象相互重叠。如何避免重叠?我想我的“走向目标”解决方案太简单了?
const float minDistance = 600.0f;
Vector2 dir = Vector2.Normalize(targetPos - this.pos);
float dist = Vector2.Distance(targetPos, this.pos);
targetPosition = BasePosition + dir * (dist - minDistance);
[OnUpdate]
this.pos = Vector2.Lerp(this.pos, targetPosition, deltaTime);
解决方案
推荐阅读
- android - Nativescript 中本机传感器的可访问性
- html - 表格行之间的垂直线。合并两个单元格(标题)
- java - Spring:在创建任何 bean 之前初始化属性
- arrays - jq:如何将一个数组中的元素一个一个地添加到另一个数组中
- python - 重复相同数字的 Sikuli RNG 脚本
- zerobrane - ZeroBrane:基于每个文件注册 API
- vb.net - 当代码包含在 < > for Visual Basic 中时
- r - 使用 R 过滤多个数字列基于另一个数字向量
- rust - error[E0554]: #![feature] may not be used on the stable release channel Couldn't install racer using cargo
- html - 有没有办法使 div 的边界相移?