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; } }
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); } } }
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); } }
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; }
private IEnumerator StopStaringAtObject(LookAt lightIn) // Resets gazetype to idle { yield return(new WaitForSeconds(objectStareTimer)); lightIn.SetGazeTypeCurrent(resetType); lightIn.SetGazeTypeReset(resetType); }
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); } } } }
// 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> (); }
// Use this for initialization void Start() { controller = GameObject.FindGameObjectWithTag("GameController").GetComponent <GameController> (); anim = GetComponent <Animator> (); look = GetComponent <LookAt> (); alertLvl = GetComponent <NPCradar> (); }
void Start() { anim = GetComponent <Animator>(); agent = GetComponent <UnityEngine.AI.NavMeshAgent>(); agent.updatePosition = false; lookAt = GetComponent <LookAt>(); }
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; } } }
void Awake() { m_anim = GetComponent <Animator>(); m_checkPoints = GameObject.Find("NavCheckPoints").GetComponent <NavCheckPoints>().CheckPoints; m_navAgent = GetComponent <NavMeshAgent>(); m_lookAt = GetComponent <LookAt>(); }
public override void Rotate(Matrix4 rotationMatrix) { LookAt = VectMatrix.Multiply(LookAt, rotationMatrix); RotVect = VectMatrix.Multiply(RotVect, rotationMatrix); LookAt = LookAt.Normalize(); RotVect = RotVect.Normalize(); }
static void calculatePosition() { var look = LookAt.ToVector(); view = Matrix4.CreateTranslation(-look.X, -look.Y, 0); CameraVisibility.LookAtUpdated(); }
void Start() { label = Instantiate( Resources.Load("Prefab/RoleLabel"), Vector3.zero, Quaternion.identity ) as GameObject; label.name = "RoleLabel"; lookAt = GetComponent<LookAt>(); }
public void LookAt(Transform trans) { if (Lookat == null) { Lookat = Head.GetComponent <LookAt>(); } Lookat.Target = trans; }
// Use this for initialization void Start() { myRadar = gameObject.GetComponent <NPCradar> (); anim = GetComponent <Animator> (); look = GetComponent <LookAt> (); alertLvl = GetComponent <NPCradar> (); alertLvl.isWalking = false; }
void Awake() { lookAt = GetComponentInChildren <LookAt>(); originalParent = transform.parent; Camera cam = GetComponent <Camera>(); UnityEngine.XR.XRDevice.DisableAutoXRCameraTracking(cam, true); }
void FocusCubie(Vector3 pos) { LookAt camera = Camera.main.GetComponent <LookAt>(); if (camera != null) { camera.SetTarget(pos); } }
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; }
private object SetLookAt(object param) { if (m_Owner != null) { LookAt lookup = (LookAt)param; m_Owner.LookAt(lookup.vTarget, lookup.vUp); } return(null); }
void FocusCubie(CubeInfo.Cubie cubie) { Debug.Log("FIX CUBIE: " + cubie.id); LookAt camera = Camera.main.GetComponent <LookAt>(); if (camera != null) { camera.SetTarget(cubie.transform); } }
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; }
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; }
protected IEnumerator MoveTo(Vector3 position, LookAt lookAt = LookAt.NONE) { player.SetNewDestination(position); while (player.IsMoving()) { yield return(null); } Look(lookAt); }
void Start() { bulletPool = GameObject.FindGameObjectWithTag("BulletPool").transform; InvokeRepeating("Shoot", 0, 1 / bulletsPerSecond); LookAt aim = GetComponent <LookAt>(); if (aim) { aim.SetTarget(GameManager.instance.GetPlayer().transform); } }
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); }
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; } }
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()); }
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); }
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); }
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; } }
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; }