diff --git a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md index 2427546ac29..ec81ce00264 100644 --- a/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md +++ b/Packages/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md @@ -1,5 +1,5 @@ # Contact Shadows -The Contact Shadows [Volume Override](Volume-Components.md) specifies properties which control the behavior of Contacts Shadows. Contact Shadows are shadows that The High Definition Render Pipeline (HDRP) [ray marches](Glossary.md#RayMarching) in screen space inside the depth buffer. The goal of using Contact Shadows is to capture small details that regular shadow mapping algorithms fail to capture. +Contact Shadows are shadows that HDRP [ray marches](Glossary.md#RayMarching) in screen space, inside the depth buffer, at a close range. Use Contact Shadows to provide shadows for geometry details that regular shadow mapping algorithms usually fail to capture. ## Enabling Contact Shadows diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/Images/how-to-render-objects/rendobj-depth-greater-see-through.png b/Packages/com.unity.render-pipelines.universal/Documentation~/Images/how-to-render-objects/rendobj-depth-greater-see-through.png index 069515f1c87..8a563eba382 100644 Binary files a/Packages/com.unity.render-pipelines.universal/Documentation~/Images/how-to-render-objects/rendobj-depth-greater-see-through.png and b/Packages/com.unity.render-pipelines.universal/Documentation~/Images/how-to-render-objects/rendobj-depth-greater-see-through.png differ diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-custom-effect-render-objects.md b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-custom-effect-render-objects.md index c2e19465a9b..35ba7ccdf45 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-custom-effect-render-objects.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/renderer-features/how-to-custom-effect-render-objects.md @@ -1,140 +1,65 @@ -# Example: How to create a custom rendering effect using the Render Objects Renderer Feature +--- +uid: urp-how-to-custom-effect-render-objects +--- -URP draws objects in the **DrawOpaqueObjects** and **DrawTransparentObjects** passes. You might need to draw objects at a different point in the frame rendering, or interpret and write rendering data (like depth and stencil) in alternate ways. The [Render Objects Renderer Feature](renderer-feature-render-objects.md) lets you do such customizations by letting you draw objects on a certain layer, at a certain time, with specific overrides. +# Example of creating a custom rendering effect using a Render Objects Renderer Feature in URP -The example on this page describes how to create a custom rendering effect with the Render Objects Renderer Feature. +The [Render Objects Renderer Feature](renderer-feature-render-objects) lets you draw objects at a specific point in the frame rendering loop. You can interpret and write rendering data such as depth and stencil in different ways, or draw a set of GameObjects at a certain time. -## Example overview +The following example uses a Render Objects Renderer Feature to draw a GameObject in a different color if it's behind other GameObjects. -The example on this page demonstrates how to implement the following effect: +![A character created from 3 simple capsules for the body and arms. The character is red, but as it moves behind a wall, the hidden parts are rendered blue.](../Images/how-to-render-objects/character-goes-behind-object.gif) -* There is a character in the Scene. +First, create a GameObject and attach it to a new [layer](https://docs.unity3d.com/Manual/Layers.html). - ![Character](../Images/how-to-render-objects/character.png) +1. Create a GameObject in your scene. +1. In the **Inspector** window, open the **Layer** dropdown and add a new layer. You can call the layer **DrawBehind**. +1. Set the GameObject to the new layer. -* When the character goes behind GameObjects, Unity draws the character silhouette with a different Material. +Next, create a Render Objects Renderer Feature that renders only the new layer, on top of the scene. - ![Character goes behind GameObjects](../Images/how-to-render-objects/character-goes-behind-object.gif) +1. In the **Project** window, select the [URP Renderer asset](../universalrp-asset) your project uses, for example **Settings** > **PC_Renderer**. +1. To create a Render Objects Renderer Feature, select **Add Renderer Feature** in the **Inspector** window, then select **Render Objects**. +1. To make the Renderer Feature draw only the layer with the GameObject, open the **Render Objects (Render Objects)** dropdown, then set **Layer Mask** to the layer. +1. Set **Event** to the **AfterRenderingOpaques** injection point. For more information about custom pass injection points, refer to [Custom Pass injection points](../customize/custom-pass-injection-points). -## Prerequisites +Next, adjust the Renderer Feature so it renders only the parts hidden behind other GameObjects, and in a different color. -This example requires the following: +1. Open the **Overrides** dropdown, then select **Depth** and set **Depth Test** to **Greater**. -* A Unity project with the URP package installed. + The Renderer Feature now only renders a pixel if its depth is greater than the current pixel in the depth buffer, which means the new pixel is behind another GameObject. -* The **Scriptable Render Pipeline Settings** property refers to a URP asset (**Project Settings** > **Graphics** > **Scriptable Render Pipeline Settings**). +1. [Create a new material](../shaders-in-universalrp) that uses the **Universal Render Pipeline/Unlit** shader. +1. Set the **Base Map** color to a color of your choice. +1. In the Renderer Feature, in the **Overrides** section, set **Material** to the material you created. -## Create example Scene and GameObjects +When you move the GameObject behind other GameObjects, Unity now renders the hidden parts in the color you selected. -To follow the steps in this example, create a new Scene with the following GameObjects: +![The red characters moves behind a wall. Unity renders the hidden parts using a blue material.](../Images/how-to-render-objects/character-depth-test-greater.gif) -1. Create a Cube. Set its **Scale** values so that it looks like a wall. +## Fix overlapping areas of a GameObject - ![Cube that represents a wall](../Images/how-to-render-objects/rendobj-cube-wall.png) +If you use a complex GameObject, the Renderer Feature might draw overlapping parts as though they're hidden. This is because the depth of one part is greater than the overlapping part. -2. Create a Material and assign it the `Universal Render Pipeline/Lit` shader. Select the base color (for example, red). Call the Material `Character`. +![A capsule with a smaller capsule attached. The Renderer Feature renders part of the larger capsule using the blue material, because it's behind the smaller part.](../Images/how-to-render-objects/rendobj-depth-greater-see-through.png) -3. Create a basic character and assign it the Character Material. In this example, the character consists of three capsules: the big capsule in the center represents the body, and the two smaller capsules represent the hands. +To fix this issue, disable rendering the whole GameObject, and create a new Renderer Feature that renders the non-hidden parts. Follow these steps: - ![The character consisting of three capsules](../Images/how-to-render-objects/character-views-side-top-persp.png) +1. In the URP Renderer asset, open the **Opaque Layer Mask** dropdown and disable the layer you added. - To make it easier to manipulate the character in the Scene, add the three Capsules as child GameObjects under the Character GameObject. + Unity now doesn't draw the layer in the opaque render pass. The Renderer Feature still draws the hidden parts, because it's in a different render pass. - ![Character objects in Hierarchy](../Images/how-to-render-objects/character-in-hierarchy.png) + ![Unity does not draw the character unless it's behind an object](../Images/how-to-render-objects/rendobj-character-only-behind.png) -4. Create a Material and assign it the `Universal Render Pipeline/Unlit` shader. Select the base color that you would like the character to have when it's behind GameObjects (for example, blue). Call the Material `CharacterBehindObjects`. +1. Add a new Render Objects Renderer Feature. +1. Set **Layer Mask** to the new layer, so this Renderer Feature draws the GameObject. +1. Set **Event** to the **AfterRenderingOpaques** injection point. +1. To avoid the first Renderer Feature affecting the depth calculations in the new Renderer Feature, disable **Write Depth** in the **Overrides** section of the first Renderer Feature. -Now you have the setup necessary to follow the steps in this example. +The first Renderer Feature draws the hidden parts, and the second Renderer Feature draws the rest of the GameObject. -## Example implementation +![A character created from 3 simple capsules for the body and arms. The character is red, but as it moves behind a wall, the hidden parts are rendered blue.](../Images/how-to-render-objects/character-goes-behind-object.gif) -This section assumes that you created a Scene as described in section [Example Scene and GameObjects](#example-objects). +## Additional resources -The example implementation uses two Render Objects Renderer Features: one to draw parts of the character that are behind other GameObjects, and another one to draw the parts of the character that are in front of other GameObjects. - -### Create a Renderer Feature to draw the character behind GameObjects - -Follow these steps to create a Renderer Feature to draw the character behind GameObjects. - -1. Select a URP Renderer. - - ![Select a URP Renderer](../Images/how-to-render-objects/rendobj-select-urp-renderer.png) - -2. In the Inspector, click **Add Renderer Feature** and select **Render Objects**. - - ![Add Render Object Renderer Feature](../Images/how-to-render-objects/rendobj-add-rend-obj.png) - - Select the **Name** field and enter the name of the new Renderer Feature, for example, **DrawCharacterBehind**. - -3. This example uses Layers to filter the GameObjects to render. Create a new Layer and call it **Character**. - - ![Create new Layer called Character](../Images/how-to-render-objects/rendobj-new-layer-character.png) - -4. Select the **Character** GameObject and assign it to the `Character` Layer. To do this, open the Layer drop down and select `Character`. - ![Assign Character GameObject to Character Layer](../Images/how-to-render-objects/rendobj-assign-character-gameobject-layer.png) - -5. In the `DrawCharacterBehind` Renderer Feature, in **Filters** > **Layer Mask**, select `Character`. With this setting, this Renderer Feature renders GameObjects only in the Layer `Character`. - -6. In **Overrides** > **Material**, select the `CharacterBehindObjects` Material. - - The Renderer Feature overrides the Material of a GameObject with the selected Material. - - ![Layer Mask, Material Override](../Images/how-to-render-objects/rendobj-change-layer-override-material.png) - -7. The intended behavior is that the Renderer Feature renders the character with the `CharacterBehindObjects` Material only when the character is behind other GameObjects. - - To achieve this, select the **Depth** check box, and set the **Depth Test** property to **Greater**. - - ![Set Depth Test to Greater](../Images/how-to-render-objects/rendobj-depth-greater.png) - -With these settings, Unity renders the character with the `CharacterBehindObjects` Material only when the character is behind another GameObject. However, Unity also renders parts of the character using the `CharacterBehindObjects` Material, because some parts of the character occlude the character itself. - -![Unity renders parts of the character using the `CharacterBehindObjects` Material](../Images/how-to-render-objects/character-depth-test-greater.gif) - -### Create an extra Renderer Feature to avoid the self see-through effect - -The settings in the previous section result in the self see-through effect for the following reason: - -* When performing the Opaque rendering pass of the URP Renderer, Unity renders all GameObjects belonging to the character with the `Character` Material and writes depth values to the Depth buffer. This happens before Unity starts executing the `DrawCharacterBehind` Renderer Feature, because, by default, new Render Objects Renderer Features have the value **AfterRenderingOpaques** in the **Event** property. - - The **Event** property defines the injection point where Unity injects Render Passes from the Render Objects Renderer Feature. The event when URP Renderer draws GameObjects in the **Opaque Layer Mask** is the **BeforeRenderingOpaques** event. - -* When executing the `DrawCharacterBehind` Renderer Feature, Unity performs the depth test using the condition specified in the **Depth Test** property. In the following screenshot, a bigger capsule occludes part of the smaller capsule, and the depth test passes for that part of the smaller capsule. The Renderer Feature overrides the Material for that part. - - ![Self see-through effect](../Images/how-to-render-objects/rendobj-depth-greater-see-through.png) - -The following steps describe how to avoid such behavior and ensure that Unity draws all parts of the character with proper Materials. - -1. In the URP asset, in **Filtering** > **Opaque Layer Mask**, clear the check mark next to the `Character` Layer. - - ![Clear the check mark next to the `Character` Layer](../Images/how-to-render-objects/rendobj-in-urp-asset-clear-character.png) - - Now Unity does not render the character unless it's behind a GameObject. - - ![Unity does not render the character unless it's behind an object](../Images/how-to-render-objects/rendobj-character-only-behind.png) - -2. Add a new Render Objects Renderer Feature, and call it `Character`. - -3. In the `Character` Renderer Feature, in **Filters** > **Layer Mask**, select the `Character` Layer. - - ![Set Layer Mask Filter to Character Layer](../Images/how-to-render-objects/rendobj-render-objects-character.png) - - Now Unity renders the character with the `Character` Material even when the character is behind GameObjects. - - This happens because the `DrawCharacterBehind` Renderer Feature writes values to the depth buffer. When Unity executes the `Character` Renderer Feature, the pixels on the character appear to be in front of the pixels that Unity has drawn previously, and Unity draws on top of those pixels. - -4. In the `DrawCharacterBehind` Renderer Feature, In **Overrides** > **Depth**, clear the **Write Depth** check box. With this setting, the `DrawCharacterBehind` Renderer Feature does not make changes to the depth buffer and the `Character` Renderer Feature does not draw the character when it's behind GameObjects. - - ![Clear Write Depth](../Images/how-to-render-objects/rendobj-render-objects-no-write-depth.png) - -The example is complete. When the character goes behind GameObjects, Unity draws the character silhouette with the `CharacterBehindObjects` Material. - -![Character goes behind objects](../Images/how-to-render-objects/character-goes-behind-object.gif) - -With the extra `Character` Renderer Feature, Unity renders GameObjects as follows: - -1. URP Renderer does not render the `Character` GameObject in the **BeforeRenderingOpaques** event, because the `Character` Layer is excluded from the **Opaque Layer Mask** list. - -2. The `DrawCharacterBehind` Renderer Feature draws parts of the character that are behind other GameObjects. This happens in the **AfterRenderingOpaques** event. - -3. The `Character` Renderer Feature draws parts of the character that are in front of other GameObjects. This happens in the **AfterRenderingOpaques** event, and after executing the `DrawCharacterBehind` Renderer Feature. +- [Renderer Objects Renderer Feature reference](renderer-feature-render-objects) diff --git a/Packages/com.unity.render-pipelines.universal/Documentation~/shader-terrain-lit.md b/Packages/com.unity.render-pipelines.universal/Documentation~/shader-terrain-lit.md index 15c55112b5a..4122ccff889 100644 --- a/Packages/com.unity.render-pipelines.universal/Documentation~/shader-terrain-lit.md +++ b/Packages/com.unity.render-pipelines.universal/Documentation~/shader-terrain-lit.md @@ -1,6 +1,8 @@ # Terrain Lit shader -URP uses the Terrain Lit shader for Unity Terrain. This shader is a simpler version of the [Lit shader](lit-shader.md). A Terrain can use a Terrain Lit Material with up to eight [Terrain Layers](https://docs.unity3d.com/Manual/class-TerrainLayer.html). +URP uses the Terrain Lit shader for Unity Terrain. This shader is a simpler version of the [Lit shader](lit-shader). + +For more information about Terrain Layers, refer to [Terrain Layers](../class-TerrainLayer.md). ![A Terrain GameObject rendered with the Terrain Lit shader.](Images/terrain/terrain-rendered-with-terrain-lit.png)
*A Terrain GameObject rendered with the Terrain Lit shader.* diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Arithmetic.md b/Packages/com.unity.visualeffectgraph/Documentation~/Arithmetic.md new file mode 100644 index 00000000000..3399a069ef4 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Arithmetic.md @@ -0,0 +1,31 @@ +# Arithmetic Operators + +Perform mathematical calculations on input data. + +| **Page** | **Description** | +| --- | --- | +| [Absolute](Operator-Absolute.md) | Calculate the absolute value of an input. | +| [Add](Operator-Add.md) | Calculate the sum of all inputs. | +| [Divide](Operator-Divide.md) | Divide the first input sequentially by all other inputs. | +| [Fractional](Operator-Fractional.md) | Extract the fractional part of an input. | +| [Inverse Lerp](Operator-InverseLerp.md) | Calculate the fraction representing how far a value is between two values. | +| [Lerp](Operator-Lerp.md) | Calculate a linear interpolation between two values. | +| [Modulo](Operator-Modulo.md) | Calculate the remainder of dividing of one value by another. | +| [Multiply](Operator-Multiply.md) | Multiply all inputs together. | +| [Negate](Operator-Negate.md) | Multiply an input value by -1 to invert its sign. | +| [One Minus](Operator-OneMinus.md) | Subtract an input value from one. | +| [Power](Operator-Power.md) | Raise one input to the power of another input. | +| [Reciprocal](Operator-Reciprocal.md) | Calculate the result of dividing 1 by an input value. | +| [Sign](Operator-Sign.md) | Return whether an input is positive, negative, or 0. | +| [Smoothstep](Operator-Smoothstep.md) | Calculate smooth Hermite interpolation between two values. | +| [Square Root](Operator-SquareRoot.md) | Calculate the square root of an input. | +| [Step](Operator-Step.md) | Compare an input value to a threshold and return whether an input is above or below the threshold | +| [Subtract](Operator-Subtract.md) | Subtract one or more inputs from another input. | + +## Additional resources + +- [Clamp](Clamp.md) +- [Remap](Remap.md) +- [Math](Math.md) + + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Attribute.md b/Packages/com.unity.visualeffectgraph/Documentation~/Attribute.md new file mode 100644 index 00000000000..109c928122d --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Attribute.md @@ -0,0 +1,15 @@ +# Attribute Blocks + +Write values to the [Attributes](Attributes.md) of particles. + +| **Page** | **Description** | +| --- | --- | +| [Curve](Block-SetAttributeFromCurve.md) | Write values to an attribute based on a sample from an Animation Curve or Gradient. | +| [Derived > Calculate Mass from Volume](Block-CalculateMassFromVolume.md) | Set the mass of a particle based on its scale and density. | +| [Map](Block-SetAttributeFromMap.md) | Sample data from textures and store them in attributes. | +| [Set](Block-SetAttribute.md) | Write values to an attribute directly, or use random modes to set attributes to random values. | + +## Additional resources + +- [Attributes](Attributes.md) +- [Standard Attribute Reference](Reference-Attributes.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Bitwise.md b/Packages/com.unity.visualeffectgraph/Documentation~/Bitwise.md new file mode 100644 index 00000000000..7a300d257ea --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Bitwise.md @@ -0,0 +1,18 @@ +# Bitwise Operators + +Perform bitwise logical operations on inputs. + +| **Page** | **Description** | +| --- | --- | +| [And](Operator-BitwiseAnd.md) | Perform a bitwise AND operation, which outputs 1 if both bits are 1. | +| [Complement](Operator-BitwiseComplement.md) | Perform a bitwise NOT operation to invert each bit. | +| [Left Shift](Operator-BitwiseLeftShift.md) | Shift an input value left by a specified number of bits. | +| [Or](Operator-BitwiseOr.md) | Perform a bitwise OR operation, which outputs 1 if either bit is 1. | +| [Right Shift](Operator-BitwiseRightShift.md) | Shift an input value right by a specified number of bits. | +| [Xor](Operator-BitwiseXor.md) | Perform a bitwise XOR operation, which outputs 1 if only one bit is 1. | + +## Additional resources + +- [Logic Operators](Logic.md) +- [Math Operators](Math.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-Collision-LandingPage.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-Collision-LandingPage.md new file mode 100644 index 00000000000..3b2d4cd6dc9 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-Collision-LandingPage.md @@ -0,0 +1,17 @@ +# Collision Blocks reference + +Configure how particles collide with shapes or the depth buffer. + +| **Page** | **Description** | +| --- | --- | +| [Collide with AABox](Block-CollideWithAABox.md) | Define an axis-aligned box volume that particles collide with. | +| [Collide with Cone](Block-CollideWithCone.md) | Define a truncated cone volume that particles collide with. | +| [Collide with Depth Buffer](Block-CollideWithDepthBuffer.md) | Make particles collide with the depth buffer of a camera. | +| [Collide with Plane](Block-CollideWithPlane.md) | Define a flat plane with infinite extents that particles collide with. | +| [Collide with Signed Distance Field](Block-CollideWithSignedDistanceField.md) | Create a complex shape that particles collide with. | +| [Collide with Sphere](Block-CollideWithSphere.md) | Define a spherical volume that particles collide with. | + +## Additional resources + +- [Signed Distance Fields in the Visual Effect Graph](sdf-in-vfx-graph.md) +- [VFX Graph Learning Templates](https://www.youtube.com/watch?v=DKVdg8DsIVY) on the Unity YouTube channel diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-SetPositionShape-LandingPage.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-SetPositionShape-LandingPage.md new file mode 100644 index 00000000000..5503809ff4f --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-SetPositionShape-LandingPage.md @@ -0,0 +1,25 @@ +# Set Position Blocks reference + +Configure particle positions based on an input. + +| **Page** | **Description** | +|-|-| +| [Set Position (Depth)](Block-SetPosition(Depth).md) | Explore the properties of the Set Position (Depth) block. | +| [Set Position (Mesh)](Block-SetPosition(Mesh).md) | Calculate a position based on mesh vertex data. | +| [Set Position (Signed Distance Field)](Block-SetPosition(SignedDistanceField).md) | Explore the properties of the Set Position (Signed Distance Field) block. | +| [Set Position (Skinned Mesh)](Block-SetPosition(Mesh).md) | Calculate a position based on skinned mesh vertex data. | +| [Set Position (Sequential : Circle)](Block-SetPosition(Sequential).md) | Use the Set Position (Sequential) block with a circle. | +| [Set Position (Sequential : Line)](Block-SetPosition(Sequential).md) | Use the Set Position (Sequential) block with a line. | +| [Set Position (Sequential : ThreeDimensional)](Block-SetPosition(Sequential).md) | Use the Set Position (Sequential) block with a 3D shape. | +| [Set Position (Shape : AABox)](Block-SetPosition(AABox).md) | Calculate a position based on an axis-aligned box. | +| [Set Position (Shape : Circle)](Block-SetPosition(Circle).md) | Calculate a position based on a circle. | +| [Set Position (Shape : Cone)](Block-SetPosition(Cone).md) | Calculate a position based on a cone. | +| [Set Position (Shape : Line)](Block-SetPosition(Line).md) | Calculate a position based on a line. | +| [Set Position (Shape : Sphere)](Block-SetPosition(Sphere).md) | Calculate a position based on a sphere. | +| [Set Position (Sequential)](Block-SetPosition(Sequential).md) | Explore the properties of the Set Position (Sequential) block. | +| [Tile/Warp Positions](Block-TileWarpPositions.md) | Explore the properties of the Tile/Warp Positions block. | + +## Additional resources + +- [Signed Distance Fields in the Visual Effect Graph](sdf-in-vfx-graph.md) +- [VFX Graph Learning Templates](https://www.youtube.com/watch?v=DKVdg8DsIVY) on the Unity YouTube channel diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdatePosition.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdatePosition.md index ba2f0f542a1..4ab1ecccb75 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdatePosition.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdatePosition.md @@ -2,7 +2,9 @@ Menu Path : **Implicit > Integration : Update Position** -The **Integration : Update Position** Block updates particle positions based on their velocity. If the system uses the velocity attribute and you enable **Update Position** in the Update Context's Inspector, Unity implicitly adds this Block to the Context and hides it. +The **Integration : Update Position** Block updates particle positions based on their velocity. + +**Note:** If the system uses the velocity attribute and you enable **Update Position** in the Update Context's Inspector, Unity implicitly adds this Block to the Context and hides it. If you add your own **Integration : Update Position** Block too, Unity updates positions twice. ![](Images/Block-UpdatePositionInspector.png) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdateRotation.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdateRotation.md index daf4a87d427..c0393df24bb 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdateRotation.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block-UpdateRotation.md @@ -2,7 +2,9 @@ Menu Path : **Implicit > Integration : Update Rotation** -The **Integration : Update Rotation** Block updates particle orientation based on their angular velocity. If the system uses the angular velocity attribute and you enable **Update Rotation** in the Update Context's Inspector, Unity implicitly adds this Block to the Context and hides it. +The **Integration : Update Rotation** Block updates particle orientation based on their angular velocity. + +**Note:** If the system uses the angular velocity attribute and you enable **Update Rotation** in the Update Context's Inspector, Unity implicitly adds this Block to the Context and hides it. If you add your own **Integration : Update Rotation** Block too, Unity updates rotation twice. ![](Images/Block-UpdateRotationInspector.png) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Block.md b/Packages/com.unity.visualeffectgraph/Documentation~/Block.md new file mode 100644 index 00000000000..2414ebfdf93 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Block.md @@ -0,0 +1,26 @@ +# Blocks + +Control the behavior, appearance, and simulation of particles. + +| **Page** | **Description** | +| --- | --- | +| [Attribute Blocks](Attribute.md) | Write values to the attributes of particles. | +| [Collision Blocks](Block-Collision-LandingPage.md) | Configure how particles collide with shapes or the depth buffer. | +| [Flipbook Player](Block-FlipbookPlayer.md) | Create animated particles using flipbook textures. | +| [Force Blocks](Force.md) | Apply and control forces on particles, such as gravity and turbulence. | +| [GPU Event](GPUEventLandingPage.md) | Spawn new particles from Trigger Blocks in Update or Initialize Contexts. | +| [Implicit Integration Blocks](Implicit.md) | Explore the hidden Blocks that Visual Effect Graph uses to update the position and rotation of particles. | +| [Kill Blocks](Kill.md) | Destroy particles inside or outside a shape. | +| [Orientation Blocks](Orientation.md) | Change the direction that particles face. | +| [Output Blocks](Output.md) | Control particle output and rendering. | +| [Set Position Blocks](Block-SetPositionShape-LandingPage.md) | Configure particle positions based on an input shape. | +| [Size > Screen Space Size](Block-ScreenSpaceSize.md) | Calculate the scale needed for a particle to reach a specific size. | +| [Spawn Blocks](Spawn.md) | Customize behavior for spawning particles. | +| [Velocity Blocks](Velocity.md) | Dynamically adjust the velocity of particles. | + +## Additional resources + +- [Blocks](Blocks.md) +- [Graph logic and philosophy](GraphLogicAndPhilosophy.md) +- [Output event handlers](OutputEventHandlers.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Builtin.md b/Packages/com.unity.visualeffectgraph/Documentation~/Builtin.md new file mode 100644 index 00000000000..08fa076d23e --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Builtin.md @@ -0,0 +1,18 @@ +# Built-in Operators + +Operators that output time, frame indices, and coordinates. + +| **Page** | **Description** | +| --- | --- | +| [Delta Time](Operator-DeltaTime.md) | Get the time in seconds between the current and previous frames. | +| [Frame Index](Operator-FrameIndex.md) | Get the current frame index. | +| [Local to World](Operator-LocalToWorld.md) | Get a matrix that transforms a point from local space to world space. | +| [System Seed](Operator-SystemSeed.md) | Get the seed used to generate random numbers. | +| [Total Time](Operator-TotalTime.md) | Get the total time since the effect started. | +| [World to Local](Operator-WorldToLocal.md) | Get a matrix that transforms a point from world space to local space. | + +## Additional resources + +- [Math Operators](Math.md) +- [Attribute Blocks](Attribute.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Camera.md b/Packages/com.unity.visualeffectgraph/Documentation~/Camera.md new file mode 100644 index 00000000000..82d266352db --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Camera.md @@ -0,0 +1,15 @@ +# Camera Operators + +Output information about cameras, and convert between view space and world space. + +| **Page** | **Description** | +| --- | --- | +| [Main Camera](Operator-MainCamera.md) | Get information about the current main camera, including integration with the active Scriptable Render Pipeline. | +| [Viewport to World Point](Operator-ViewportToWorldPoint.md) | Transform a position from viewport space to world space | +| [World to Viewport Point](Operator-WorldToViewportPoint.md) | Transform a position from world space to view space. | + +## Additional resources + +- [Coordinates](Coordinates.md) +- [Geometry](Geometry.md) +- [Built-in Operators](Builtin.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Clamp.md b/Packages/com.unity.visualeffectgraph/Documentation~/Clamp.md new file mode 100644 index 00000000000..61dc923b2bc --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Clamp.md @@ -0,0 +1,14 @@ +# Clamp Operators + +Clamp, round, or limit values. + +| **Page** | **Description** | +| --- | --- | +| [Ceiling](Operator-Ceiling.md) | Round an input up to the nearest integer. | +| [Clamp](Operator-Clamp.md) | Limit an input value between a lower and upper bound for each axis. | +| [Discretize](Operator-Discretize.md) | Get the multiple of an input that's closest to a second input. | +| [Floor](Operator-Floor.md) | Round an input value down to the nearest integer. | +| [Maximum](Operator-Maximum.md) | Get the largest value from all input values. | +| [Minimum](Operator-Minimum.md) | Get the smallest value from all input values. | +| [Round](Operator-Round.md) | Round an input value to the nearest integer. | +| [Saturate](Operator-Saturate.md) | Clamp a value between 0 and 1. | diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Color.md b/Packages/com.unity.visualeffectgraph/Documentation~/Color.md new file mode 100644 index 00000000000..37b072347b6 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Color.md @@ -0,0 +1,18 @@ +# Color Operators + +Output and convert color values. + +| **Page** | **Description** | +| --- | --- | +| [Color Luma](Operator-ColorLuma.md) | Get the perceived brightness of an input color. | +| [HSV to RGB](Operator-HSVToRGB.md) | Convert hue, saturation, value (HSV) color values to red, green, blue (RGB) color values. | +| [RGB to HSV](Operator-RGBToHSV.md) | Convert red, green, blue (RGB) color values to hue, saturation, value (HSV) color values. | + +## Additional resources + +- [Color](Operator-InlineColor.md) +- [Sample Gradient](Operator-SampleGradient.md) +- [Saturate](Operator-Saturate.md) + + + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Constants.md b/Packages/com.unity.visualeffectgraph/Documentation~/Constants.md new file mode 100644 index 00000000000..0d4369f97f4 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Constants.md @@ -0,0 +1,14 @@ +# Constants Operators + +Get mathematical constants. + +| **Page** | **Description** | +| --- | --- | +| [Epsilon (ε)](Operator-Epsilon.md) | Get a tiny value that you can use to avoid precision issues when you compare float values. | +| [Pi (π)](Operator-Pi.md) | Get the ratio of a circle's circumference to its diameter. | + +## Additional resources + +- [Arithmetic Operators](Arithmetic.md) +- [Clamp Operators](Clamp.md) +- [Math Operators](Math.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputLitSettings.md b/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputLitSettings.md index b0d2f72154f..555f74e4e55 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputLitSettings.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputLitSettings.md @@ -1,4 +1,4 @@ -# Output Lit +# Lit Output Settings Menu Path : **Context > Output [Data Type] Lit [Type]** diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputSharedSettings.md b/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputSharedSettings.md index 278c30289ed..ecfaa1923fa 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputSharedSettings.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Context-OutputSharedSettings.md @@ -1,4 +1,4 @@ -# Shared Output Settings and Properties +# Shared output settings and properties All outputs share these settings and property ports. The only exception is the Shader Graph setting which most outputs support, but not all of them. diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Context.md b/Packages/com.unity.visualeffectgraph/Documentation~/Context.md new file mode 100644 index 00000000000..1773e7b5e9c --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Context.md @@ -0,0 +1,26 @@ +# Contexts + +Explore the different [Contexts](Contexts.md) you can add to a graph. + +| **Page** | **Description** | +| --- | --- | +| [Event](Context-Event.md) | Define names for events that trigger actions in a graph. | +| [GPU Event](Context-GPUEvent.md) | Spawn new particles from specific Blocks in Update or Initialize Contexts. | +| [Initialize Particle](Context-Initialize.md) | Process an event and initialize new particle elements. | +| [Output Decal](Context-OutputForwardDecal.md) | Render a particle system using a projected decal texture. | +| [Output Distortion](Context-OutputDistortion.md) | In the High Definition Render Pipeline (HDRP), use distortion to simulate effects like heat haze from fire. | +| [Output Line](Context-OutputLine.md) | Render particles as lines. | +| [Output Mesh](Context-OutputMesh.md) | Render a static mesh. | +| [Output Particle HDRP Lit Decal](Context-OutputParticleHDRPLitDecal.md) | Use a decal to render a particle system in HDRP. | +| [Output Particle Mesh](Context-OutputParticleMesh.md) | Render particles as meshes. | +| [Output Point](Context-OutputPoint.md) | Render particles as points. | +| [Output Primitive](Context-OutputPrimitive.md) | Render particles as lit quads, triangles, or octagons. | +| [Shared output settings](SharedOutputSettings.md) | Explore the settings that appear in all Contexts. | +| [Spawn](Context-Spawn.md) | Control the spawn rate of particles, or create a custom spawning behavior. | +| [Update Particle](Context-Update.md) | Manage the behavior of particles or particle strips from an Initialize Context. | + +## Additional resources + +- [Visual Effect Graph Logic](GraphLogicAndPhilosophy.md) +- [Blocks](Blocks.md) +- [Contexts (Graph Logic & Philosophy)](Contexts.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Coordinates.md b/Packages/com.unity.visualeffectgraph/Documentation~/Coordinates.md new file mode 100644 index 00000000000..ea214d4ce8c --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Coordinates.md @@ -0,0 +1,17 @@ +# Coordinate Operators + +Convert between coordinate systems. + +| **Page** | **Description** | +| --- | --- | +| [Polar to Rectangular](Operator-PolarToRectangular.md) | Convert from polar coordinates to rectangular xy coordinates. | +| [Rectangular to Polar](Operator-RectangularToPolar.md) | Convert from rectangular xy coordinates to polar coordinates. | +| [Rectangular to Spherical](Operator-RectangularToSpherical.md) | Convert from rectangular xyz coordinates to spherical coordinates. | +| [Spherical to Rectangular](Operator-SphericalToRectangular.md) | Convert from spherical coordinates to rectangular XYZ coordinates. | + +## Additional resources + +- [Change Space](Operator-ChangeSpace.md) +- [Transform (Position)](Operator-Transform(Position).md) +- [Local to World](Operator-LocalToWorld.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/CustomSpawn.md b/Packages/com.unity.visualeffectgraph/Documentation~/CustomSpawn.md new file mode 100644 index 00000000000..e1d8b3c9c31 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/CustomSpawn.md @@ -0,0 +1,16 @@ +# Custom Spawn Blocks + +Customize advanced behavior for spawning particles. + +| **Page** | **Description** | +| --- | --- | +| [Increment Strip Index On Start](Block-IncrementStripIndexOnStart.md) | Create a new group of particles each time the start event of the Spawn Context triggers. | +| [Set Spawn Time](Block-SetSpawnTime.md) | Allow Initialize Contexts to use the time since the previous play event of the Spawn Context. | +| [Spawn Over Distance](Block-SpawnOverDistance.md) | Spawn particles based on the distance moved since the previous frame. | + +## Additional resources + +- [Spawn](Context-Spawn.md) +- [Spawner Callbacks](SpawnerCallbacks.md) +- [Events](Events.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Force.md b/Packages/com.unity.visualeffectgraph/Documentation~/Force.md new file mode 100644 index 00000000000..1e89830a15f --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Force.md @@ -0,0 +1,20 @@ +# Force Blocks + +Apply and control forces on particles, such as gravity and turbulence. + +| **Page** | **Description** | +| --- | --- | +| [Conform to Signed Distance Field](Block-ConformToSignedDistanceField.md) | Pull particles towards a complex shape. | +| [Conform to Sphere](Block-ConformToSphere.md) | Pull particles towards a sphere. | +| [Force](Block-Force.md) | Apply a force to particles by changing their velocity. | +| [Gravity](Block-Gravity.md) | Apply gravity to particles by changing their velocity. | +| [Linear Drag](Block-LinearDrag.md) | Slow particles down without affecting their direction. | +| [Turbulence](Block-Turbulence.md) | Add natural-looking motion to particles. | +| [Vector Force Field](Block-VectorForceField.md) | Apply specific forces to particles using a vector field. | + +## Additional resources + +- [Velocity Blocks](Velocity.md) +- [Vector Fields / Signed Distance Fields](VectorFields.md) +- [Noise Operators](Noise.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/GPUEventLandingPage.md b/Packages/com.unity.visualeffectgraph/Documentation~/GPUEventLandingPage.md new file mode 100644 index 00000000000..48c486a9e07 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/GPUEventLandingPage.md @@ -0,0 +1,14 @@ +# GPU Event Blocks + +Spawn new particles from Trigger Blocks in Update or Initialize Contexts. + +| **Page** | **Description** | +| --- | --- | +| [Trigger Event Always](Block-TriggerEventAlways.md) | Spawns particles every frame. | +| [Trigger Event On Die](Block-TriggerEventOnDie.md) | Spawns particles when a particle dies. | +| [Trigger Event Rate](Block-TriggerEventRate.md) | Spawns particles at a specified rate. | + +## Additional resources + +- [GPU Event](Context-GPUEvent.md) +- [Collision Blocks reference](Block-Collision-LandingPage.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Geometry.md b/Packages/com.unity.visualeffectgraph/Documentation~/Geometry.md new file mode 100644 index 00000000000..8dc84da86b8 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Geometry.md @@ -0,0 +1,29 @@ +# Geometry Operators + +Perform geometric calculations and transformations. + +| **Page** | **Description** | +| --- | --- | +| [Area (Circle)](Operator-Area(Circle).md) | Calculate the area of a circle. | +| [Change Space](Operator-ChangeSpace.md) | Convert a vector from local space to world space. | +| [Distance (Line)](Operator-Distance(Line).md) | Calculate the distance between a position and the closest point on a line. | +| [Distance (Plane)](Operator-Distance(Plane).md) | Calculate the distance between a position and the closest point on a plane. | +| [Distance (Sphere)](Operator-Distance(Sphere).md) | Calculate the distance between a position and the closest point on a sphere. | +| [InvertTRS (Matrix)](Operator-InvertTRS(Matrix).md) | Invert a matrix that contains translation, rotation, and scaling. | +| [Transform (Direction)](Operator-Transform(Direction).md) | Change the position, rotation, or scale of a direction vector. | +| [Transform (Matrix)](Operator-Transform(Matrix).md) | Change the position, rotation, or scale of a matrix. | +| [Transform (Position)](Operator-Transform(Position).md) | Change the position, rotation, or scale of a position. | +| [Transform (Vector)](Operator-Transform(Vector).md) | Change the position, rotation, or scale of a vector. | +| [Transform (Vector4)](Operator-Transform(Vector4).md) | Change the position, rotation, or scale of a Vector4. | +| [Transpose (Matrix)](Operator-Transpose(Matrix).md) | Flip a matrix across its diagonal, to swap columns with rows. | +| [Volume (Axis Aligned Box)](Operator-Volume(AxisAlignedBox).md) | Calculate the volume of an axis-aligned box. | +| [Volume (Cone)](Operator-Volume(Cone).md) | Calculate the volume of a cone. | +| [Volume (Cylinder)](Operator-Volume(Cylinder).md) | Calculate the volume of a cylinder. | +| [Volume (Oriented Box)](Operator-Volume(OrientedBox).md) | Calculate the volume of an oriented box. | +| [Volume (Sphere)](Operator-Volume(Sphere).md) | Calculate the volume of a sphere. | +| [Volume (Torus)](Operator-Volume(Torus).md) | Calculate the volume of a torus. | + +## Additional resources + +- [VFX type reference](VisualEffectGraphTypeReference.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Implicit.md b/Packages/com.unity.visualeffectgraph/Documentation~/Implicit.md new file mode 100644 index 00000000000..f60a6095f58 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Implicit.md @@ -0,0 +1,14 @@ +# Implicit Integration Blocks + +Update the position and rotation of particles. + +| **Page** | **Description** | +| --- | --- | +| [Integration: Update Position](Block-UpdatePosition.md) | Update the positions of particles. | +| [Integration: Update Rotation](Block-UpdateRotation.md) | Update the rotation of particles. | + +## Additional resources + +- [Update Context](Context-Update.md) +- [Velocity Blocks](Velocity.md) +- [Force Blocks](Force.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Inline.md b/Packages/com.unity.visualeffectgraph/Documentation~/Inline.md new file mode 100644 index 00000000000..32469a03974 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Inline.md @@ -0,0 +1,47 @@ +# Inline Operators + +Store values, vectors, shapes, and textures in a graph. + +| **Page** | **Description** | +| --- | --- | +| [AABox](Operator-InlineAABox.md) | Store an axis-aligned 3D box. | +| [AnimationCurve](Operator-InlineAnimationCurve.md) | Store an animation curve. | +| [ArcCircle](Operator-InlineArcCircle.md) | Store a segment of a circle. | +| [ArcCone](Operator-InlineArcCone.md) | Store a segment of a cone. | +| [ArcSphere](Operator-InlineArcSphere.md) | Store a segment of a sphere. | +| [ArcTorus](Operator-InlineArcTorus.md) | Store a segment of a torus. | +| [bool](Operator-Inlinebool.md) | Store a Boolean. | +| [Camera](Operator-InlineCamera.md) | Store a camera. | +| [Circle](Operator-InlineCircle.md) | Store a circle. | +| [Color](Operator-InlineColor.md) | Store a color. | +| [Cone](Operator-InlineCone.md) | Store a cone. | +| [Cubemap](Operator-InlineCubemap.md) | Store a cubemap texture. | +| [CubemapArray](Operator-InlineCubemapArray.md) | Store a cubemap array. | +| [Cylinder](Operator-InlineCylinder.md) | Store a cylinder. | +| [Direction](Operator-InlineDirection.md) | Store a direction. | +| [FlipBook](Operator-InlineFlipBook.md) | Store a flipbook texture. | +| [float](Operator-Inlinefloat.md) | Store a float. | +| [Gradient](Operator-InlineGradient.md) | Store a gradient. | +| [int](Operator-Inlineint.md) | Store an integer. | +| [Line](Operator-InlineLine.md) | Store a line. | +| [Matrix4x4](Operator-InlineMatrix4x4.md) | Store a 4x4 matrix. | +| [Mesh](Operator-InlineMesh.md) | Store a mesh. | +| [OrientedBox](Operator-InlineOrientedBox.md) | Store an oriented box. | +| [Plane](Operator-InlinePlane.md) | Store a plane. | +| [Position](Operator-InlinePosition.md) | Store a position. | +| [Sphere](Operator-InlineSphere.md) | Store a sphere. | +| [TerrainType](Operator-InlineTerrainType.md) | Store a terrain type. | +| [Texture2D](Operator-InlineTexture2D.md) | Store a 2D texture. | +| [Texture2DArray](Operator-InlineTexture2DArray.md) | Store a 2D texture array. | +| [Texture3D](Operator-InlineTexture3D.md) | Store a 3D texture. | +| [Torus](Operator-InlineTorus.md) | Store a torus. | +| [Transform](Operator-InlineTransform.md) | Store position, rotation, and scale. | +| [uint](Operator-Inlineuint.md) | Store an unsigned integer. | +| [Vector](Operator-InlineVector.md) | Store a vector with one dimension. | +| [Vector2](Operator-InlineVector2.md) | Store a vector with two dimensions. | +| [Vector3](Operator-InlineVector3.md) | Store a vector with three dimensions. | +| [Vector4](Operator-InlineVector4.md) | Store a vector with four dimensions. | + +## Additional resources + +- [VFX type reference](VisualEffectGraphTypeReference.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Kill.md b/Packages/com.unity.visualeffectgraph/Documentation~/Kill.md new file mode 100644 index 00000000000..c19616de953 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Kill.md @@ -0,0 +1,12 @@ +# Kill Blocks + +Destroy particles inside or outside a shape. + +| **Page** | **Description** | +| --- | --- | +| [Kill (AABox)](Block-Kill(AABox).md) | Destroys particles inside or outside axis-aligned box shape. | +| [Kill (Sphere)](Block-Kill(Sphere).md) | Destroys particles inside or outside a spherical shape. | + +## Additional resources + +- [Collision Blocks reference](Block-Collision-LandingPage.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Logic.md b/Packages/com.unity.visualeffectgraph/Documentation~/Logic.md new file mode 100644 index 00000000000..1cf970c8ec1 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Logic.md @@ -0,0 +1,20 @@ +# Logic Operators + +Perform Boolean operations and conditional branching. + +| **Page** | **Description** | +| --- | --- | +| [And](Operator-LogicAnd.md) | Output `true` if both inputs are `true`. | +| [Branch](Operator-Branch.md) | Test a Boolean and return different values for `true` and `false`. | +| [Compare](Operator-Compare.md) | Compare two floats based on a condition and return the result as a Boolean. | +| [Nand](Operator-LogicNand.md) | Output `true` if at least one input is `false`. | +| [Nor](Operator-LogicNor.md) | Output `true` if both inputs are `false`. | +| [Not](Operator-LogicNot.md) | Output `true` if an input is `false`, and vice versa. | +| [Or](Operator-LogicOr.md) | Output `true` if either input is `true`. | +| [Probability Sampling](Operator-ProbabilitySampling.md) | Select an output at random with custom weights. | +| [Switch](Operator-Switch.md) | Compare an input to case values, and output a value depending on the case. | + +## Additional resources + +- [Bitwise Operators](Bitwise.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Math.md b/Packages/com.unity.visualeffectgraph/Documentation~/Math.md new file mode 100644 index 00000000000..735e80e7615 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Math.md @@ -0,0 +1,22 @@ +# Math Operators + +Perform calculations, conversions, and transformations. + +| **Page** | **Description** | +| --- | --- | +| [Arithmetic](Arithmetic.md) | Perform mathematical calculations on input data. | +| [Clamp](Clamp.md) | Clamp, round, or limit values. | +| [Constants](Constants.md) | Get mathematical constants. | +| [Coordinates](Coordinates.md) | Convert between coordinate systems. | +| [Exp](Operator-Exp.md) | Raise a number to a specified power. | +| [Geometry](Geometry.md) | Perform geometric calculations and transformations. | +| [Log](Operator-Log.md) | Calculate the logarithm of a number. | +| [Remap](Remap.md) | Remap values between ranges. | +| [Trigonometry](Trigonometry.md) | Perform trigonometric calculations. | +| [Vector](Vector.md) | Perform vector and matrix calculations. | +| [Wave](Wave.md) | Generate waveforms, for example to control the behavior of particles over time. | + +## Additional resources + +- [Bitwise Operators](Bitwise.md) +- [Logic Operators](Logic.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Noise.md b/Packages/com.unity.visualeffectgraph/Documentation~/Noise.md new file mode 100644 index 00000000000..18b6fca2f83 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Noise.md @@ -0,0 +1,18 @@ +# Noise Operators + +Generate procedural noise patterns, for example to control the behavior of particles over time. + +| **Page** | **Description** | +| --- | --- | +| [Cellular Noise](Operator-CellularNoise.md) | Generate noise with cell-like patterns. | +| [Perlin Noise](Operator-PerlinNoise.md) | Generate noise with a smooth, natural variation. | +| [Value Noise](Operator-ValueNoise.md) | Generate noise with simple interpolated values. | +| [Cellular Curl Noise](Operator-CellularCurlNoise.md) | Create cell-like patterns that simulate fluid or gas. | +| [Perlin Curl Noise](Operator-PerlinCurlNoise.md) | Generate noise that simulates a fluid or gas with smooth variations. | +| [Value Curl Noise](Operator-ValueCurlNoise.md) | Generate noise that simulates a fluid or gas with simple interpolated values. | + +## Additional resources + +- [Wave Operators](Wave.md) +- [Random Number](Operator-RandomNumber.md) +- [Sampling Operators](Sampling.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Operator.md b/Packages/com.unity.visualeffectgraph/Documentation~/Operator.md new file mode 100644 index 00000000000..3ab1a22701d --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Operator.md @@ -0,0 +1,28 @@ +# Operators + +Calculate, convert, and manipulate data for particles and effects. + +| **Page** | **Description** | +| --- | --- | +| [Attribute Operators](OperatorAttribute.md) | Get the data from particle attributes. | +| [Bitwise Operators](Bitwise.md) | Perform bitwise logical operations on inputs. | +| [Built-in Operators](Builtin.md) | Get time, frame indices, camera data, and coordinates. | +| [Camera Operators](Camera.md) | Convert positions between view space and world space. | +| [Color Operators](Color.md) | Output and convert color values. | +| [Inline Operators](Inline.md) | Store values, vectors, shapes, and textures. | +| [Logic Operators](Logic.md) | Perform Boolean operations and conditional branching. | +| [Math](Math.md) | Perform mathematical calculations on input data. | +| [Noise Operators](Noise.md) | Generate procedural noise patterns, for example to control the behavior of particles over time. | +| [Random > Random Number](Operator-RandomNumber.md) | Generate random values. | +| [Sampling Operators](Sampling.md) | Fetch data from buffers, meshes, and textures. | +| [Spawn State](Operator-SpawnState.md) | Get information such as the number of particles spawned in the current frame, and the duration of the spawn loop. | +| [Point Cache](Operator-PointCache.md) | Get the attribute maps and point count stored in a Point Cache. | + +## Additional resources + +- [Operators (Graph Logic & Philosophy)](Operators.md) +- [Arithmetic Operators](Arithmetic.md) +- [Vector Operators](Vector.md) + + + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/OperatorAttribute.md b/Packages/com.unity.visualeffectgraph/Documentation~/OperatorAttribute.md new file mode 100644 index 00000000000..44325d6053e --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/OperatorAttribute.md @@ -0,0 +1,41 @@ +# Attribute Operators + +Get the data from [particle attributes](Attributes.md). + +| **Page** | **Description** | +| --- | --- | +| [Age Over Lifetime](Operator-AgeOverLifetime.md) | Get the age of a particle relative to its lifetime. | +| [Get Attribute: age](Operator-GetAttributeAge.md) | Get the time since a particle spawned. | +| [Get Attribute: alive](Operator-GetAttributeAlive.md) | Get whether a particle is alive or not. | +| [Get Attribute: alpha](Operator-GetAttributeAlpha.md) | Get the alpha value of a rendered particle. | +| [Get Attribute: angle](Operator-GetAttributeAngle.md) | Get the rotation of a particle. | +| [Get Attribute: angularVelocity](Operator-GetAttributeAngularVelocity.md) | Get the rotation speed of a particle. | +| [Get Attribute: axisX](Operator-GetAttributeAxisX.md) | Get the x-axis of a particle. | +| [Get Attribute: axisY](Operator-GetAttributeAxisY.md) | Get the y-axis of a particle. | +| [Get Attribute: axisZ](Operator-GetAttributeAxisZ.md) | Get the z-axis of a particle. | +| [Get Attribute: color](Operator-GetAttributeColor.md) | Get the color of a particle. | +| [Get Attribute: direction](Operator-GetAttributeDirection.md) | Get the direction of a particle. | +| [Get Attribute: lifetime](Operator-GetAttributeLifetime.md) | Get the amount of time a particle should live for. | +| [Get Attribute: mass](Operator-GetAttributeMass.md) | Get the mass of a particle. | +| [Get Attribute: oldPosition](Operator-GetAttributeOldPosition.md) | Get the position of a particle before velocity is added. | +| [Get Attribute: particleCountInStrip](Operator-GetAttributeParticleCountInStrip.md) | Get the number of particles in a particle strip. | +| [Get Attribute: particleId](Operator-GetAttributeParticleID.md) | Get a unique ID that identifies a particle. | +| [Get Attribute: particleIndexInStrip](Operator-GetAttributeParticleIndexInStrip.md) | Get the index of a particle in its particle strip. | +| [Get Attribute: pivot](Operator-GetAttributePivot.md) | Get the origin coordinates of a particle. | +| [Get Attribute: position](Operator-GetAttributePosition.md) | Get the position of a particle. | +| [Get Attribute: scale](Operator-GetAttributeScale.md) | Get the scale of the particle. | +| [Get Attribute: seed](Operator-GetAttributeSeed.md) | Get the random number value of a particle. | +| [Get Attribute: size](Operator-GetAttributeSize.md) | Get the size of a particle. | +| [Get Attribute: spawnIndex](Operator-GetAttributeSpawnIndex.md) | Get the index of a particle when it spawned. | +| [Get Attribute: spawnTime](Operator-GetAttributeSpawnTime.md) | Get the time that the particle spawned. | +| [Get Attribute: stripIndex](Operator-GetAttributeStripIndex.md) | Get the index of the particle strip a particle belongs to. | +| [Get Attribute: targetPosition](Operator-GetAttributeTargetPosition.md) | Get the target coordinates of a particle. | +| [Get Attribute: texIndex](Operator-GetAttributeTexIndex.md) | Get the frame number from a flipbook texture a particle uses. | +| [Get Attribute: velocity](Operator-GetAttributeVelocity.md) | Get the current velocity of a particle. | +| [Get Custom Attribute](Operator-GetCustomAttribute.md) | Get the value of a custom attribute. | + +## Additional resources + +- [Attributes](Attributes.md) +- [Standard Attribute Reference](Reference-Attributes.md) +- [Attribute Blocks](Attribute.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Orientation.md b/Packages/com.unity.visualeffectgraph/Documentation~/Orientation.md new file mode 100644 index 00000000000..d081a1a655e --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Orientation.md @@ -0,0 +1,14 @@ +# Orientation Blocks + +Change the direction that particles face. + +| **Page** | **Description** | +| --- | --- | +| [Connect Target](Block-ConnectTarget.md) | Scale and rotate particles so they connect to a specified target position. | +| [Orient: Face [Mode]](Block-Orient.md) | Rotate particles so they face a particular direction. | + +## Additional resources + +- [Implicit Integration Blocks](Implicit.md) +- [Velocity Blocks](Velocity.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Output.md b/Packages/com.unity.visualeffectgraph/Documentation~/Output.md new file mode 100644 index 00000000000..cd64badda74 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Output.md @@ -0,0 +1,14 @@ +# Output Blocks + +Control particle output and rendering. + +| **Page** | **Description** | +| --- | --- | +| [Camera Fade](Block-CameraFade.md) | Fade out particles when they're too close to the near plane of the camera. | +| [Subpixel Anti-Aliasing](Block-SubpixelAntiAliasing.md) | Enlarge particles to ensure they cover at least one pixel on-screen. | + +## Additional resources + +- [Output Mesh](Context-OutputMesh.md) +- [Output Particle Mesh](Context-OutputParticleMesh.md) +- [Output Particle Point](Context-OutputPoint.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/PipelineTools.md b/Packages/com.unity.visualeffectgraph/Documentation~/PipelineTools.md new file mode 100644 index 00000000000..66c9eb85843 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/PipelineTools.md @@ -0,0 +1,17 @@ +# Pipeline tools + +Explore tools and techniques for working with complex shapes and custom behaviors. + +| **Page** | **Description** | +| --- | --- | +| [Representing Complex Shapes](representing-complex-shapes.md) | Use Signed Distance Fields (SDFs) and Point Caches to create complex shapes. | +| [ExposedProperty Helper](ExposedPropertyHelper.md) | Store and access properties in shaders. | +| [Vector Fields](VectorFields.md) | Use 3D shapes as 3D textures to control the behavior of particles. | +| [Spawner Callbacks](SpawnerCallbacks.md) | Use a C# API to control spawning, and access the spawn count and spawn events. | + +## Additional resources +- [Point Caches in the Visual Effect Graph](point-cache-in-vfx-graph.md) +- [Point Cache Bake Tool](point-cache-bake-tool.md) +- [Signed Distance Fields in the Visual Effect Graph](sdf-in-vfx-graph.md) + + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Reference.md b/Packages/com.unity.visualeffectgraph/Documentation~/Reference.md new file mode 100644 index 00000000000..cbf86c6fff4 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Reference.md @@ -0,0 +1,15 @@ +# Reference + +Explore the standard attributes and types in Visual Effect Graph. + +| **Type** | **Description** | +| --- | --- | +| [Standard Attributes](Reference-Attributes.md) | Explore the attributes that contain the position, direction, appearance, and lifetime of a particle. | +| [Types](VisualEffectGraphTypeReference.md) | Explore types, including standard types and advanced types. | + +## Additional resources + +- [Attributes](Attributes.md) +- [Properties](Properties.md) + + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Remap.md b/Packages/com.unity.visualeffectgraph/Documentation~/Remap.md new file mode 100644 index 00000000000..6627793f678 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Remap.md @@ -0,0 +1,9 @@ +# Remap Operators + +Remap values to different ranges. + +| **Page** | **Description** | +| --- | --- | +| [Remap](Operator-Remap.md) | Remap input values from an old range to a new range. | +| [Remap [0..1] => [-1..1]](Operator-Remap(-11).md) | Remap input values from 0 to 1 range, to -1 to 1 range. | +| [Remap [-1..1] => [0..1]](Operator-Remap(01).md) | Remap input values from -1 to 1 range, to 0 to 1 range. | \ No newline at end of file diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Sampling.md b/Packages/com.unity.visualeffectgraph/Documentation~/Sampling.md new file mode 100644 index 00000000000..bc8d42cc5c8 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Sampling.md @@ -0,0 +1,38 @@ +# Sampling Operators + +Fetch data from buffers, meshes, and textures. + +| **Page** | **Description** | +| --- | --- | +| [Buffer Count](Operator-BufferCount.md) | Get the number of elements in a `GraphicsBuffer`. | +| [Get Texture Dimensions](Operator-GetTextureDimensions.md) | Get the dimensions of a texture. | +| [Load CameraBuffer](Operator-LoadCameraBuffer.md) | Get a `CameraBuffer` texel value for specified coordinates. | +| [Mesh Index Count](Operator-MeshIndexCount.md) | Get the number of indices in a mesh. | +| [Mesh Vertex Count](Operator-MeshVertexCount.md) | Get the number of vertices in a mesh. | +| [Load Texture2D](Operator-LoadTexture2D.md) | Sample a 2D texture. | +| [Load Texture2DArray](Operator-LoadTexture2DArray.md) | Sample a 2D texture array. | +| [Load Texture3D](Operator-LoadTexture3D.md) | Sample a 3D texture. | +| [Position (Depth)](Operator-Position(Depth).md) | Sample the depth buffer of the camera. | +| [Sample Buffer](Operator-SampleBuffer.md) | Fetch and sample a structured `GraphicsBuffer`. | +| [Sample CameraBuffer](Operator-SampleCameraBuffer.md) | Sample the camera buffer using pixel dimensions and UVs. | +| [Sample Curve](Operator-SampleCurve.md) | Sample a curve. | +| [Sample Gradient](Operator-SampleGradient.md) | Sample a gradient. | +| [Sample Mesh](Operator-SampleMesh.md) | Get the vertex data of a mesh. | +| [Sample Mesh Index](Operator-SampleMeshIndex.md) | Get the index buffer data of geometry. | +| [Sample Skinned Mesh](Operator-SampleMesh.md) | Get the vertex data of a skinned mesh. | +| [Sample Skinned Mesh Renderer Index](Operator-SampleMesh.md) | Get the index data of a skinned mesh renderer. | +| [Sample Signed Distance Field](Operator-SampleSDF.md) | Get the distance field stored in a 3D texture. | +| [Sample Texture2D](Operator-SampleTexture2D.md) | Sample a 2D texture using UV coordinates and mipmap level. | +| [Sample Texture2DArray](Operator-SampleTexture2DArray.md) | Sample a 2D texture array using a slice, UV coordinates, and mipmap level. | +| [Sample Texture3D](Operator-SampleTexture3D.md) | Sample a 3D texture using UV coordinates and mipmap level. | +| [Sample TextureCube](Operator-SampleTextureCube.md) | Sample a cubemap texture using a direction vector and mipmap level. | +| [Sample TextureCubeArray](Operator-SampleTextureCubeArray.md) | Sample a cubemap array using a slice, direction vector, and mipmap level. | +| [Skinned Mesh Index Count](Operator-MeshIndexCount.md) | Get the number of indices in a skinned mesh. | +| [Skinned Mesh Vertex Count](Operator-MeshVertexCount.md) | Get the number of vertices in a skinned mesh. | + +## Additional resources + +- [Noise Operators](Noise.md) +- [Wave Operators](Wave.md) +- [Random Number](Operator-RandomNumber.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/ShaderGraphIntegration.md b/Packages/com.unity.visualeffectgraph/Documentation~/ShaderGraphIntegration.md new file mode 100644 index 00000000000..9ef6bf5b783 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/ShaderGraphIntegration.md @@ -0,0 +1,13 @@ +# Shader Graph integration + +Use [Shader Graph](https://docs.unity3d.com/Manual/shader-graph.html) to create custom shaders for visual effects. + +| **Page** | **Description** | +| --- | --- | +| [Working with Shader Graph in Visual Effect Graph](sg-working-with.md) | Make a shader graph compatible with Visual Effect Graph, and use it to render particles. | +| [Visual Effect Target](sg-target-visual-effect.md) | Create custom lit and unlit shader graphs to use in visual effects. This feature is deprecated and will be removed in a future release. | + +## Additional resources + +- [Working with Shader Graph in Visual Effect Graph](sg-working-with.md) +- [Visual Effect Target](sg-target-visual-effect.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/SharedOutputSettings.md b/Packages/com.unity.visualeffectgraph/Documentation~/SharedOutputSettings.md new file mode 100644 index 00000000000..d0b4e59e0f2 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/SharedOutputSettings.md @@ -0,0 +1,14 @@ +# Shared Output Settings + +Explore the settings that appear in multiple outputs in Visual Effect Graph. + +| Page | Description | +|-|-| +|[Global Settings](Context-OutputSharedSettings.md)|Explore the settings and property that all outputs share. | +|[Lit Output Settings](Context-OutputLitSettings.md)|Explore outputs that receive lighting information, and support texture and material types that relate to lighting. | + +## Additional resources + +- [Output Blocks](Output.md) +- [Output Event Handlers](OutputEventHandlers.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Spawn.md b/Packages/com.unity.visualeffectgraph/Documentation~/Spawn.md new file mode 100644 index 00000000000..4d881dd1710 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Spawn.md @@ -0,0 +1,18 @@ +# Spawn Blocks + +Customize behavior for spawning particles. + +| **Page** | **Description** | +| --- | --- | +| [Constant Spawn Rate](Block-ConstantRate.md) | Spawn a specific number of particles per second. | +| [Single Burst](Block-Burst.md) | Use the Single/Periodic Burst Block to spawn particles instantly either once, or periodically using a delay. | +| [Periodic Burst](Block-Burst.md) | Use the Single/Periodic Burst Block to spawn particles at regular intervals. | +| [Variable Spawn Rate](Block-VariableRate.md) | Spawn a variable number of particles per second. | +| [Attribute > Set Spawn Event ](Block-SetSpawnEvent.md) | Modify the content of attributes stored in the Context event attribute. | +| [Custom](CustomSpawn.md) | Explore blocks that let you customize advanced behavior for spawning particles. | + +## Additional resources + +- [Spawn](Context-Spawn.md) +- [Spawner Callbacks](SpawnerCallbacks.md) +- [Events](Events.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md b/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md index cb405af191a..c9087d6286a 100644 --- a/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md +++ b/Packages/com.unity.visualeffectgraph/Documentation~/TableOfContents.md @@ -30,10 +30,10 @@ * [Property Binders](PropertyBinders.md) * [Event Binders](EventBinders.md) * [Output Event Handlers](OutputEventHandlers.md) -* Shader Graph Integration +* [Shader Graph Integration](ShaderGraphIntegration.md) * [Shader Graphs in Visual Effects](sg-working-with.md) * [Visual Effect Target](sg-target-visual-effect.md) -* Pipeline Tools +* [Pipeline Tools](PipelineTools.md) * [Representing Complex Shapes](representing-complex-shapes.md) * [Signed Distance Fields](sdf-in-vfx-graph.md) * [SDF Bake Tool](sdf-bake-tool.md) @@ -46,7 +46,7 @@ * [Vector Fields](VectorFields.md) * [Spawner Callbacks](SpawnerCallbacks.md) * [Node Library](node-library.md) - * Context + * [Context](Context.md) * [Event](Context-Event.md) * [GPU Event](Context-GPUEvent.md) * [Initialize Particle](Context-Initialize.md) @@ -58,28 +58,26 @@ * [Output Particle HDRP Lit Decal](Context-OutputParticleHDRPLitDecal.md) * [Output Point](Context-OutputPoint.md) * [Output Primitive](Context-OutputPrimitive.md) - * Shared Output Settings + * [Shared Output Settings](SharedOutputSettings.md) * [Global Settings](Context-OutputSharedSettings.md) * [Lit Output Settings](Context-OutputLitSettings.md) * [Spawn](Context-Spawn.md) * [Update Particle](Context-Update.md) - * Block - * Attribute + * [Block](Block.md) + * [Attribute](Attribute.md) * [Curve](Block-SetAttributeFromCurve.md) - * Derived - * [Calculate Mass from Volume](Block-CalculateMassFromVolume.md) + * [Derived > Calculate Mass from Volume](Block-CalculateMassFromVolume.md) * [Map](Block-SetAttributeFromMap.md) * [Set](Block-SetAttribute.md) - * Collision + * [Collision](Block-Collision-LandingPage.md) * [Collide with AABox](Block-CollideWithAABox.md) * [Collide with Cone](Block-CollideWithCone.md) * [Collide with Depth Buffer](Block-CollideWithDepthBuffer.md) * [Collide with Plane](Block-CollideWithPlane.md) * [Collide with Signed Distance Field](Block-CollideWithSignedDistanceField.md) * [Collide with Sphere](Block-CollideWithSphere.md) - * Flipbook - * [Flipbook Player](Block-FlipbookPlayer.md) - * Force + * [Flipbook > Flipbook Player](Block-FlipbookPlayer.md) + * [Force](Force.md) * [Conform to Signed Distance Field](Block-ConformToSignedDistanceField.md) * [Conform to Sphere](Block-ConformToSphere.md) * [Force](Block-Force.md) @@ -87,27 +85,27 @@ * [Linear Drag](Block-LinearDrag.md) * [Turbulence](Block-Turbulence.md) * [Vector Force Field](Block-VectorForceField.md) - * GPU Event + * [GPU Event](GPUEventLandingPage.md) * [Trigger Event Always](Block-TriggerEventAlways.md) * [Trigger Event On Die](Block-TriggerEventOnDie.md) * [Trigger Event Rate](Block-TriggerEventRate.md) - * Implicit + * [Implicit](Implicit.md) * [Integration : Update Position](Block-UpdatePosition.md) * [Integration : Update Rotation](Block-UpdateRotation.md) - * Kill + * [Kill](Kill.md) * [Kill (AABox)](Block-Kill(AABox).md) * [Kill (Sphere)](Block-Kill(Sphere).md) - * Orientation + * [Orientation](Orientation.md) * [Connect Target](Block-ConnectTarget.md) * [Orient](Block-Orient.md) - * Output + * [Output](Output.md) * [Camera Fade](Block-CameraFade.md) * [Subpixel Anti-Aliasing](Block-SubpixelAntiAliasing.md) - * Position + * [Set Position Blocks](Block-SetPositionShape-LandingPage.md) * [Set Position (Depth)](Block-SetPosition(Depth).md) - * [Position (Mesh)](Block-SetPosition(Mesh).md) - * [Position (Signed Distance Field)](Block-SetPosition(SignedDistanceField).md) - * [Position (Skinned Mesh)](Block-SetPosition(Mesh).md) + * [Set Position (Mesh)](Block-SetPosition(Mesh).md) + * [Set Position (Signed Distance Field)](Block-SetPosition(SignedDistanceField).md) + * [Set Position (Skinned Mesh)](Block-SetPosition(Mesh).md) * [Set Position (Sequential : Circle)](Block-SetPosition(Sequential).md) * [Set Position (Sequential : Line)](Block-SetPosition(Sequential).md) * [Set Position (Sequential : ThreeDimensional)](Block-SetPosition(Sequential).md) @@ -118,27 +116,25 @@ * [Set Position (Shape : Sphere)](Block-SetPosition(Sphere).md) * [Set Position (Sequential)](Block-SetPosition(Sequential).md) * [Tile/Warp Positions](Block-TileWarpPositions.md) - * Size - * [Screen Space Size](Block-ScreenSpaceSize.md) - * Spawn + * [Size > Screen Space Size](Block-ScreenSpaceSize.md) + * [Spawn](Spawn.md) * [Constant Spawn Rate](Block-ConstantRate.md) * [Periodic Burst](Block-Burst.md) * [Single Burst](Block-Burst.md) * [Variable Spawn Rate](Block-VariableRate.md) - * Attribute - * [Set Spawn Event \](Block-SetSpawnEvent.md) - * Custom + * [Attribute > Set Spawn Event \](Block-SetSpawnEvent.md) + * [Custom Spawn Blocks](CustomSpawn.md) * [Increment Strip Index On Start](Block-IncrementStripIndexOnStart.md) * [Set Spawn Time](Block-SetSpawnTime.md) * [Spawn Over Distance](Block-SpawnOverDistance.md) - * Velocity + * [Velocity](Velocity.md) * [Velocity from Direction & Speed (Change Speed)](Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md) * [Velocity from Direction & Speed (New Direction)](Block-VelocityFromDirectionAndSpeed(NewDirection).md) * [Velocity from Direction & Speed (Random Direction)](Block-VelocityFromDirectionAndSpeed(RandomDirection).md) * [Velocity from Direction & Speed (Spherical)](Block-VelocityFromDirectionAndSpeed(Spherical).md) * [Velocity from Direction & Speed (Tangent)](Block-VelocityFromDirectionAndSpeed(Tangent).md) - * Operator - * Attribute + * [Operator](Operator.md) + * [Attribute](OperatorAttribute.md) * [Age Over Lifetime](Operator-AgeOverLifetime.md) * [Get Attribute: age](Operator-GetAttributeAge.md) * [Get Attribute: alive](Operator-GetAttributeAlive.md) @@ -168,29 +164,29 @@ * [Get Attribute: texIndex](Operator-GetAttributeTexIndex.md) * [Get Attribute: velocity](Operator-GetAttributeVelocity.md) * [Get Custom Attribute](Operator-GetCustomAttribute.md) - * Bitwise + * [Bitwise](Bitwise.md) * [And](Operator-BitwiseAnd.md) * [Complement](Operator-BitwiseComplement.md) * [Left Shift](Operator-BitwiseLeftShift.md) * [Or](Operator-BitwiseOr.md) * [Right Shift](Operator-BitwiseRightShift.md) * [Xor](Operator-BitwiseXor.md) - * Builtin + * [Built-in](Builtin.md) * [Delta Time](Operator-DeltaTime.md) * [Frame Index](Operator-FrameIndex.md) * [Local to World](Operator-LocalToWorld.md) - * [Main Camera](Operator-MainCamera.md) * [System Seed](Operator-SystemSeed.md) * [Total Time](Operator-TotalTime.md) * [World to Local](Operator-WorldToLocal.md) - * Camera + * [Camera](Camera.md) + * [Main Camera](Operator-MainCamera.md) * [Viewport to World Point](Operator-ViewportToWorldPoint.md) * [World to Viewport Point](Operator-WorldToViewportPoint.md) - * Color + * [Color](Color.md) * [Color Luma](Operator-ColorLuma.md) * [HSV to RGB](Operator-HSVToRGB.md) * [RBG to HSV](Operator-RGBToHSV.md) - * Inline + * [Inline](Inline.md) * [AABox](Operator-InlineAABox.md) * [AnimationCurve](Operator-InlineAnimationCurve.md) * [ArcCircle](Operator-InlineArcCircle.md) @@ -228,7 +224,7 @@ * [Vector2](Operator-InlineVector2.md) * [Vector3](Operator-InlineVector3.md) * [Vector4](Operator-InlineVector4.md) - * Logic + * [Logic](Logic.md) * [And](Operator-LogicAnd.md) * [Branch](Operator-Branch.md) * [Compare](Operator-Compare.md) @@ -238,8 +234,8 @@ * [Or](Operator-LogicOr.md) * [Probability Sampling](Operator-ProbabilitySampling.md) * [Switch](Operator-Switch.md) - * Math - * Arithmetic + * [Math](Math.md) + * [Arithmetic](Arithmetic.md) * [Absolute](Operator-Absolute.md) * [Add](Operator-Add.md) * [Divide](Operator-Divide.md) @@ -257,7 +253,7 @@ * [Square Root](Operator-SquareRoot.md) * [Step](Operator-Step.md) * [Subtract](Operator-Subtract.md) - * Clamp + * [Clamp](Clamp.md) * [Ceiling](Operator-Ceiling.md) * [Clamp](Operator-Clamp.md) * [Discretize](Operator-Discretize.md) @@ -266,17 +262,16 @@ * [Minimum](Operator-Minimum.md) * [Round](Operator-Round.md) * [Saturate](Operator-Saturate.md) - * Constants + * [Constants](Constants.md) * [Epsilon](Operator-Epsilon.md) * [Pi](Operator-Pi.md) - * Coordinates + * [Coordinates](Coordinates.md) * [Polar to Rectangular](Operator-PolarToRectangular.md) * [Rectangular to Polar](Operator-RectangularToPolar.md) * [Rectangular to Spherical](Operator-RectangularToSpherical.md) * [Spherical to Rectangular](Operator-SphericalToRectangular.md) - * Exp - * [Exp](Operator-Exp.md) - * Geometry + * [Exp](Operator-Exp.md) + * [Geometry](Geometry.md) * [Area (Circle)](Operator-Area(Circle).md) * [Change Space](Operator-ChangeSpace.md) * [Distance (Line)](Operator-Distance(Line).md) @@ -295,13 +290,12 @@ * [Volume (Oriented Box)](Operator-Volume(OrientedBox).md) * [Volume (Sphere)](Operator-Volume(Sphere).md) * [Volume (Torus)](Operator-Volume(Torus).md) - * Log - * [Log](Operator-Log.md) - * Remap + * [Log](Operator-Log.md) + * [Remap](Remap.md) * [Remap](Operator-Remap.md) * [Remap [0..1] => [-1..1]](Operator-Remap(-11).md) * [Remap [-1..1] => [0..1]](Operator-Remap(01).md) - * Trigonometry + * [Trigonometry](Trigonometry.md) * [Acos](Operator-Acos.md) * [Asin](Operator-Asin.md) * [Atan](Operator-Atan.md) @@ -309,7 +303,7 @@ * [Cosine](Operator-Cosine.md) * [Sine](Operator-Sine.md) * [Tangent](Operator-Tangent.md) - * Vector + * [Vector](Vector.md) * [Append Vector](Operator-AppendVector.md) * [Construct Matrix](Operator-ConstructMatrix.md) * [Cross Product](Operator-CrossProduct.md) @@ -324,21 +318,20 @@ * [Squared Distance](Operator-SquaredDistance.md) * [Squared Length](Operator-SquaredLength.md) * [Swizzle](Operator-Swizzle.md) - * Wave + * [Wave](Wave.md) * [Sawtooth Wave](Operator-SawtoothWave.md) * [Sine Wave](Operator-SineWave.md) * [Square Wave](Operator-SquareWave.md) * [Triangle Wave](Operator-TriangleWave.md) - * Noise + * [Noise](Noise.md) * [Cellular Curl Noise](Operator-CellularCurlNoise.md) * [Cellular Noise](Operator-CellularNoise.md) * [Perlin Curl Noise](Operator-PerlinCurlNoise.md) * [Perlin Noise](Operator-PerlinNoise.md) * [Value Curl Noise](Operator-ValueCurlNoise.md) * [Value Noise](Operator-ValueNoise.md) - * Random - * [Random Number](Operator-RandomNumber.md) - * Sampling + * [Random > Random Number](Operator-RandomNumber.md) + * [Sampling](Sampling.md) * [Buffer Count](Operator-BufferCount.md) * [Get Texture Dimensions](Operator-GetTextureDimensions.md) * [Load CameraBuffer](Operator-LoadCameraBuffer.md) @@ -364,11 +357,9 @@ * [Sample TextureCubeArray](Operator-SampleTextureCubeArray.md) * [Skinned Mesh Index Count](Operator-MeshIndexCount.md) * [Skinned Mesh Vertex Count](Operator-MeshVertexCount.md) - * Spawn - * [Spawn State](Operator-SpawnState.md) - * Utility - * [Point Cache](Operator-PointCache.md) -* Reference + * [Spawn > Spawn State](Operator-SpawnState.md) + * [Utility > Point Cache](Operator-PointCache.md) +* [Reference](Reference.md) * [Standard Attributes](Reference-Attributes.md) * [Types](VisualEffectGraphTypeReference.md) * [AABox](Type-AABox.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Trigonometry.md b/Packages/com.unity.visualeffectgraph/Documentation~/Trigonometry.md new file mode 100644 index 00000000000..0d3658633e8 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Trigonometry.md @@ -0,0 +1,18 @@ +# Trigonometric Operators + +Perform trigonometric calculations. + +| **Page** | **Description** | +| --- | --- | +| [Acos](Operator-Acos.md) | Calculate the arccosine (inverse cosine) of an input. | +| [Asin](Operator-Asin.md) | Calculate the arcsine (inverse sine) of an input. | +| [Atan](Operator-Atan.md) | Calculate the arctangent (inverse tangent) of an input. | +| [Atan2](Operator-Atan2.md) | Calculate the angle between the x-axis and a vector. | +| [Cosine](Operator-Cosine.md) | Calculate the cosine of an input. | +| [Sine](Operator-Sine.md) | Calculate the sine of an input. | +| [Tangent](Operator-Tangent.md) | Calculate the tangent of an input. | + +## Additional resources + +- [Math Operators](Math.md) + diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Vector.md b/Packages/com.unity.visualeffectgraph/Documentation~/Vector.md new file mode 100644 index 00000000000..d46a00d38b6 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Vector.md @@ -0,0 +1,25 @@ +# Vector Operators + +Perform vector and matrix calculations. + +| **Page** | **Description** | +| --- | --- | +| [Append Vector](Operator-AppendVector.md) | Combine up to four inputs into a single vector. | +| [Construct Matrix](Operator-ConstructMatrix.md) | Construct a 4x4 matrix from four `Vector4` values. | +| [Cross Product](Operator-CrossProduct.md) | Calculate the vector that's perpendicular to two input vectors | +| [Distance](Operator-Distance.md) | Calculate the distance between two points. | +| [Dot Product](Operator-DotProduct.md) | Determine whether two normalized vectors point in the same direction. | +| [Length](Operator-Length.md) | Calculate the length of a vector. | +| [Look At](Operator-LookAt.md) | Calculate the transform required to rotate a particle to look at a position. | +| [Normalize](Operator-Normalize.md) | Normalize a vector. | +| [Rotate 2D](Operator-Rotate2D.md) | Rotate a point in 2D around a center point. | +| [Rotate 3D](Operator-Rotate3D.md) | Rotate a point in 3D around a center point. | +| [Sample Bezier](Operator-SampleBezier.md) | Return information about a curve. | +| [Squared Distance](Operator-SquaredDistance.md) | Calculate the square of the distance between two points. | +| [Squared Length](Operator-SquaredLength.md) | Calculate the square of the length of a vector. | +| [Swizzle](Operator-Swizzle.md) | Rearrange the components of an input vector. | + +## Additional resources + +- [Math Operators](Math.md) +- [Geometry Operators](Geometry.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Velocity.md b/Packages/com.unity.visualeffectgraph/Documentation~/Velocity.md new file mode 100644 index 00000000000..cb14d7ffd83 --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Velocity.md @@ -0,0 +1,16 @@ +# Velocity Blocks + +Dynamically adjust the velocity of particles. + +| **Page** | **Description** | +| --- | --- | +| [Velocity from Direction & Speed (Change Speed)](Block-VelocityFromDirectionAndSpeed(ChangeSpeed).md) | Calculate velocity by scaling the direction of the particle using its speed. | +| [Velocity from Direction & Speed (New Direction)](Block-VelocityFromDirectionAndSpeed(NewDirection).md) | Calculate velocity by scaling a new direction vector using the speed of the particle. | +| [Velocity from Direction & Speed (Random Direction)](Block-VelocityFromDirectionAndSpeed(RandomDirection).md) | Calculate velocity by scaling a random direction vector using the speed of the particle. | +| [Velocity from Direction & Speed (Spherical)](Block-VelocityFromDirectionAndSpeed(Spherical).md) | Calculate velocity by scaling a spherical direction vector using the speed of the particle. | +| [Velocity from Direction & Speed (Tangent)](Block-VelocityFromDirectionAndSpeed(Tangent).md) | Calculate velocity by scaling a tangent direction vector using the speed of the particle. | + +## Additional resources + +- [Force Blocks](Force.md) +- [Implicit Integration Blocks](Implicit.md) diff --git a/Packages/com.unity.visualeffectgraph/Documentation~/Wave.md b/Packages/com.unity.visualeffectgraph/Documentation~/Wave.md new file mode 100644 index 00000000000..abe7993164e --- /dev/null +++ b/Packages/com.unity.visualeffectgraph/Documentation~/Wave.md @@ -0,0 +1,18 @@ +# Wave Operators + +Generate waveforms, for example to control the behavior of particles over time. + +| **Page** | **Description** | +| --- | --- | +| [Sawtooth Wave](Operator-SawtoothWave.md) | Generate a waveform that increases, then resets and repeats. | +| [Sine Wave](Operator-SineWave.md) | Generate a waveform that smoothly oscillates between two values. | +| [Square Wave](Operator-SquareWave.md) | Generate a value that alternates between two values. | +| [Triangle Wave](Operator-TriangleWave.md) | Generate a value that oscillates between two values. | + +## Additional resources + +- [Noise Operators](Noise.md) +- [Math Operators](Math.md) +- [Sampling Operators](Sampling.md) + +