Inheritance: MonoBehaviour
Ejemplo n.º 1
0
    void Update()
    {
        Vector3 worldDeltaPosition = agent.nextPosition - transform.position;

        // Map 'worldDeltaPosition' to local space
        float   dx            = Vector3.Dot(transform.right, worldDeltaPosition);
        float   dy            = Vector3.Dot(transform.forward, worldDeltaPosition);
        Vector2 deltaPosition = new Vector2(dx, dy);

        // Low-pass filter the deltaMove
        float smooth = Mathf.Min(1.0f, Time.deltaTime / 0.15f);

        smoothDeltaPosition = Vector2.Lerp(smoothDeltaPosition, deltaPosition, smooth);

        // Update velocity if time advances
        if (Time.deltaTime > 1e-5f)
        {
            velocity = smoothDeltaPosition / Time.deltaTime;
        }

        bool shouldMove = velocity.magnitude > 0.5f && agent.remainingDistance > agent.radius;

        // Update animation parameters
        anim.SetBool("move", shouldMove);
        anim.SetFloat("velx", velocity.x);
        anim.SetFloat("vely", velocity.y);

        //GetComponent<LookAt>().lookAtTargetPosition = agent.steeringTarget + transform.forward;
        LookAt lookAt = GetComponent <LookAt>();

        if (lookAt)
        {
            lookAt.lookAtTargetPosition = agent.steeringTarget + transform.forward;
        }
    }
Ejemplo n.º 2
0
        public void CollectTargetSectors(CollectTargetSectorsEvent e, WeaponNode weaponNode, [JoinByBattle] ICollection <TargetTankNode> targetTankNodes, WeaponNode weaponNode1, [JoinByTank] OwnerTankNode ownerTankNode, [JoinByTeam] Optional <TeamNode> team)
        {
            MuzzleLogicAccessor accessor = new MuzzleLogicAccessor(weaponNode.muzzlePoint, weaponNode.weaponInstance);
            bool   flag   = team.IsPresent();
            long   num    = !flag ? 0L : team.Get().teamGroup.Key;
            LookAt lookAt = new LookAt {
                Position = accessor.GetBarrelOriginWorld(),
                Forward  = accessor.GetFireDirectionWorld(),
                Left     = accessor.GetLeftDirectionWorld(),
                Up       = accessor.GetUpDirectionWorld()
            };
            IEnumerator <TargetTankNode> enumerator = targetTankNodes.GetEnumerator();

            while (enumerator.MoveNext())
            {
                TargetTankNode current = enumerator.Current;
                if (!ownerTankNode.Entity.Equals(current.Entity) && (!flag || (num != current.Entity.GetComponent <TeamGroupComponent>().Key)))
                {
                    BoxCollider tankToTankCollider = (BoxCollider)current.tankColliders.TankToTankCollider;
                    LookTo      lookTo             = new LookTo {
                        Position = tankToTankCollider.bounds.center,
                        Radius   = this.CalculateTankMinimalRadius(lookAt.Forward, tankToTankCollider)
                    };
                    this.AddTargetSector(lookAt, lookTo, e.TargetingCone, e.TargetSectors, e.VAllowableAngleAcatter, e.HAllowableAngleAcatter);
                }
            }
        }
Ejemplo n.º 3
0
    protected void Look(LookAt lookAt)
    {
        switch (lookAt)
        {
        case LookAt.UP:
            player.controller.Movement(0, 1, false);
            break;

        case LookAt.DOWN:
            player.controller.Movement(0, -1, false);
            break;

        case LookAt.RIGHT:
            player.controller.Movement(1, 0, false);
            break;

        case LookAt.LEFT:
            player.controller.Movement(-1, 0, false);
            break;
        }

        if (lookAt != LookAt.NONE)
        {
            player.controller.Movement(0, 0, false);
        }
    }
Ejemplo n.º 4
0
        public void Reset(Track track, bool placeByIndex)
        {
            if (placeByIndex)
            {
                PathPoint pp;
                var       p = track.PathPosToPoint(-Index * 5, out pp);
                LookAt        = pp.Dir.Normalized();
                Pos           = p + LookAt.Rotate90() * 2 * (Index % 2 == 0 ? 1 : -1);
                CapturedPoint = pp;
            }
            else
            {
                Pos           = track.Points[0].Point;
                LookAt        = track.Points[0].Dir.Normalized();
                CapturedPoint = track.Points[0];
            }

            TotalCapturedLength = 0;
            Adhesion            = track.Adhesion;

            IsAlive      = true;
            IsOutOfTrack = false;
            IsOnGround   = true;
            Penalty      = 0;
        }
