summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2025-02-14 22:11:11 +0100
committermetamuffin <metamuffin@disroot.org>2025-02-14 22:11:11 +0100
commit8471a26576c76a7b45b5161f23d167f9811b8fe6 (patch)
tree8fc18650bc9c08e03a4757e412c6aed643343dc8 /doc
parentb09d0c83c11f6b3b398e0e36589719296dca0c33 (diff)
downloadweareserver-8471a26576c76a7b45b5161f23d167f9811b8fe6.tar
weareserver-8471a26576c76a7b45b5161f23d167f9811b8fe6.tar.bz2
weareserver-8471a26576c76a7b45b5161f23d167f9811b8fe6.tar.zst
particles part
Diffstat (limited to 'doc')
-rw-r--r--doc/resources.md21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/resources.md b/doc/resources.md
index a382858..13335eb 100644
--- a/doc/resources.md
+++ b/doc/resources.md
@@ -31,6 +31,7 @@
| `collision` | `Affine3`, `Res<ColliderPart>` | Multi key |
| `light` | `Vec3`, `Res<LightPart>` | Multi key |
| `armature` | `Res<ArmaturePart>` | Multi key |
+| `particles` | `Res<ParticlesPart>` | Multi key |
| `environment` | `Res<EnvironmentPart>` | |
## MeshPart
@@ -45,6 +46,7 @@ white except normals are zero.
| `name` | `String` | |
| `index` | `Res<[u32; 3]>` | |
| `armature` | `u32` | |
+| `billboard` | | |
| `g_metallic` | `Float` | |
| `g_roughness` | `Float` | |
| `g_albedo` | `Vec3` | |
@@ -81,6 +83,7 @@ white except normals are zero.
| `hint_mirror` | | |
| `hint_hide_first_person` | | |
| `hint_static` | | |
+| `hint_volume` | | |
- **Attenuation**: Attenuation coefficient for each color channel due to
scattering within the material volume expressed as e-folding distance (m^-1).
@@ -101,10 +104,15 @@ white except normals are zero.
the mirrors perspective. It can be assumed that the mesh is on a single plane.
- **Static Hint**: Object will not move often. This allows implementations to
choose instanced rending when MeshPart are added more than once.
+- **Volume Hint**: The material's attenuation is important for the scene and
+ should be rendered as a volume and not approximated when rendering the
+ surface.
- **Hide First-Person Hint**: Object should not be rendered if the prefab is the
own avatar and first person view is used. This is set for the head and hair
that should not be visible to yourself. See `thirdPersonOnly` variant of
[VRMC_vrm] `firstPerson.meshAnnotations.firstPersonFlag`.
+- **Billboard**: Always draw the mesh rotated to match camera space, i.e.
+ looking at the mesh from -Z with X pointing sideways right.
## ArmaturePart
@@ -150,6 +158,19 @@ inherited. Attribute values are zipped similar to vertex attributes.
- **Sun**: Direction is a normal vector, color is illuminance of each channel in
lux.
+## ParticlesPart
+
+| Key | Value Type | |
+| ----------------- | ---------- | -------------------- |
+| `sprite` | `MeshPart` | |
+| `density` | `Float` | in avr. particles/m³ |
+| `lifetime` | `Float` | |
+| `lifetime_spread` | `Float` | |
+| `velocity` | `Vec3` | |
+| `velocity_spread` | `Vec3` | |
+
+**Spread**: Expressed as the standard deviation from the center/bias value.
+
## Texture
WebP