Exemplo n.º 1
0
    public static SpatialPosition interpolate_linear(SpatialPosition A, SpatialPosition B, float t)
    {
        SpatialPosition r = new SpatialPosition();

        r.p = A.p * (1 - t) + B.p * t;
        r.r = Quaternion.Slerp(A.r, B.r, t);
        return(r);
    }
Exemplo n.º 2
0
 public CameraInterpolator(Camera c)
 {
     this.Camera = c;
     TargetFOV   = c.fieldOfView;
     TargetOrthographicHeight = c.orthographicSize;
     TargetSpatialPosition    = new SpatialPosition(c.transform);
     SoftInterpolation        = 1f;
 }
Exemplo n.º 3
0
    public void update(float aDeltaTime)
    {
        SpatialPosition nsp = SpatialPosition.interpolate_linear(new SpatialPosition(Camera.transform), TargetSpatialPosition, SoftInterpolation);

        Camera.transform.position = nsp.p;
        Camera.transform.rotation = nsp.r;

        Camera.orthographicSize = Camera.orthographicSize * (1 - SoftInterpolation) + TargetOrthographicHeight * SoftInterpolation;
        Camera.fieldOfView      = Camera.fieldOfView * (1 - SoftInterpolation) + TargetFOV * SoftInterpolation;
    }
                    public static SpatialPosition FromBaseObject(BaseObject baseObj)
                    {
                        if (baseObj == null || baseObj.NativeObject == IntPtr.Zero)
                        {
                            return(null);
                        }
                        SpatialPosition obj = baseObj as  SpatialPosition;

                        if (object.Equals(obj, null))
                        {
                            obj = new SpatialPosition(CreatedWhenConstruct.CWC_NotToCreate);
                            obj.BindNativeObject(baseObj.NativeObject, "CSpatialPosition");
                            obj.IncreaseCast();
                        }

                        return(obj);
                    }
                    public BaseObject Create()
                    {
                        SpatialPosition emptyInstance = new SpatialPosition(CreatedWhenConstruct.CWC_NotToCreate);

                        return(emptyInstance);
                    }