Пример #1
0
    public virtual void Tick(decimal deltaTime)
    {
        prevPos    = pos;
        prevVel    = vel;
        prevRot    = rot;
        prevRotVel = rotVel;

        pos += vel * deltaTime;
        rot *= Quaternion.Lerp(Quaternion.Identity, RotationalVelocity, deltaTime);
    }
Пример #2
0
    public void Initialise(Vector3 initPos, Vector3 initVel, Quaternion initRot, Quaternion initRotVel)
    {
        pos     = initPos;
        prevPos = initPos;

        vel     = initVel;
        prevVel = initVel;

        rot     = initRot;
        prevRot = initRot;

        rotVel     = initRotVel;
        prevRotVel = initRotVel;
    }
Пример #3
0
    //public void LookAt(Vector3 pos) => LookAt(pos, Vector3.Up);

    //public void LookAt(Vector3 pos, Vector3 up) => Rotation = Quaternion.LookRotation(pos - Position, up);

    public void RotateAround(Vector3 axis, decimal degrees) => rot *= Quaternion.CreateFromAxisAngle(axis, (decimal)degrees);
Пример #4
0
 public VirtualPhysicsTransform(Vector3 initPos, Vector3 initVel, Quaternion initRot, Quaternion initRotVel)
 {
     Initialise(initPos, initVel, initRot, initRotVel);
 }