Ejemplo n.º 5
0
    private IEnumerator StopStaringAtObject(LookAt lightIn) // Resets gazetype to idle
    {
        yield return(new WaitForSeconds(objectStareTimer));

        lightIn.SetGazeTypeCurrent(resetType);
        lightIn.SetGazeTypeReset(resetType);
    }
Ejemplo n.º 6
0
        private void AddTargetSector(LookAt lookAt, LookTo lookTo, TargetingCone targetingCone, ICollection <TargetSector> sectors, float vDelta, float hDelta)
        {
            Vector3 lhs       = lookTo.Position - lookAt.Position;
            float   magnitude = lhs.magnitude;

            if ((magnitude <= targetingCone.Distance) && (magnitude >= lookTo.Radius))
            {
                float num2 = (float)((Math.Asin((double)(lookTo.Radius / magnitude)) * 180.0) / 3.1415926535897931);
                float num3 = num2 + vDelta;
                float num4 = num2 + hDelta;
                float num6 = Vector3.Dot(lhs, lookAt.Forward);
                float num7 = Vector3.Dot(lhs, lookAt.Up);
                float num8 = (float)((Math.Atan2((double)Vector3.Dot(lhs, lookAt.Left), (double)num6) * 180.0) / 3.1415926535897931);
                if ((num8 >= -(num4 + targetingCone.HAngle)) && (num8 <= (targetingCone.HAngle + num4)))
                {
                    float num9  = (float)((Math.Atan2((double)num7, (double)num6) * 180.0) / 3.1415926535897931);
                    float num10 = Math.Max(num9 - num3, -targetingCone.VAngleDown);
                    float num11 = Math.Min(num9 + num3, targetingCone.VAngleUp);
                    if (num10 < num11)
                    {
                        TargetSector item = new TargetSector {
                            Down     = num10,
                            Up       = num11,
                            Distance = magnitude
                        };
                        sectors.Add(item);
                    }
                }
            }
        }
Ejemplo n.º 7
0
 // Use this for initialization
 void Start()
 {
     look      = GetComponent <LookAt> ();
     character = GameObject.FindGameObjectsWithTag("Player") [0];
     alertImage.rectTransform.anchoredPosition = new Vector2(0, -1);
     downWScript = gameObject.GetComponent <NpcDownW> ();
 }
Ejemplo n.º 8
0
 // Use this for initialization
 void Start()
 {
     controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController> ();
     anim       = GetComponent <Animator> ();
     look       = GetComponent <LookAt> ();
     alertLvl   = GetComponent <NPCradar> ();
 }
Ejemplo n.º 9
0
 void Start()
 {
     anim  = GetComponent <Animator>();
     agent = GetComponent <UnityEngine.AI.NavMeshAgent>();
     agent.updatePosition = false;
     lookAt = GetComponent <LookAt>();
 }
Ejemplo n.º 10
0
 public void Update(SimTime t)
 {
     if (_lookAtAnim != null)
     {
         if (_lookAtAnim.Update(t))
         {
             LookAt   = _lookAtAnim.Value;
             LookAt3d = LookAt.ToPositionAboveSeaLeveld(0);
             Dirty    = true;
         }
         else
         {
             _lookAtAnim = null;
         }
     }
     if (_posAnim != null)
     {
         if (_posAnim.Update(t))
         {
             Pos3d = _posAnim.Value;
             Dirty = true;
         }
         else
         {
             _posAnim = null;
         }
     }
 }
Ejemplo n.º 11
0
 void Awake()
 {
     m_anim        = GetComponent <Animator>();
     m_checkPoints = GameObject.Find("NavCheckPoints").GetComponent <NavCheckPoints>().CheckPoints;
     m_navAgent    = GetComponent <NavMeshAgent>();
     m_lookAt      = GetComponent <LookAt>();
 }
Ejemplo n.º 12
0
        public override void Rotate(Matrix4 rotationMatrix)
        {
            LookAt  = VectMatrix.Multiply(LookAt, rotationMatrix);
            RotVect = VectMatrix.Multiply(RotVect, rotationMatrix);

            LookAt  = LookAt.Normalize();
            RotVect = RotVect.Normalize();
        }
Ejemplo n.º 13
0
        static void calculatePosition()
        {
            var look = LookAt.ToVector();

            view = Matrix4.CreateTranslation(-look.X, -look.Y, 0);

            CameraVisibility.LookAtUpdated();
        }
