我正在使用以下代码创建贝塞尔曲线.通过在场景视图中移动单击,可以扩展曲线以连接多个贝塞尔曲线.我的代码具有使整个曲线连续或不连续的功能.我意识到我需要使个别点(特别是锚点)具有此功能.
我认为最理想的方法是为具有此功能的点创建一个新类(使点连续或不连续),因为这可以用于添加可能特定于点的其他属性.怎么办呢?
路径
[System.Serializable]
public class Path {
[SerializeField, HideInInspector]
List<Vector2> points;
[SerializeField, HideInInspector]
public bool isContinuous;
public Path(Vector2 centre)
{
points = new List<Vector2>
{
centre+Vector2.left,
centre+(Vector2.left+Vector2.up)*.5f,
centre + (Vector2.right+Vector2.down)*.5f,
centre + Vector2.right
};
}
public Vector2 this[int i]
{
get
{
return points[i];
}
}
public int NumPoints
{
get
{
return points.Count;
}
}
public int NumSegments
{
get
{
return (points.Count - 4) / 3 + 1;
}
}
public void AddSegment(Vector2 anchorPos)
{
points.Add(points[points.Count - …Run Code Online (Sandbox Code Playgroud) 这是一个非常普遍的基于学习的问题,而不是技术问题.
我正在Unity中制作游戏.游戏涉及许多相当复杂,高对象数的进程,因此,我产生了大量的垃圾.每个制作使用托管代码的游戏的人都知道,垃圾收集峰值是一个巨大的口号.我也试图瞄准移动设备,所以这种痛苦被放大了.
我的目标很简单:跟踪生成最多垃圾和池的过程并重用所涉及的对象,以减少垃圾收集器的负载.我已经处理了所有明显的类,但我的GC问题仍然存在.如果有人能在这里提供更多的智慧,请带上它.
我在研究中无法追踪的是测量GC负载和跟踪代码本身问题点的好方法.我可以从Unity和诊断类中获取有关内存池大小的指标(虽然我不知道这些数字的真正意义)并且我可以显示自开始以来发生的GC集合的总数,但是我调试这个问题的知识在那里结束了.
我知道必须有更好的方法来解决这个问题.任何人都可以指出我可以帮助我在这里的正确的工具或框架类(或库?)?我已经看到一些调试器程序(sgen?),它是Mono的一部分,但我找不到下载或更不用说如何将它连接到Unity游戏的指南.
任何帮助将不胜感激.谢谢.
我想通过调整一个来改变/调整场景视图中几个克隆对象的形状/尺寸.这个对象可以说是需要扩展的四元组或线条渲染器.例如,在场景视图中扩展(使用鼠标)一个游戏对象线渲染器时,所有其他克隆都会受到影响.我知道在克隆它之前调整一个对象的形状/尺寸要简单得多,也可以在预制件上进行此更改并应用于所有对象,但我需要看到动态更改,因为它们恰好使我的设计过程更多有效.我还想在需要时打开和关闭此功能.请看看我是如何在这个问题中创建克隆的 .
请注意,我不想在运行时实现此目的.