有没有办法从实体中获取转换组件?我知道,有它的新库,找不到。我只能找到翻译。也许它与获取实体的另一种方式有关?也许有查询。任何人都可以帮忙。谢谢。在此处输入图像描述
问问题
1510 次
2 回答
0
实际上并没有像游戏对象那样的“转换”,但我怀疑您正在寻找 LocalToWorld。除了具有位置属性外,它还具有旋转、向上、向前等内容。它包含一个矩阵,您可以使用该矩阵与位置相乘以转换为世界坐标。如果您想从世界转到本地,请在进行乘法之前反转矩阵。
于 2021-01-06T07:37:53.783 回答
0
ComponentDataFromEntity<Translation> allTranslations = GetComponentDataFromEntity<Translation>(true);
……
public class TargetToDirectionSystem : SystemBase
{
protected override void OnUpdate()
{
Entities.
WithNone<PlayerTag>().
WithAll<ChaserTag>().
ForEach((ref MoveData moveData, ref Rotation rot, in Translation pos, in TargetData targetData) =>
{
ComponentDataFromEntity<Translation> allTranslations = GetComponentDataFromEntity<Translation>(true);
if (!allTranslations.Exists(targetData.targetEntity))
{
return;
}
Translation targetPos = allTranslations[targetData.targetEntity];
float3 dirToTarget = targetPos.Value - pos.Value;
moveData.direction = dirToTarget;
}).Run();
}
}
于 2020-06-25T07:02:23.037 回答