Я совершенно новичок в использовании ECS
и Job System
от Unity, поэтому, возможно, я неправильно понимаю основную концепцию здесь.Я попытался просмотреть документы, но не смог найти ответ (возможно, потому что он все еще в предварительном просмотре).В любом случае, я хочу иметь возможность исключить влияние определенных объектов с одинаковыми компонентами в системе заданий.
Например:
У вас есть работа:
// simplified
Entities.ForEach((ref Acceleration acceleration, ref Velocity velocity, ref Translation translation) =>
{
var deltaTime = Time.deltaTime;
acceleration.value = gravityMass * math.lengthsq(math.distance(translation.Value, float3.zero));
velocity.value += acceleration.value * deltaTime;
translation.Value += velocity.value * -math.normalize(translation.Value) * deltaTime;
});`
И у вас есть две сущности, каждая из которых содержит Acceleration
, Velocity
и Translation
компоненты.Одна из ваших сущностей - это космическая скала, а другая - пуля.Как сделать так, чтобы система, описанная выше, влияла только на космический камень?
Единственное, о чем я мог подумать, - это создать разные именованные компоненты для одного и того же вида данных (например, BulletVelocity
и RockVelocity
), ноэто не похоже на правильный способ делать вещи.