Skip to content

Commit 482ffb8

Browse files
author
Christopher Remde
committed
Updated docs with Normal Feature
1 parent b33d752 commit 482ffb8

File tree

7 files changed

+43
-19
lines changed

7 files changed

+43
-19
lines changed

docs/content/docs/about/license-credits.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,10 @@ The Unity Asset Store version of the package is licensed under the [Unity Standa
2727

2828
## Credits
2929

30-
The sequences in the showreel, from the landing page and on Github, were created by:
30+
- This website was created with the **[Doks](https://getdoks.org/)** theme made by **[Thulite](https://thulite.io/)**
3131

32-
["A Windy Day2 by Loic Norgeot](https://sketchfab.com/3d-models/a-windy-day-fb78f4cc938144e6902dd5cff354d525)
32+
- The sequences in the showreel, from the landing page and on Github, were created by:
3333

34-
["Galactic Incident2 by Loic Norgeot](https://sketchfab.com/3d-models/galactic-incident-397b266af9604b9fbf0a4e5446cf864b)
34+
- ["A Windy Day2 by Loic Norgeot](https://sketchfab.com/3d-models/a-windy-day-fb78f4cc938144e6902dd5cff354d525)
35+
36+
- ["Galactic Incident2 by Loic Norgeot](https://sketchfab.com/3d-models/galactic-incident-397b266af9604b9fbf0a4e5446cf864b)
701 Bytes
Loading

docs/content/docs/tutorials/materials/index.md

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,9 @@ toc: true
1515

1616
## Intro
1717

18-
To enhance the appearance of your sequences, you can apply your own custom Materials and Shaders.
18+
To enhance the appearance of your sequences, you can apply your own custom Materials and Shaders. If you don't supply a material, an appropriate default material will be automatically assigned.
19+
20+
By default, an **unlit** material will be assigned to the sequence, which means they won't be affected by the scene lighting. Lit materials can either be created by yourself, or you can use one of the materials available under `Packages/Geometry Sequence Player/Runtime/Materials/Your selected Renderpath`
1921

2022
## Mesh sequences
2123

@@ -43,6 +45,12 @@ Changing the appearance of the pointcloud works very differently compared to mes
4345

4446
### Pointcloud Render Path
4547

48+
The Geometry Sequence Player supports three different render paths:
49+
50+
- **ShaderGraph**
51+
- **Legacy**
52+
- **Polyspatial**
53+
4654
In Unity, there are two basic ways to create shaders. You can either code them yourselves, or use the visual coding tool _Shadergraph_. Both paths are supported by the Geometry Sequence Player, and with this option you can manually choose which should be used. For HDRP, URP and built-in (with the shadergraph package installed), we recommend the **Shadergraph** path. If you are more comfortable with coding shaders, or you use the built-in render without the shadergraph package, the **Legacy** render path is right for you. The **Polyspatial** render path should only be used when working with the Apple Vision Pro.
4755

4856
### Pointcloud size
2.95 KB
Loading
-7.21 KB
Loading

docs/content/docs/tutorials/prepare-data/index.md

Lines changed: 29 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,24 @@ And for images:
7272

7373
### Using the converter
7474

75-
1. Click on ***Select Input Directory*** and select the folder containing the files. ![Converter Select Input](Converter_SelectInput.png)
75+
1. Click on ***Select Input Directory*** and select the folder containing the files.
76+
![Converter Select Input](Converter_SelectInput.png)
7677

77-
2. You can now optionally choose an output directory. If you don't choose one, a folder named *converted* will be created inside your sequence directory. ![Converter Select Drive](Converter_SelectOutput.png)
78+
2. You can now optionally choose an output directory. If you don't choose one, a folder named *converted* will be created inside your sequence directory.
79+
![Converter Select Drive](Converter_SelectOutput.png)
7880

79-
3. The converter provides some settings which can be used to modify the sequence: ![Converter Select Input](Converter_Options.png)
81+
3. The converter provides some settings which can be used to modify the sequence:
82+
![Converter Select Input](Converter_Options.png)
8083

81-
- **Generate textures for desktop devices (DDS):** This converts the textures into a format for desktop GPUs. Recommended to leave on, even when you only build for mobile devices, otherwise textures won't show up in the Unity editor.
82-
- **Generate textures for mobile devices (ASTC):** If you plan to distribute your application on mobile devices (Android, IPhone, Meta Quest, Apple Vision Pro) and use textured meshes, you need to also generate .astc textures. You only need to transfer the .astc textures to your device, but not the .dds textures.
83-
- **Convert to SRGB profile:** Activate when your textures look noticably darker / brighter after the conversion
84-
- **Decimate Pointcloud:** You can downsize your pointcloud sequence with this option. The value determines the percentage of points left after conversion. E.g. setting the value to 30% will decrease the points of the sequence by 70%.
84+
- **Save normals:** When enabled, the normals of the mesh or pointcloud sequence are exported. Only recommended to enable if you have custom normals
85+
- **Pointcloud Settings:** Only affects pointclouds
86+
- **Decimate Pointcloud:** You can downsize your pointcloud sequence with this option. The value determines the percentage of points left after conversion. E.g. setting the value to 30% will decrease the points of the sequence by 70%.
87+
- **Merge Points by Distance:** Merges points that are close together. The higher the value, the more points will be merged. Useful if the data contains duplicated points
88+
- **Estimate Normals:** Pointclouds usually don't come with normals. When this option is enabled, the normals will be reasonably estimated.
89+
- **Texture Settings** Only affects mesh sequences with textures
90+
- **Generate textures for desktop devices (DDS):** This converts the textures into a format for desktop GPUs. Recommended to leave on, even when you only build for mobile devices, otherwise textures won't show up in the Unity editor.
91+
- **Generate textures for mobile devices (ASTC):** If you plan to distribute your application on mobile devices (Android, IPhone, Meta Quest, Apple Vision Pro) and use textured meshes, you need to also generate .astc textures. You only need to transfer the .astc textures to your device, but not the .dds textures.
92+
- **Convert to SRGB profile:** Activate when your textures look noticably darker / brighter after the conversion
8593

8694
4. When you've set your input/output folders, click on ***Start Conversion***. You can optionally choose the amount of threads used for the conversion, which might come in handy for heavy/large sequences. ![Converter Select Drive](Converter_Start_Threads.png)
8795

@@ -93,7 +101,7 @@ If you want to export your data into the correct format directly, without using
93101

94102
### Pointcloud .ply files
95103

96-
For .ply files containing pointclouds, use the normal **little endian binary** .ply standard, but be sure to encode the **vertex positions as 32-bit floats** (not doubles), and use the **vertex colors as uchar RGBA**. You always need to provide the red, green, blue and alpha channel, even when your sequence doesn't use alpha values or colors at all. The alpha channel isn't used in the plugin right now, but it allows for faster file reads, as RGBA is the native Unity vertex color format. Don't include any vertex indices! Here is an example of how the header of a ply looks that is correctly formatted:
104+
For .ply files containing pointclouds, use the normal **little endian binary** .ply standard, but be sure to encode the **vertex positions and normals as 32-bit floats** (not doubles), and use the **vertex colors as uchar RGBA**. You always need to provide the red, green, blue and alpha channel, even when your sequence doesn't use alpha values or colors at all. Normals are optional, and don't have to be used. Here is an example of how the header of a ply looks that is correctly formatted:
97105

98106
```ply
99107
ply
@@ -103,22 +111,25 @@ element vertex 50000
103111
property float x
104112
property float y
105113
property float z
114+
property float nx
115+
property float ny
116+
property float nz
106117
property uchar red
107118
property uchar green
108119
property uchar blue
109120
property uchar alpha
110121
end_header
111122
```
112123

113-
As an example for how the data for a a single vertex (line) could look like this. Three XZY-Float values are followed by four RGBA byte/uchar values:
124+
As an example for how the data for a a single vertex (line) could look like this. Three float position values are followed by another three normal floats and four RGBA byte/uchar values:
114125

115126
```ply
116-
0.323434 0.55133 1.44322 255 255 255 0
127+
0.323434 0.55133 1.44322 0.65453 0.23645 0.65372 255 255 255 0
117128
```
118129

119130
### Mesh .ply files
120131

121-
For .ply files containing meshes, you use the same **little endian binary** format as for the pointclouds, with the **vertex positions encoded as 32-bit floats**. Encode the **face indices as a uchar uint list**, as it is commonly done in the ply format. Only encode **faces as triangles**, so the uchar component of the face indices list should always be "3", the uInts should be 32-bit.
132+
For .ply files containing meshes, you use the same **little endian binary** format as for the pointclouds, with the **vertex positions encoded as 32-bit floats**. Encode the **face indices as a uchar uint list**, as it is commonly done in the ply format. Only encode **faces as triangles**, so the uchar component of the face indices list should always be "3". Optionally, you can also supplement **per vertex normals** with the nx, ny and nz properties.
122133
If you want to use textures/UV-coordinates, include the **U and V-coordinates as additional float propertys (property s and property t)** right behind the xyz properties.
123134
An example header of a correctly formatted mesh ply file with UV-coordinates would look like this:
124135

@@ -130,20 +141,23 @@ element vertex 73200
130141
property float x
131142
property float y
132143
property float z
144+
property float nx
145+
property float ny
146+
property float nz
133147
property float s
134148
property float t
135149
element face 138844
136150
property list uchar uint vertex_indices
137151
end_header
138152
```
139153

140-
The data for a single vertex (line) would look like this. Three XYZ-float values, followed by two float values for the UV-coordinates:
154+
The data for a single vertex (line) would look like this. Three vertex position floats, followed by three vertex normal floats and two float values for the UV-coordinates:
141155

142156
```ply
143-
0.323434 0.55133 1.44322 0.231286 0.692901
157+
0.323434 0.55133 1.44322 0.65453 0.23645 0.65372 0.231286 0.692901
144158
```
145159

146-
The data for a single indice (line) in the index list could look like this:
160+
The data for a single indice (line) in the index list could look like this. The indice list is appended after the vertex list:
147161

148162
```ply
149163
3 56542 56543 56544
@@ -168,6 +182,7 @@ The sequence.json file contains information about your sequence in the following
168182
"DDS": true, //Does this sequence have .dds textures?
169183
"ASTC": false, //Does this sequence have .astc textures?
170184
"hasUVs": true, //If using a mesh, does it have UVs?
185+
"hasNormals": false, //Are per-vertex normals used?
171186
"maxVertexCount": 26545, //The vertice count of the mesh/pointcloud with the highest vertice count in the whole sequence
172187
"maxIndiceCount": 55423, //The indice count of the mesh/pointcloud with the highest indice count in the whole sequence
173188
"maxBounds": [325.8575134277344, 295.0, 2103.5478515625, -18.240554809570312, -238.74757385253906, 0], //Bounds of the mesh in the format: MaxboundX, MaxboundY, MaxboundZ, MinboundX, MinboundY, MinboundZ

docs/hugo_stats.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,6 @@
245245
"android",
246246
"apple-vision-pro",
247247
"assigning-materials",
248-
"bounded-mode",
249248
"bounded-mode--polyspatial",
250249
"build-and-ship",
251250
"clearsequence",

0 commit comments

Comments
 (0)