Ejemplo n.º 14
0
 void Start()
 {
     label = Instantiate(
         Resources.Load("Prefab/RoleLabel"), Vector3.zero, Quaternion.identity
     ) as GameObject;
     label.name = "RoleLabel";
     lookAt = GetComponent<LookAt>();
 }
Ejemplo n.º 15
0
 public void LookAt(Transform trans)
 {
     if (Lookat == null)
     {
         Lookat = Head.GetComponent <LookAt>();
     }
     Lookat.Target = trans;
 }
Ejemplo n.º 16
0
 // Use this for initialization
 void Start()
 {
     myRadar            = gameObject.GetComponent <NPCradar> ();
     anim               = GetComponent <Animator> ();
     look               = GetComponent <LookAt> ();
     alertLvl           = GetComponent <NPCradar> ();
     alertLvl.isWalking = false;
 }
Ejemplo n.º 17
0
    void Awake()
    {
        lookAt         = GetComponentInChildren <LookAt>();
        originalParent = transform.parent;

        Camera cam = GetComponent <Camera>();

        UnityEngine.XR.XRDevice.DisableAutoXRCameraTracking(cam, true);
    }
Ejemplo n.º 18
0
    void FocusCubie(Vector3 pos)
    {
        LookAt camera = Camera.main.GetComponent <LookAt>();

        if (camera != null)
        {
            camera.SetTarget(pos);
        }
    }
Ejemplo n.º 19
0
        public void Rotate(ILocatable loc, float ddegs)
        {
            _pos   = _pos.RotateAround(loc, ddegs);
            LookAt = LookAt.RotateAround(loc, ddegs);

            Pos3d    = _pos.ToPositionAboveSeaLeveld(_altitude);
            LookAt3d = LookAt.ToPositionAboveSeaLeveld(0);

            Dirty = true;
        }
Ejemplo n.º 20
0
        private object SetLookAt(object param)
        {
            if (m_Owner != null)
            {
                LookAt lookup = (LookAt)param;
                m_Owner.LookAt(lookup.vTarget, lookup.vUp);
            }

            return(null);
        }
Ejemplo n.º 21
0
    void FocusCubie(CubeInfo.Cubie cubie)
    {
        Debug.Log("FIX CUBIE: " + cubie.id);
        LookAt camera = Camera.main.GetComponent <LookAt>();

        if (camera != null)
        {
            camera.SetTarget(cubie.transform);
        }
    }
Ejemplo n.º 22
0
 public Placemark(string name, string description, string styleUrl,
                  string visibility, KMLPoint point, LookAt lookat)
 {
     Name        = name;
     Description = description;
     StyleUrl    = styleUrl;
     Visibility  = visibility;
     Look        = lookat;
     Point       = point;
 }
Ejemplo n.º 23
0
        public void Drag(Location start, Location end)
        {
            var d = -start.VectorTo(end);

            _pos     = _pos.LocationAway(d);
            Pos3d    = _pos.ToPositionAboveSeaLeveld(_altitude);
            LookAt   = LookAt.LocationAway(d);
            LookAt3d = LookAt.ToPositionAboveSeaLeveld(0);

            Dirty = true;
        }
Ejemplo n.º 24
0
    protected IEnumerator MoveTo(Vector3 position, LookAt lookAt = LookAt.NONE)
    {
        player.SetNewDestination(position);

        while (player.IsMoving())
        {
            yield return(null);
        }

        Look(lookAt);
    }
Ejemplo n.º 25
0
    void Start()
    {
        bulletPool = GameObject.FindGameObjectWithTag("BulletPool").transform;
        InvokeRepeating("Shoot", 0, 1 / bulletsPerSecond);
        LookAt aim = GetComponent <LookAt>();

        if (aim)
        {
            aim.SetTarget(GameManager.instance.GetPlayer().transform);
        }
    }
Ejemplo n.º 26
0
        private void UpdateRotation()
        {
            var currentPosition      = ship.GetPosition();
            var lookAtTargetPosition = LookAt.GetPosition(currentPosition);

            var lookAtDelta     = lookAtTargetPosition - currentPosition;
            var targetRotation  = lookAtDelta.GetAngle();
            var currentRotation = ship.Rigidbody2D.rotation;

            ship.Rigidbody2D.rotation = Mathf.MoveTowardsAngle(currentRotation, targetRotation, 100 * Time.fixedDeltaTime);
        }
Ejemplo n.º 27
0
    private void InitializeVariables()
    {
        _firingGun    = FiringGun();
        _lookAt       = GetComponent <LookAt>();
        _visualSprite = visual.GetComponent <SpriteRenderer>();

        if (!isWieldedByPlayer)                                    // if gun is wielded by an enemy, multiply the time between fires (slows down enemy firerate)
        {
            timeBetweenFires *= enemyFiringMultiplier;
        }
    }
