45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
		
		
			
		
	
	
			45 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
|  | // Curved World <http://u3d.as/1W8h> | ||
|  | // Copyright (c) Amazing Assets <https://amazingassets.world> | ||
|  |   | ||
|  | using UnityEngine; | ||
|  | using UnityEngine.Rendering; | ||
|  | 
 | ||
|  | 
 | ||
|  | namespace AmazingAssets.CurvedWorld.Examples | ||
|  | { | ||
|  |     public class ManualControllerUpdate : MonoBehaviour | ||
|  |     {         | ||
|  |         public CurvedWorldController curvedWorldController; | ||
|  | 
 | ||
|  | 
 | ||
|  |         void Start() | ||
|  |         { | ||
|  |             //Check if using Scriptable render pipeline | ||
|  |             if(GraphicsSettings.defaultRenderPipeline != null) | ||
|  |                 RenderPipelineManager.beginCameraRendering += BeginCameraRendering; | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |         //OnPreRender - is used only with built-in render pipeline | ||
|  |         private void OnPreRender() | ||
|  |         { | ||
|  |             if (curvedWorldController != null) | ||
|  |                 curvedWorldController.ManualUpdate(); | ||
|  |         } | ||
|  | 
 | ||
|  | 
 | ||
|  |         //BeginCameraRendering - is used only with Scriptable render pipeline, as there is no 'OnPreRender' method to use. | ||
|  |         void BeginCameraRendering(ScriptableRenderContext context, Camera camera) | ||
|  |         { | ||
|  |             ManualControllerUpdate thisScript = camera.GetComponent<ManualControllerUpdate>(); | ||
|  | 
 | ||
|  | 
 | ||
|  |             //Befor rendering THIS camera, force Curved World Controller to update shader data based on its properties. | ||
|  |             if (thisScript != null && thisScript.curvedWorldController != null) | ||
|  |             { | ||
|  |                 thisScript.curvedWorldController.ManualUpdate(); | ||
|  |             } | ||
|  |         } | ||
|  |     } | ||
|  | } |