Fix heads desyncing off bodies
This commit is contained in:
		
							parent
							
								
									0bcc31093c
								
							
						
					
					
						commit
						7cbcc1de96
					
				
							
								
								
									
										11
									
								
								Assets/Scripts/Networking/Packets/PlayerActionPckt.cs.meta
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								Assets/Scripts/Networking/Packets/PlayerActionPckt.cs.meta
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | |||||||
|  | fileFormatVersion: 2 | ||||||
|  | guid: ce4b9792bad15a54497d2a19cce83764 | ||||||
|  | MonoImporter: | ||||||
|  |   externalObjects: {} | ||||||
|  |   serializedVersion: 2 | ||||||
|  |   defaultReferences: [] | ||||||
|  |   executionOrder: 0 | ||||||
|  |   icon: {instanceID: 0} | ||||||
|  |   userData:  | ||||||
|  |   assetBundleName:  | ||||||
|  |   assetBundleVariant:  | ||||||
| @ -3,21 +3,22 @@ using System.Collections.Generic; | |||||||
| using UnityEngine; | using UnityEngine; | ||||||
| 
 | 
 | ||||||
| namespace NeonTea.Quakeball.Util { | namespace NeonTea.Quakeball.Util { | ||||||
|     /// <summary>Used to offset visual parts of violently re-synced objects, so they can be smoothly lerped back to reality.</summary> |     /// <summary>Used to offset visual parts of violently re-synced objects, so they can be smoothly lerped back to reality. This depends on the original localPosition staying the same.</summary> | ||||||
|     public class DesyncLerper : MonoBehaviour { |     public class DesyncLerper : MonoBehaviour { | ||||||
|         public float Speed = 1; |         public float Speed = 1; | ||||||
| 
 | 
 | ||||||
|         private Vector3 OffsetLeft; |         private Vector3 OriginalLocalPosition; | ||||||
| 
 | 
 | ||||||
|         public void Offset(Vector3 offset) { |         public void Offset(Vector3 offset) { | ||||||
|             transform.position += offset; |             transform.position += offset; | ||||||
|             OffsetLeft += offset; |         } | ||||||
|  | 
 | ||||||
|  |         private void Awake() { | ||||||
|  |             OriginalLocalPosition = transform.localPosition; | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         private void Update() { |         private void Update() { | ||||||
|             Vector3 NewPosition = Vector3.Lerp(transform.position, transform.position - OffsetLeft, Speed * Time.deltaTime); |             transform.localPosition = Vector3.Lerp(transform.localPosition, OriginalLocalPosition, Speed * Time.deltaTime); | ||||||
|             OffsetLeft += NewPosition - transform.position; |  | ||||||
|             transform.position = NewPosition; |  | ||||||
|         } |         } | ||||||
|     } |     } | ||||||
| } | } | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user