Ejemplo n.º 28
0
 void Start()
 {
     lights         = GetComponentsInChildren <Light>();
     animator       = GetComponentInChildren <Animator>();
     rb2D           = GetComponent <Rigidbody2D>();
     circleCollider = GetComponent <CircleCollider2D>();
     bCollider      = GetComponent <BoxCollider2D>();
     autoLook       = GetComponent <LookAt>();
     defaultColor   = lights[0].color;
     defaultCam     = mainCam;
     StartCoroutine(Blink());
 }
Ejemplo n.º 29
0
        public static (LookAt, FirstPerson) Migrate(glTF gltf, JsonNode vrm0)
        {
            // VRM1
            // firstPerson に同居していた LookAt は独立します
            LookAt lookAt = default;

            lookAt = new LookAt
            {
                RangeMapHorizontalInner = MigrateLookAtRangeMap(vrm0["lookAtHorizontalInner"]),
                RangeMapHorizontalOuter = MigrateLookAtRangeMap(vrm0["lookAtHorizontalOuter"]),
                RangeMapVerticalDown    = MigrateLookAtRangeMap(vrm0["lookAtVerticalDown"]),
                RangeMapVerticalUp      = MigrateLookAtRangeMap(vrm0["lookAtVerticalUp"]),
                Type = MigrateLookAtType(vrm0["lookAtTypeName"]),
                OffsetFromHeadBone = MigrateVector3.Migrate(vrm0, "firstPersonBoneOffset"),
            };

            var firstPerson = new FirstPerson
            {
                // VRM1
                // firstPersonBoneOffset は廃止されます。LookAt.OffsetFromHeadBone を使ってください。
                // firstPersonBone は廃止されます。Head 固定です。
                MeshAnnotations = new System.Collections.Generic.List <MeshAnnotation>(),
            };

            if (vrm0.TryGet("meshAnnotations", out JsonNode meshAnnotations))
            {
                Func <int, int> meshIndexToRenderNodeIndex = meshIndex =>
                {
                    for (int i = 0; i < gltf.nodes.Count; ++i)
                    {
                        var node = gltf.nodes[i];
                        if (node.mesh == meshIndex)
                        {
                            return(i);
                        }
                    }
                    throw new NotImplementedException("mesh is not used");
                };
                foreach (var x in meshAnnotations.ArrayItems())
                {
                    var a = new MeshAnnotation
                    {
                        Node = meshIndexToRenderNodeIndex(x["mesh"].GetInt32()),
                        Type = MigrateFirstPersonType(x["firstPersonFlag"]),
                    };
                    firstPerson.MeshAnnotations.Add(a);
                }
            }
            ;

            return(lookAt, firstPerson);
        }
Ejemplo n.º 30
0
        public static UniGLTF.Extensions.VRMC_vrm.LookAt ToGltf(this LookAt lookAt)
        {
            var dst = new UniGLTF.Extensions.VRMC_vrm.LookAt
            {
                LookAtType            = (UniGLTF.Extensions.VRMC_vrm.LookAtType)lookAt.LookAtType,
                LookAtHorizontalInner = lookAt.HorizontalInner.ToGltf(),
                LookAtHorizontalOuter = lookAt.HorizontalOuter.ToGltf(),
                LookAtVerticalUp      = lookAt.VerticalUp.ToGltf(),
                LookAtVerticalDown    = lookAt.VerticalDown.ToGltf(),
                OffsetFromHeadBone    = lookAt.OffsetFromHeadBone.ToFloat3(),
            };

            return(dst);
        }
Ejemplo n.º 31
0
 public void SetLookAt(ILocatable lookAt, bool animated)
 {
     if (animated)
     {
         _lookAtAnim = new LocLinAnim(2, LookAt, lookAt);
         var oldLocPos = LookAt.ToPositionAboveSeaLeveld(_altitude);
         _posAnim = new VectorLinAnim(5, Pos3d, oldLocPos);
     }
     else
     {
         LookAt   = new Location(lookAt);
         LookAt3d = LookAt.ToPositionAboveSeaLeveld(0);
         Dirty    = true;
     }
 }
Ejemplo n.º 32
0
 public Placemark(string name, string description, string styleUrl,
     string visibility, KMLPoint point, LookAt lookat)
 {
     Name = name;
     Description = description;
     StyleUrl = styleUrl;
     Visibility = visibility;
     Look = lookat;
     Point = point;
 }