![]() |
Depiction Engine For Unity 2023.0 (Alpha)
|
Universal RP from the Package Manager under "Windows -> Package Manager". Universal Render Pipeline Asset to "Edit -> Project Settings -> Quality -> Render Pipeline Asset". Color Space* = Linear Api Compatibility Level* = .NET Framework Allow unsafe Code = true TexMeshPro from the Package Manager under "Windows -> Package Manager". Depiction Engine from GitHub. DepictionEngine.ManagerBase's are required in the Scene and will automatically be created the moment an DepictionEngine.Object is first introduced to the Scene. Managers can also be created manually by right clicking the Hierarchy Window and selecting "Managers" in the Context Menu.Shader Graph nodes require the rendering pipeline to be modified to function properly. The patching should be performed automatically when the DepictionEngine.RenderingManager is created however you can also trigger it manually in your Scene DepictionEngine.RenderingManager by pressing the Patch Universal Rendering Pipeline button. WebGLTemplates folder to "/Assets/". You should now be able to select the "Depiction Engine - Demo" WebGL Template under "Edit -> Project Settings -> Player -> Resolution and Presentation". DepictionEngine.JsonInterface component in the "Managers" GameObject. You will also have to save your project and make sure it is included in your build under "File -> Build Settings -> Scenes in Build". Align View to Selected GeoAstroObject: Auto Snap View to Terrain: Move View to GeoCoordinate: DepictionEngine.IDisposable should be instanced using the DepictionEngine.InstanceManager. If DepictionEngine.PoolManager.enablePooling is true when instanced, DepictionEngine.IDisposable objects will be recycled from the pool, if an instance already exists, and its DepictionEngine.IDisposable.Recycle method will be called before initialization. DepictionEngine.InitializationContext will be supplied as a parameter to the DepictionEngine.IScriptableBehaviour.Initialized method(which acts as a constructor) and provides you with some context as to how the object was created. DepictionEngine.IScriptableBehaviour.Initialized, undo operations will be automatically recorded for unity objects such as DepictionEngine.IScriptableBehaviour.DepictionEngine.IDisposable need to be disposed with the DepictionEngine.DisposeManager. If DepictionEngine.PoolManager.enablePooling is true when disposed, DepictionEngine.IDisposable objects will be automatically added back to the pool unless a disposeContext is provided in which case they may be destroyed or go to the pool depending on context. DepictionEngine.IDisposable can also be disposed with the DepictionEngine.DisposeManager. Disposing using the DepictionEngine.DisposeManager.Destroy will automatically call GameObject.Destroy or GameObject.DestroyImmediate depending on whether we are in the Editor or not. DepictionEngine.IDisposable.OnDispose will always be called and a DepictionEngine.DisposeContext will be supplied as a parameter to provide some context as to how the object was disposed. DepictionEngine.IDisposable.OnDispose, undo operations will be automatically recorded if the DepictionEngine.IDisposable contains dependencies that need to be Destroyed.DepictionEngine.RenderingManager.originShifting and will be true by default. DepictionEngine.Object's will be automatically origin shifted only while they are selected in the Editor to allow for the manipulation tools(Move, Rotate, Scale...) to be displayed correctly while DepictionEngine.VisualObject's will always be origin shifted as they are expected to have rendered visuals as childs. DepictionEngine.Object's that do not require positioning will always be positioned at zero(origin) with no rotation(identity). If required this behaviour can be modified by any class which extends DepictionEngine.Object and overrides its DepictionEngine.Object.RequiresPositioning method to return true. DepictionEngine.Datasource when a save operation is performed. Properties modified through the Editor should be automatically marked as 'Out of Synch' however, if need be, properties can also be marked manually using the DepictionEngine.SceneManager.StartUserContext / DepictionEngine.SceneManager.EndUserContext method. For properties to be persisted they need to have the DepictionEngine.JsonAttribute. Volume for Post Processing effects and you want to control it from a script make sure to drag or assign your Volume into the DepictionEngine.RenderingManager.postProcessVolume property. Do the same for UniversalRendererData containing custom features such as Ambient Occlusion that you would like to control from script by dragging or assigning the renderer to the DepictionEngine.RenderingManager.rendererData property.DepictionEngine.GeneratorBase can be used to spawn procedurally generated objects provided you set its DepictionEngine.GeneratorBase.seed property to something other then -1.DepictionEngine.FallbackValues, will need to implement the following method. DepictionEngine.Texture object populating a DepictionEngine.TextureModifier: