public void SetVisuals() { if (this.SetVisualPosition) { DoSetVisualPosition( _position.ToVector3(HeightPos.ToFloat()) ); } if (this.SetVisualRotation) { this.DoSetVisualRotation(_rotation); } }
public void SetVisuals() { if (this.SettingVisuals) { if (PhysicsManager.ResetAccumulation) { DoSetVisualPosition(Position.ToVector3(HeightPos.ToFloat())); DoSetVisualRotation(Rotation); } //PositionalTransform.position = Vector3.SmoothDamp (lastVisualPos, _visualPosition, ref velocityPosition, PhysicsManager.LerpTime); PositionalTransform.position = Vector3.Lerp(lastVisualPos, VisualPosition, (float)PhysicsManager.ExpectedAccumulation); RotationalTransform.rotation = Quaternion.Slerp(lastVisualRot, visualRot, (float)PhysicsManager.ExpectedAccumulation); } }
public void SetVisuals() { if (this.SetVisualPosition) { DoSetVisualPosition( _position.ToVector3(HeightPos.ToFloat()) ); PositionalTransform.position = Vector3.SmoothDamp(lastVisualPos, _visualPosition, ref velocityPosition, PhysicsManager.LerpTime); } if (this.SetVisualRotation) { this.DoSetVisualRotation(_rotation); RotationalTransform.rotation = Quaternion.Slerp(lastVisualRot, visualRot, 1f / Time.fixedDeltaTime); } }
public void Initialize(Vector3d StartPosition, Vector2d StartRotation, bool isDynamic = true) { Active = true; PositionalTransform = _positionalTransform; RotationalTransform = _rotationalTransform; if (!Setted) { this.Setup(null); } this.RaycastVersion = 0; this.HeightPosChanged = true; CheckVariables(); PositionChanged = true; RotationChanged = true; VelocityChanged = true; PositionChangedBuffer = true; RotationChangedBuffer = true; Priority = BasePriority; Velocity = Vector2d.zero; VelocityMagnitude = 0; LastPosition = _position = StartPosition.ToVector2d(); _heightPos = StartPosition.z; _rotation = StartRotation; ForwardNeedsSet = true; FastRadius = this.Radius * this.Radius; XMin = 0; XMax = 0; YMin = 0; YMax = 0; PastGridXMin = int.MaxValue; PastGridXMax = int.MaxValue; PastGridYMin = int.MaxValue; PastGridYMax = int.MaxValue; if (Shape != ColliderType.None) { BuildPoints(); BuildBounds(); } ID = PhysicsManager.Assimilate(this, isDynamic); Partition.PartitionObject(this); if (PositionalTransform != null) { CanSetVisualPosition = true; _visualPosition = _position.ToVector3(HeightPos.ToFloat()); lastVisualPos = _visualPosition; PositionalTransform.position = _visualPosition; } else { CanSetVisualPosition = false; } if (RotationalTransform != null) { CanSetVisualRotation = true; visualRot = GetVisualRot(); // _rotationOffset = transform.GetComponent<InvasionDay.GeoHandler>()._eulerOffset; lastVisualRot = visualRot; } else { CanSetVisualRotation = false; } SetVisuals(); velocityPosition = Vector3.zero; this.ImmovableCollisionDirection = Vector2d.zero; PartitionChanged = true; }
public void Initialize(Vector2dHeight StartPosition, Vector2d StartRotation) { PositionalTransform = _positionalTransform; RotationalTransform = _rotationalTransform; if (!Setted) { this.Setup(null); } this.RaycastVersion = 0; this.HeightPosChanged = true; CheckVariables(); PositionChanged = true; RotationChanged = true; VelocityChanged = true; PositionChangedBuffer = true; RotationChangedBuffer = true; Priority = _basePriority; Velocity = Vector2d.zero; VelocityFastMagnitude = 0; LastPosition = _position = StartPosition.ToVector2d(); _heightPos = StartPosition.Height; _rotation = StartRotation; ForwardNeedsSet = true; XMin = 0; XMax = 0; YMin = 0; YMax = 0; PastGridXMin = int.MaxValue; PastGridXMax = int.MaxValue; PastGridYMin = int.MaxValue; PastGridYMax = int.MaxValue; if (Shape != ColliderType.None) { BuildPoints(); BuildBounds(); } ID = PhysicsManager.Assimilate(this); Partition.PartitionObject(this); if (PositionalTransform != null) { CanSetVisualPosition = true; _visualPosition = _position.ToVector3(HeightPos.ToFloat()); lastVisualPos = _visualPosition; PositionalTransform.position = _visualPosition; } else { CanSetVisualPosition = false; } if (RotationalTransform != null) { CanSetVisualRotation = true; visualRot = Quaternion.LookRotation(Forward.ToVector3(0f)); lastVisualRot = visualRot; RotationalTransform.rotation = visualRot; } else { CanSetVisualRotation = false; } }