From 48eb939d724b44f021172bc1cef8d8f83d020bbd Mon Sep 17 00:00:00 2001 From: loliwut Date: Tue, 10 Sep 2024 08:06:50 -0400 Subject: [PATCH] Updated Header whitelist indicators also swapped in-progress avatar component with existing live one pending its completion --- docs/cck/components/CVRAvatar.md | 42 ---- docs/cck/components/aas-trigger-helper.md | 2 +- docs/cck/components/aas-trigger.md | 2 +- docs/cck/components/animator-driver.md | 2 +- docs/cck/components/attachment.md | 2 +- docs/cck/components/audio-driver.md | 2 +- docs/cck/components/audio-material-parser.md | 2 +- docs/cck/components/avatar.md | 182 ++++++++++++++++++ docs/cck/components/blitter.md | 2 +- .../custom-render-texture-updater.md | 2 +- docs/cck/components/distance-lod.md | 2 +- docs/cck/components/face-tracking.md | 2 +- docs/cck/components/gi-material-updater.md | 2 +- .../global-material-property-updater.md | 2 +- docs/cck/components/global-shader-updater.md | 2 +- docs/cck/components/haptic-chest-area.md | 2 +- docs/cck/components/haptic-zone.md | 2 +- docs/cck/components/interactable.md | 2 +- docs/cck/components/material-driver.md | 2 +- docs/cck/components/material-updater.md | 2 +- docs/cck/components/mirror.md | 2 +- docs/cck/components/nav-controller.md | 2 +- docs/cck/components/object-sync.md | 2 +- docs/cck/components/particle-sound.md | 2 +- docs/cck/components/pickup-object.md | 2 +- docs/cck/components/pointer.md | 2 +- docs/cck/components/portal-marker.md | 2 +- docs/cck/components/spawnable-trigger.md | 2 +- docs/cck/components/spawnable.md | 2 +- docs/cck/components/state-trigger.md | 2 +- .../cck/components/texture-property-parser.md | 2 +- docs/cck/components/variable-buffer.md | 2 +- docs/cck/components/video-player.md | 2 +- docs/cck/components/world.md | 2 +- 34 files changed, 214 insertions(+), 74 deletions(-) delete mode 100644 docs/cck/components/CVRAvatar.md create mode 100644 docs/cck/components/avatar.md diff --git a/docs/cck/components/CVRAvatar.md b/docs/cck/components/CVRAvatar.md deleted file mode 100644 index 73aa28e..0000000 --- a/docs/cck/components/CVRAvatar.md +++ /dev/null @@ -1,42 +0,0 @@ -# CVR Avatar
- -The CVR Avatar Component is necessary for making an avatar upload. To use this component, the GameObject must have a [Unity Animator component](https://docs.unity3d.com/2021.3/Documentation/Manual/class-Animator.html) and the [CVR Asset Info](CVR Asset Info.md) component. If these two components aren't present when the CVR Avatar component is added, they will be generated automatically. - -Additionally, the CVR Avatar component includes an automatic generator for fundamental advanced avatar settings, to aide in rapidly developing animators from scratch. - -## Getting Started - -write some shit here about new user bullshit -## UI - -The CVR Avatar component has 7 sections spanning a variety of customization, setup, and safety settings. Please note that while some fields or list items can be animated, not all of them can. -### General Avatar Settings - -!!! hint - The Voice Parent and View/Voice position Auto buttons are only present if the avatar is configured for Unity's Humanoid Rig. More information on this can be found [here](https://docs.unity3d.com/Manual/UsingHumanoidChars.html) - -![](../../assets/images/compdoc/GAS Generic.png) -![](../../assets/images/compdoc/GAS Humanoid.png) - -The General Avatar Settings menu has 3 settings, 2 of which are split into 3 sections for the X, Y, and Z position of the view and audio source. These settings function as follows: - -- View Position: The point at which the in-game viewport camera originates. This can be edited from the inspector panel, or by grabbing the move gizmo's handle on the 🟢 (Green ball) in the scene view - -- Voice Parent: Selects which bone the voice position rotates and translates with. The available options are Head, Left Hand, Right Hand, and Hips. - -- Voice Position: The point at which player voice originates. This can be edited from the inspector panel, or by grabbing the move gizmo's handle on the 🔴 (Red ball) in the scene view -### Avatar Customization -### Eye Look Settings -### Eye Blink Settings -### Lip Sync Settings -### Advanced Tagging -### Advanced Settings -## Examples - -Videos needed: -- animating blinking on/off -- nonstandard eye setup -- examples showing in-editor and in-game versions of each AAS item type -- (optionally) setup for eye/face tracking -- basic avatar setup guide -## Notes diff --git a/docs/cck/components/aas-trigger-helper.md b/docs/cck/components/aas-trigger-helper.md index 4d70599..4ca9db2 100644 --- a/docs/cck/components/aas-trigger-helper.md +++ b/docs/cck/components/aas-trigger-helper.md @@ -1,4 +1,4 @@ -# CVR Advanced Avatar Trigger Helper +# CVR Advanced Avatar Trigger Helper
This component allows triggering of an aas trigger form an animation of your main animator (e.g., gestures or emotes) ### Properties diff --git a/docs/cck/components/aas-trigger.md b/docs/cck/components/aas-trigger.md index 47dbc9c..9df92db 100644 --- a/docs/cck/components/aas-trigger.md +++ b/docs/cck/components/aas-trigger.md @@ -1,4 +1,4 @@ -# CVR Advanced Avatar Trigger +# CVR Advanced Avatar Trigger
With this component you can modify your advanced avatar settings parameter values when a **[CVR Pointer](pointer.md)** enters the indicated trigger area. Size and placement can be adjusted with the settings bellow. The trigger area will move together with its parented armature bone or game object. diff --git a/docs/cck/components/animator-driver.md b/docs/cck/components/animator-driver.md index 7c7cb0b..a812b06 100644 --- a/docs/cck/components/animator-driver.md +++ b/docs/cck/components/animator-driver.md @@ -1,4 +1,4 @@ -# CVR Animator Driver +# CVR Animator Driver
This component can be used to control [Animator](https://docs.unity3d.com/ScriptReference/Animator.html) parameters from another animation. Useful for e.g., creating sub animators, and controlling their parameters with the main animator. diff --git a/docs/cck/components/attachment.md b/docs/cck/components/attachment.md index 4cbdaa0..3a9f005 100644 --- a/docs/cck/components/attachment.md +++ b/docs/cck/components/attachment.md @@ -1,4 +1,4 @@ -# CVR Attachment +# CVR Attachment
This component can be used to attach objects to a bone or a tracker. This can be used for props like e.g, hats or glasses. ### Properties diff --git a/docs/cck/components/audio-driver.md b/docs/cck/components/audio-driver.md index 93a9566..87c6df1 100644 --- a/docs/cck/components/audio-driver.md +++ b/docs/cck/components/audio-driver.md @@ -1,4 +1,4 @@ -# CVR Audio Driver +# CVR Audio Driver
This component allows you, to switch between multiple audio clips for one audio source. This is recommended and useful when using many audio clips for the same audio source location and settings. diff --git a/docs/cck/components/audio-material-parser.md b/docs/cck/components/audio-material-parser.md index 0b73e1f..ab3b237 100644 --- a/docs/cck/components/audio-material-parser.md +++ b/docs/cck/components/audio-material-parser.md @@ -1,4 +1,4 @@ -# CVR Audio Material Parser +# CVR Audio Material Parser
The purpose of this component is, to make use of spectrum or output data of an audio source. This could be used to visualize/create reactive objects to e.g. music of the video player. diff --git a/docs/cck/components/avatar.md b/docs/cck/components/avatar.md new file mode 100644 index 0000000..34a1251 --- /dev/null +++ b/docs/cck/components/avatar.md @@ -0,0 +1,182 @@ +# CVR Avatar
+This component is the main component for your avatar, it features various settings and vaiables relevant for your +avatar, you attach this component to the root gameobject of your avatar. + + +## General Avatar Settings +Setup for your voice & view position. + +##### View Position +This is your view position ingame where you want your viewport to display from. +Editor window shown as 🟢 (Green ball) + +##### Voice Position +This is your voice position ingame where you want your voice to be transmitted from. +Editor window shown as 🔴 (Red ball) + +##### Voice Parent +The bone which your voice is attached to. It will follow it's position while you move your avatar around in world space. + + +## Avatar Customization +You can customize your avatar to do more than the movement we have as default + +##### Animation Overrides +Here you can place your Override Controller where you specify which animation to use in place of our default setup, +use the context menu to create a new CVR Override Controller in your unity project folder. + +## Blinking and Visemes +You can configure your avatar to have eye movement, blinking and voice activated blendshapes called visemes. + +##### Use Face Mesh +This slot is where you place your Body or Face mesh that have the blendshapes needing to be used for the settings bellow + +##### Use Eye Movement +Enables automatic eyemovement that can focus on nearby players. + +!!! hint "Toggle during runtime" + Eye movement can be toggled of during runtime via e.g. an animation + +##### Use Blinking Blendshapes +Enables blinking action of the blendshapes filled in the slots bellow and they will trigger together, e.g you can use +one blendshape to blink both eyes or use two blendshapes for each eye and they will blink together. + +!!! hint "Toggle during runtime" + Blinking can be toggled of during runtime via e.g. an animation + +!!! warning + If you have an animation using the selected blendshapes, your blinking will not work, keep them seperate from + blendshapes used in animations. + +##### Use Visemes Blendshapes +Enables use of blendshape visemes during transmition of your voice through voice chat, the blendshape slots can be +autofilled if they have a naming scheme that fits or is near equal name of each slot. + +!!! hint + Blinking can be toggled of during runtime via e.g. an animation + +!!! warning + If you have an animation using the selected blendshapes, your visemes will not work, keep them separate from blendshapes used in animations. + + +## Advanced Tagging +With the advanced tagging feature, you can set tags for specific game objects only. This means, you can e.g., tag one +specific audio source as a long range audio source, and will not render in every audio source to be removed, but instead +only this specific one. + + +!!! warning + If you are using the Advanced Tagging System, you still need to Tag your Avatar appropriately and list all affected + game objects in this list. + +##### Tags +Set the according tags you want for this particular game object. You can have multiple tags on one game object. + +##### GameObject +The game object you want to tag must be set here. + +##### Fallback GO (GameObject) +A game object that should be used as a fallback, if the game object defined above falls under a filter rule. + + +## Advanced Avatar Setting +##### Base Animator +The Base Animator is used as a base by the AAS generator. That for, its very easy to expand the base animator while +still using the AAS system. +As a novice user it is recommended to use the one packed with the CCK it is called ***AvatarAnimator*** located in +***Assets/ABI.CCK/Animations*** folder, you can use your own Animator here but we suggest to use the one packed with +the CCK unless you know what you are doing. + +##### Override Controller +This slot is only used if you have an already filled Override Controller and you want to transfer the attached override +animations to the new generated one automatically. + +##### Synced Bits Used +Shows how many synced bits you have used. + +##### Create Animator (Button) +Generates a new Animator Controller & Override Controller from the configurations you have made. + +##### Attach created Override to Avatar (Button) +Attaches the newly generated Override Controller directly to the CVRAvatar. + + +### Input +##### Name +Name of the input, this will be shown in the advanced avatar window in game. + +##### Parameter +Parameter name that will be used in the Animator, this is automatically generated into the new Animator if you use the +generate button or can be manually added if you are experienced with custom animator setups. + + +### Types +#### Game Object Toggle +Creates a check/toggle box in your advanced avatar window in game. + +##### Use Animation +Will use your attached animation as reference. + +##### GameObjects +Creates a toggle animation for your game objects placed in the list. + +##### Default +Default value of the selected type. + + +#### Game Object Dropdown +Creates a dropdown menu you can choose between different game objects in your advanced avatar window in game. + +##### Options +A list of game objects you will be choosing from. You can have as many as you want in one dropdown. +We do not recommend creating to long lists, as it will be difficult to select all available options ingame. + + +#### Material Color +Creates three sliders in your advanced avatar window in game to choose your color from. + +##### Material Properties +Select the material property (vector 3) you want to change. + + +#### Slider +Creates slider in your advanced avatar window in game. + +##### Material Properties +Select the material property you want to change. + + +#### Joystick 2D +Creates a 2D plane you can choose position from in your advanced avatar window in game. + +Range Min and Max set the size or scale of the Joystick plane. + +##### Range Min +Defines the minimum or start range / value of the Joystick 2D. Means it can't go lower than this values. + +##### Range Max +Defines the maximum or end range / value of the Joystick 2D. Means it can't go higher than this values. + + +#### Joystick 3D +Creates a 2D plane you can choose position from with a vertical slider in your advanced avatar window in game. + +Range Min and Max set the size or scale of the Joystick plane. + +##### Range Min +Defines the minimum or start range / value of the Joystick 2D. Means it can't go lower than this values. + +##### Range Max +Defines the maximum or end range / value of the Joystick 2D. Means it can't go higher than this values. + + +#### Input Single +Single input field/single number. This will display a number input field ingame. + + +#### Input Vector 2 +Two input fields/two numbers. This will display two number input fields ingame. + + +#### Input Vector 3 +Three input fields/three numbers. This will display three number input fields ingame. \ No newline at end of file diff --git a/docs/cck/components/blitter.md b/docs/cck/components/blitter.md index 5765775..e6c04a7 100644 --- a/docs/cck/components/blitter.md +++ b/docs/cck/components/blitter.md @@ -1,4 +1,4 @@ -# CVR Blitter +# CVR Blitter
Allows the use of Unity's [Graphics.Blit](https://docs.unity3d.com/ScriptReference/Graphics.Blit.html). This component recommended for advanced users only. diff --git a/docs/cck/components/custom-render-texture-updater.md b/docs/cck/components/custom-render-texture-updater.md index 0fffa87..ff6110f 100644 --- a/docs/cck/components/custom-render-texture-updater.md +++ b/docs/cck/components/custom-render-texture-updater.md @@ -1,2 +1,2 @@ -# CVR Custom Render Texture Updater +# CVR Custom Render Texture Updater
Calls the update method once a frame for the selected [Custom Render Texture](https://docs.unity3d.com/Manual/class-CustomRenderTexture.html). \ No newline at end of file diff --git a/docs/cck/components/distance-lod.md b/docs/cck/components/distance-lod.md index 3d9015d..4876739 100644 --- a/docs/cck/components/distance-lod.md +++ b/docs/cck/components/distance-lod.md @@ -1,4 +1,4 @@ -# CVR Distance Lod +# CVR Distance Lod
Distance lod or distance **level of detail** can be used to toggle on game object's based on their distance to the local player. diff --git a/docs/cck/components/face-tracking.md b/docs/cck/components/face-tracking.md index d2b7e0b..84e462f 100644 --- a/docs/cck/components/face-tracking.md +++ b/docs/cck/components/face-tracking.md @@ -1,4 +1,4 @@ -# CVR Face Tracking +# CVR Face Tracking
The face tracking component allows the use of facial tracking hardware like e.g., [VIVE Facial Tracker](https://www.vive.com/eu/accessory/facial-tracker/). diff --git a/docs/cck/components/gi-material-updater.md b/docs/cck/components/gi-material-updater.md index 147c539..c8b6fbd 100644 --- a/docs/cck/components/gi-material-updater.md +++ b/docs/cck/components/gi-material-updater.md @@ -1,4 +1,4 @@ -# CVR GI Material Updater +# CVR GI Material Updater
Calls `UpdateGIMaterials` on the same game objects [Renderer](https://docs.unity3d.com/ScriptReference/Renderer.html), there for requires some sort of [Renderer](https://docs.unity3d.com/ScriptReference/Renderer.html). diff --git a/docs/cck/components/global-material-property-updater.md b/docs/cck/components/global-material-property-updater.md index 8169816..f69e866 100644 --- a/docs/cck/components/global-material-property-updater.md +++ b/docs/cck/components/global-material-property-updater.md @@ -1,4 +1,4 @@ -# CVR Global Material Property Updater +# CVR Global Material Property Updater
Updates a material property globally. This means it will change the value for every e.g. mesh or component that uses this material. diff --git a/docs/cck/components/global-shader-updater.md b/docs/cck/components/global-shader-updater.md index 4ddd2e9..2954f69 100644 --- a/docs/cck/components/global-shader-updater.md +++ b/docs/cck/components/global-shader-updater.md @@ -1,4 +1,4 @@ -# CVR Global Shader Updater +# CVR Global Shader Updater
This component can be used to define global [Shader](https://docs.unity3d.com/Manual/Shaders.html) properties. This means shaders can access those global variables, and you can also update those variables on runtime by e.g, an animation. diff --git a/docs/cck/components/haptic-chest-area.md b/docs/cck/components/haptic-chest-area.md index 76545a2..e0cc8d3 100644 --- a/docs/cck/components/haptic-chest-area.md +++ b/docs/cck/components/haptic-chest-area.md @@ -1,4 +1,4 @@ -# CVR Haptic Chest Area +# CVR Haptic Chest Area
This component allows you to configure your chest haptics area for your avatar. The chest haptic area has 20 trigger points on both front and back side. This translates to the 40 trigger points on diff --git a/docs/cck/components/haptic-zone.md b/docs/cck/components/haptic-zone.md index 94d3b1d..4a25471 100644 --- a/docs/cck/components/haptic-zone.md +++ b/docs/cck/components/haptic-zone.md @@ -1,4 +1,4 @@ -# CVR Haptic Zone +# CVR Haptic Zone
Allows you to define a haptic zone. You can define different actions that will trigger the **[CVR Haptic Chest Area](haptic-chest-area.md)** when interacting with it. diff --git a/docs/cck/components/interactable.md b/docs/cck/components/interactable.md index a30fff5..f7808aa 100644 --- a/docs/cck/components/interactable.md +++ b/docs/cck/components/interactable.md @@ -1,4 +1,4 @@ -# CVR Interactable +# CVR Interactable
##### Tooltip A tooltip text which will be displayed when hovering over the trigger. diff --git a/docs/cck/components/material-driver.md b/docs/cck/components/material-driver.md index 837ee24..f395ebe 100644 --- a/docs/cck/components/material-driver.md +++ b/docs/cck/components/material-driver.md @@ -1,4 +1,4 @@ -# CVR Material Driver +# CVR Material Driver
With this component you can set specific [Material](https://docs.unity3d.com/ScriptReference/Material.html) properties on [Renderer's](https://docs.unity3d.com/ScriptReference/Renderer.html). This means you can e.g., animate a mesh with multiple materials using the same shader, but target one specific material. diff --git a/docs/cck/components/material-updater.md b/docs/cck/components/material-updater.md index 225dbc1..972edb2 100644 --- a/docs/cck/components/material-updater.md +++ b/docs/cck/components/material-updater.md @@ -1,4 +1,4 @@ -# CVR Material Updater +# CVR Material Updater
Sets properties as vectors on the material `_CVR_Velocity` and `_CVR_Angular_Velocity`. Shaders can make use of these properties. The component searches for a [Renderer](https://docs.unity3d.com/ScriptReference/Renderer.html) on the same game object, this is needed as it will use the material assigned to the renderer. diff --git a/docs/cck/components/mirror.md b/docs/cck/components/mirror.md index 68eb2ea..1b4235c 100644 --- a/docs/cck/components/mirror.md +++ b/docs/cck/components/mirror.md @@ -1,4 +1,4 @@ -# CVR Mirror +# CVR Mirror
The mirror component, we suggest you to use the corresponding prefab to place a mirror in the world, the white surface is the mirror reflection side. ### Properties diff --git a/docs/cck/components/nav-controller.md b/docs/cck/components/nav-controller.md index bbbd901..0f24496 100644 --- a/docs/cck/components/nav-controller.md +++ b/docs/cck/components/nav-controller.md @@ -1,4 +1,4 @@ -# CVR Nav Controller +# CVR Nav Controller
This component allows to control a [Nav Mesh Agent](https://docs.unity3d.com/ScriptReference/AI.NavMeshAgent.html) path. You can select a target or enable patrol mode. diff --git a/docs/cck/components/object-sync.md b/docs/cck/components/object-sync.md index cba2ade..4cf1cc5 100644 --- a/docs/cck/components/object-sync.md +++ b/docs/cck/components/object-sync.md @@ -1,4 +1,4 @@ -# CVR Object Sync +# CVR Object Sync
Adding this component will sync the game objects position and rotation to others over the network. !!! warning "Experimental Feature" diff --git a/docs/cck/components/particle-sound.md b/docs/cck/components/particle-sound.md index 718d0f0..e4ca897 100644 --- a/docs/cck/components/particle-sound.md +++ b/docs/cck/components/particle-sound.md @@ -1,4 +1,4 @@ -# CVR Particle Sound +# CVR Particle Sound
This component allows you to play an [Audio Clip](https://docs.unity3d.com/ScriptReference/AudioClip.html) on particle birth/spawn and or death at the particle's location. diff --git a/docs/cck/components/pickup-object.md b/docs/cck/components/pickup-object.md index 9b30533..5122512 100644 --- a/docs/cck/components/pickup-object.md +++ b/docs/cck/components/pickup-object.md @@ -1,4 +1,4 @@ -# CVR Pickup Object +# CVR Pickup Object
Add this component to configure a game object as a pickup object. Players will be able to grab pickup objects. ### Properties diff --git a/docs/cck/components/pointer.md b/docs/cck/components/pointer.md index d7b017b..27302e0 100644 --- a/docs/cck/components/pointer.md +++ b/docs/cck/components/pointer.md @@ -1,4 +1,4 @@ -# CVR Pointer +# CVR Pointer
CVR Pointer can interact with various different type of triggers & systems. It can be used to activate area triggers on enter or on exit through many CVR components. diff --git a/docs/cck/components/portal-marker.md b/docs/cck/components/portal-marker.md index 4719e20..e68e2c3 100644 --- a/docs/cck/components/portal-marker.md +++ b/docs/cck/components/portal-marker.md @@ -1,4 +1,4 @@ -# CVR Portal Marker +# CVR Portal Marker
### Properties diff --git a/docs/cck/components/spawnable-trigger.md b/docs/cck/components/spawnable-trigger.md index 1b534ea..15e33a7 100644 --- a/docs/cck/components/spawnable-trigger.md +++ b/docs/cck/components/spawnable-trigger.md @@ -1,4 +1,4 @@ -# CVR Spawnable Trigger +# CVR Spawnable Trigger
Spawnable Triggers are basically [CVR Advanced Avatar Trigger](aas-trigger.md) for [Spawnables](spawnable.md). But they have a slightly different setup. diff --git a/docs/cck/components/spawnable.md b/docs/cck/components/spawnable.md index 57c54a2..56ce13e 100644 --- a/docs/cck/components/spawnable.md +++ b/docs/cck/components/spawnable.md @@ -1,4 +1,4 @@ -# CVR Spawnable +# CVR Spawnable
This is the main component for a **Spawnable** or **Prop**. This is required for setup and uploading the Prop. ## Properties diff --git a/docs/cck/components/state-trigger.md b/docs/cck/components/state-trigger.md index 311c638..c11f862 100644 --- a/docs/cck/components/state-trigger.md +++ b/docs/cck/components/state-trigger.md @@ -1,4 +1,4 @@ -# CVR Toggle State Trigger +# CVR Toggle State Trigger
With this component you can modify the toggle state of your avatar when a **[CVR Pointer](pointer.md)** enters the indicated trigger area. Size and placement can be adjusted with the settings bellow. The trigger area will move together with its parented armature bone or game object. diff --git a/docs/cck/components/texture-property-parser.md b/docs/cck/components/texture-property-parser.md index d64de50..b8bf0f7 100644 --- a/docs/cck/components/texture-property-parser.md +++ b/docs/cck/components/texture-property-parser.md @@ -1,4 +1,4 @@ -# CVR Texture Property Parser +# CVR Texture Property Parser
Used to parse a pixels color channel value from a texture. ##### Texture Type diff --git a/docs/cck/components/variable-buffer.md b/docs/cck/components/variable-buffer.md index 7480f56..14b3b2d 100644 --- a/docs/cck/components/variable-buffer.md +++ b/docs/cck/components/variable-buffer.md @@ -1,4 +1,4 @@ -# CVR Variable Buffer +# CVR Variable Buffer
This can be used to store a variable in a component. You can interact with the variable buffer by setting the value via method call, or using the [CVR Interactable](interactable.md) to interact with the component. diff --git a/docs/cck/components/video-player.md b/docs/cck/components/video-player.md index 3307910..d9016d4 100644 --- a/docs/cck/components/video-player.md +++ b/docs/cck/components/video-player.md @@ -1,4 +1,4 @@ -# CVR Video Player +# CVR Video Player
## General diff --git a/docs/cck/components/world.md b/docs/cck/components/world.md index 4245d97..43497d6 100644 --- a/docs/cck/components/world.md +++ b/docs/cck/components/world.md @@ -1,4 +1,4 @@ -# CVR World +# CVR World
This is the main component for a world and needed for uploading your world. ### World Settings