├── .github
└── workflows
│ └── deploy-github.yml
├── .gitignore
├── .gitmodules
├── Assets
├── Cube_Base_Logo.afphoto
├── GSS_Logo.afphoto
├── GSS_Logo_Title.afphoto
├── GS_Player_Icon.afphoto
├── GS_Player_Icon.png
├── GS_Stream_Icon.png
└── gss_logo.png
├── Converter
├── .gitignore
├── .vscode
│ └── launch.json
├── Sequence_Converter.py
├── Sequence_Converter_UI.py
├── Sequence_Metadata.py
└── resources
│ ├── astcenc.exe
│ ├── logo.ico
│ ├── logo.svg
│ └── texconv.exe
├── LICENSE
├── README.md
├── Unity_Test_Project
├── .gitignore
├── .vsconfig
├── Assets
│ ├── AutoSceneLoader.cs
│ ├── AutoSceneLoader.cs.meta
│ ├── Basic_Build_Sample.unity
│ ├── Basic_Build_Sample.unity.meta
│ ├── Basic_Build_Sample_PC.unity
│ ├── Basic_Build_Sample_PC.unity.meta
│ ├── Editor.meta
│ ├── Editor
│ │ ├── BumpUpPackageVersionAndCopySamples.cs
│ │ └── BumpUpPackageVersionAndCopySamples.cs.meta
│ ├── EmptyScene.unity
│ ├── EmptyScene.unity.meta
│ ├── Samples.meta
│ ├── TestMat.mat
│ └── TestMat.mat.meta
├── Packages
│ ├── manifest.json
│ └── packages-lock.json
├── ProjectSettings
│ ├── AudioManager.asset
│ ├── BurstAotSettings_Android.json
│ ├── BurstAotSettings_StandaloneWindows.json
│ ├── ClusterInputManager.asset
│ ├── CommonBurstAotSettings.json
│ ├── DynamicsManager.asset
│ ├── EditorBuildSettings.asset
│ ├── EditorSettings.asset
│ ├── GraphicsSettings.asset
│ ├── InputManager.asset
│ ├── MemorySettings.asset
│ ├── MultiplayerManager.asset
│ ├── NavMeshAreas.asset
│ ├── NetworkManager.asset
│ ├── PackageManagerSettings.asset
│ ├── Packages
│ │ └── com.unity.services.core
│ │ │ └── Settings.json
│ ├── Physics2DSettings.asset
│ ├── PresetManager.asset
│ ├── ProjectSettings.asset
│ ├── ProjectVersion.txt
│ ├── QualitySettings.asset
│ ├── SceneTemplateSettings.json
│ ├── TagManager.asset
│ ├── TimeManager.asset
│ ├── TimelineSettings.asset
│ ├── UnityAdsSettings.asset.meta
│ ├── UnityConnectSettings.asset
│ ├── VFXManager.asset
│ └── VersionControlSettings.asset
└── UserSettings
│ ├── EditorUserSettings.asset
│ ├── Layouts
│ ├── CurrentMaximizeLayout.dwlt
│ ├── default-2021.dwlt
│ ├── default-2022.dwlt
│ └── default-6000.dwlt
│ ├── Search.index
│ └── Search.settings
└── docs
├── .editorconfig
├── .eslintignore
├── .eslintrc.json
├── .gitignore
├── .markdownlint-cli2.jsonc
├── .npmrc
├── .stylelintignore
├── .stylelintrc.json
├── assets
├── cover.png
├── favicon.ico
├── favicon.png
├── favicon.svg
├── images
│ └── .gitkeep
├── js
│ └── custom.js
├── jsconfig.json
├── mask-icon.svg
├── scss
│ └── common
│ │ ├── _custom.scss
│ │ └── _variables-custom.scss
└── svgs
│ └── .gitkeep
├── babel.config.js
├── config
├── _default
│ ├── hugo.toml
│ ├── languages.toml
│ ├── markup.toml
│ ├── menus
│ │ └── menus.en.toml
│ ├── module.toml
│ └── params.toml
├── next
│ └── hugo.toml
├── postcss.config.js
└── production
│ └── hugo.toml
├── content
├── _index.md
├── docs
│ ├── .vscode
│ │ └── settings.json
│ ├── _index.md
│ ├── about
│ │ ├── _index.md
│ │ ├── building-volumes.md
│ │ ├── changelog.md
│ │ └── license-credits.md
│ ├── help
│ │ ├── _index.md
│ │ ├── contact.md
│ │ ├── issues.md
│ │ └── support.png
│ ├── quickstart
│ │ ├── _index.md
│ │ ├── own-data-usage
│ │ │ ├── Converter_Start_Threads.png
│ │ │ └── index.md
│ │ └── quick-start
│ │ │ ├── index.md
│ │ │ └── package_manager_git.png
│ └── tutorials
│ │ ├── _index.md
│ │ ├── distribution
│ │ ├── create_streamingassets.png
│ │ ├── index.md
│ │ ├── set_persistentdata_path.png
│ │ └── set_streamingassets_path.png
│ │ ├── editor-playback
│ │ ├── editor_playback_add_component.png
│ │ ├── editor_playback_fps.png
│ │ ├── editor_playback_gameobject.png
│ │ ├── editor_playback_open_sequence.png
│ │ ├── editor_playback_player_component.afphoto
│ │ ├── editor_playback_player_component.png
│ │ ├── editor_playback_stream_component.png
│ │ └── index.md
│ │ ├── installation
│ │ ├── index.md
│ │ ├── package_manager_add.png
│ │ ├── package_manager_git.png
│ │ └── package_manager_install_storebought.png
│ │ ├── prepare-data
│ │ ├── Converter_Options.png
│ │ ├── Converter_SelectFolder_newfolder.png
│ │ ├── Converter_SelectInput.png
│ │ ├── Converter_SelectOutput.png
│ │ ├── Converter_Start_Threads.png
│ │ └── index.md
│ │ ├── samples
│ │ ├── API-Example.png
│ │ ├── index.bck
│ │ ├── index.md
│ │ ├── package_manager_samples.png
│ │ └── timeline-playback.png
│ │ ├── scripting-api
│ │ ├── api_disable_startloop.png
│ │ ├── editor_playback_add_event.png
│ │ └── index.md
│ │ └── timeline-integration
│ │ ├── index.md
│ │ ├── timeline-newgo.png
│ │ ├── timeline-open.png
│ │ ├── timeline_add_Clip.png
│ │ ├── timeline_add_component.png
│ │ ├── timeline_adjust_duration.png
│ │ ├── timeline_assign_stream.png
│ │ ├── timeline_create.png
│ │ ├── timeline_create_track.png
│ │ └── timeline_open_sequence.png
└── versions.md
├── data
└── docs-versions.yml
├── functions
└── hi-from-lambda.js
├── hugo_stats.json
├── i18n
└── en.yaml
├── layouts
├── index.html
└── partials
│ ├── footer
│ └── script-footer-custom.html
│ └── head
│ ├── custom-head.html
│ └── script-header.html
├── netlify.toml
├── package-lock.json
├── package.json
├── static
└── Unity_Package_OpenGraph_logo.png
└── theme.toml
/.github/workflows/deploy-github.yml:
--------------------------------------------------------------------------------
1 | # Deploy your Hyas site to GitHub Pages
2 | name: GitHub Pages
3 |
4 | on:
5 | # Runs on pushes targeting the default branch
6 | push:
7 | branches:
8 | - main
9 |
10 | # Allows you to run this workflow manually from the Actions tab
11 | workflow_dispatch:
12 |
13 | # Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
14 | permissions:
15 | contents: read
16 | pages: write
17 | id-token: write
18 |
19 | # Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
20 | # However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
21 | concurrency:
22 | group: "pages"
23 | cancel-in-progress: false
24 |
25 | # Default to bash
26 | defaults:
27 | run:
28 | shell: bash
29 |
30 | jobs:
31 | # Build job
32 | build:
33 | runs-on: ubuntu-latest
34 | steps:
35 | - name: Checkout
36 | uses: actions/checkout@v4
37 | - name: Setup Node.js
38 | uses: actions/setup-node@v4
39 | with:
40 | node-version: '18'
41 | cache: 'npm'
42 | cache-dependency-path: './docs/package-lock.json'
43 | - name: Setup Pages
44 | id: pages
45 | uses: actions/configure-pages@v4
46 | - name: Install dependencies
47 | working-directory: ./docs
48 | run: "[[ -f package-lock.json || -f npm-shrinkwrap.json ]] && npm ci || true"
49 | - name: Build production website
50 | working-directory: ./docs
51 | env:
52 | # For maximum backward compatibility with Hugo modules
53 | HUGO_ENVIRONMENT: production
54 | HUGO_ENV: production
55 | run: |
56 | npm run build \
57 | -- \
58 | --gc \
59 | --minify \
60 | --baseURL "${{ steps.pages.outputs.base_url }}/"
61 | - name: Upload artifact
62 | uses: actions/upload-pages-artifact@v3
63 | with:
64 | path: ./docs/public
65 |
66 | # Deployment job
67 | deploy:
68 | environment:
69 | name: github-pages
70 | url: ${{ steps.deployment.outputs.page_url }}
71 | runs-on: ubuntu-latest
72 | needs: build
73 | steps:
74 | - name: Deploy to GitHub Pages
75 | id: deployment
76 | uses: actions/deploy-pages@v4
77 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /More_Examples
2 |
3 | Converter/__pycache__/
4 | Converter/.venv/
5 | Converter/Sequence_Converter_UI.spec
6 |
7 | GSS_UnityStore
8 | GSS_Showreel
9 | GSS_Premium
10 | GSS_AVP_Testproject
11 | Unity_Test_Project/Assets/TextMesh Pro/
12 |
--------------------------------------------------------------------------------
/.gitmodules:
--------------------------------------------------------------------------------
1 | [submodule "Geometry_Sequence_Player_Package"]
2 | path = Geometry_Sequence_Player_Package
3 | url = https://github.com/BuildingVolumes/Geometry_Sequence_Player_Package.git
4 | update = merge
5 |
--------------------------------------------------------------------------------
/Assets/Cube_Base_Logo.afphoto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/Cube_Base_Logo.afphoto
--------------------------------------------------------------------------------
/Assets/GSS_Logo.afphoto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/GSS_Logo.afphoto
--------------------------------------------------------------------------------
/Assets/GSS_Logo_Title.afphoto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/GSS_Logo_Title.afphoto
--------------------------------------------------------------------------------
/Assets/GS_Player_Icon.afphoto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/GS_Player_Icon.afphoto
--------------------------------------------------------------------------------
/Assets/GS_Player_Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/GS_Player_Icon.png
--------------------------------------------------------------------------------
/Assets/GS_Stream_Icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/GS_Stream_Icon.png
--------------------------------------------------------------------------------
/Assets/gss_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Assets/gss_logo.png
--------------------------------------------------------------------------------
/Converter/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 | dist/
3 | resources/config.ini
4 |
5 | Geometry_Sequence_Converter_Win64.zip
6 | GeometrySequenceConverter.exe
7 | GeometrySequenceConverter.spec
--------------------------------------------------------------------------------
/Converter/.vscode/launch.json:
--------------------------------------------------------------------------------
1 | {
2 | // Use IntelliSense to learn about possible attributes.
3 | // Hover to view descriptions of existing attributes.
4 | // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
5 | "version": "0.2.0",
6 | "configurations": [
7 | {"name":"Python Debugger: Current File","type":"debugpy","request":"launch","program":"${file}","console":"integratedTerminal"},
8 | {
9 | "name": "Sequence Converter Debug",
10 | "type": "debugpy",
11 | "request": "launch",
12 | "program": "${workspaceFolder}/Sequence_Converter_UI.py",
13 | "console": "integratedTerminal"
14 | }
15 | ]
16 | }
--------------------------------------------------------------------------------
/Converter/Sequence_Metadata.py:
--------------------------------------------------------------------------------
1 | from enum import IntEnum
2 | import json
3 | from threading import Lock
4 |
5 | class GeometryType(IntEnum):
6 | point = 0
7 | mesh = 1
8 | texturedMesh = 2
9 |
10 | class TextureMode(IntEnum):
11 | none = 0
12 | single = 1
13 | perFrame = 2
14 |
15 | class MetaData():
16 | geometryType = GeometryType.point
17 | textureMode = TextureMode.none
18 | DDS = False
19 | ASTC = False
20 | hasUVs = False
21 | maxVertexCount = 0
22 | maxIndiceCount = 0
23 | maxBounds = [0,0,0,0,0,0]
24 | textureWidth = 0
25 | textureHeight = 0
26 | textureSizeDDS = 0
27 | textureSizeASTC = 0
28 | headerSizes = []
29 | verticeCounts = []
30 | indiceCounts = []
31 |
32 | #Ensure that this class can be called from multiple threads
33 | metaDataLock = Lock()
34 |
35 | def get_as_dict(self):
36 |
37 | asDict = {
38 | "geometryType" : int(self.geometryType),
39 | "textureMode" : int(self.textureMode),
40 | "DDS" : self.DDS,
41 | "ASTC" : self.ASTC,
42 | "hasUVs" : self.hasUVs,
43 | "maxVertexCount": self.maxVertexCount,
44 | "maxIndiceCount" : self.maxIndiceCount,
45 | "maxBounds" : self.maxBounds,
46 | "textureWidth" : self.textureWidth,
47 | "textureHeight" : self.textureHeight,
48 | "textureSizeDDS" : self.textureSizeDDS,
49 | "textureSizeASTC" : self.textureSizeASTC,
50 | "headerSizes" : self.headerSizes,
51 | "verticeCounts" : self.verticeCounts,
52 | "indiceCounts" : self.indiceCounts,
53 | }
54 |
55 | return asDict
56 |
57 | def set_metadata_Model(self, vertexCount, indiceCount, headerSize, bounds, geometryType, hasUV, listIndex):
58 |
59 | self.metaDataLock.acquire()
60 |
61 | self.geometryType = geometryType
62 | self.hasUVs = hasUV
63 |
64 | if(vertexCount > self.maxVertexCount):
65 | self.maxVertexCount = vertexCount
66 |
67 | if(indiceCount > self.maxIndiceCount):
68 | self.maxIndiceCount = indiceCount
69 |
70 | for maxBound in range(3):
71 | if self.maxBounds[maxBound] < bounds.max()[maxBound]:
72 | self.maxBounds[maxBound] = bounds.max()[maxBound]
73 |
74 | for minBound in range(3):
75 | if self.maxBounds[minBound + 3] > bounds.min()[minBound]:
76 | self.maxBounds[minBound + 3] = bounds.min()[minBound]
77 |
78 | self.headerSizes[listIndex] = headerSize
79 | self.verticeCounts[listIndex] = vertexCount
80 | self.indiceCounts[listIndex] = indiceCount
81 |
82 | self.metaDataLock.release()
83 |
84 | def set_metadata_texture(self, DDS, ASTC, width, height, sizeDDS, sizeASTC, textureMode):
85 |
86 | self.metaDataLock.acquire()
87 |
88 | if(height > self.textureHeight):
89 | self.textureHeight = height
90 |
91 | if(width > self.textureWidth):
92 | self.textureWidth = width
93 |
94 | if(sizeDDS > self.textureSizeDDS):
95 | self.textureSizeDDS = sizeDDS
96 |
97 | if(sizeASTC > self.textureSizeASTC):
98 | self.textureSizeASTC = sizeASTC
99 |
100 | self.textureMode = textureMode
101 | self.DDS = DDS
102 | self.ASTC = ASTC
103 |
104 | self.metaDataLock.release()
105 |
106 | def write_metaData(self, outputDir):
107 |
108 | self.metaDataLock.acquire()
109 |
110 | outputPath = outputDir + "/sequence.json"
111 | content = self.get_as_dict()
112 | with open(outputPath, 'w') as f:
113 | json.dump(content, f)
114 |
115 | self.metaDataLock.release()
116 |
--------------------------------------------------------------------------------
/Converter/resources/astcenc.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Converter/resources/astcenc.exe
--------------------------------------------------------------------------------
/Converter/resources/logo.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Converter/resources/logo.ico
--------------------------------------------------------------------------------
/Converter/resources/logo.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
--------------------------------------------------------------------------------
/Converter/resources/texconv.exe:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Converter/resources/texconv.exe
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | Geometry Sequence Player © 2025 by Christopher Remde is licensed under Creative Commons Attribution-NonCommercial 4.0 International. To view a copy of this license, visit https://creativecommons.org/licenses/by-nc/4.0/
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | 
2 |
3 | ---
4 |
5 | ### A package for Unity to efficiently playback large pointcloud and (textured) mesh sequences
6 |
7 | [](https://www.youtube.com/watch?v=5HA_HwtjIu0)
8 |
9 |
10 | ### [Quickstart](https://buildingvolumes.github.io/Unity_Geometry_Sequence_Player/docs/quickstart/quick-start/) | [Documentation](https://buildingvolumes.github.io/Unity_Geometry_Sequence_Player/) | [Unity Asset Store](https://u3d.as/3suF) | [Unity Forums Thread](https://discussions.unity.com/t/released-geometry-sequence-player/921802) | [License](#license)
11 |
12 | ## Overview:
13 |
14 | This package for the Unity game engine allows you to playback large and complex geometric sequences. In a geometry sequence, each frame consists out of an individual mesh or pointcloud, which is then shown at short intervalls to create the illusion of a animation, kind of like a 3D flipbook. The package was orginally developed to allow playback of Volumetric Video captures, but can also be used to play any animated 3D-sequences, that are unsuitable for bone or blendshape workflows, like for example...
15 |
16 | ## Usecases:
17 |
18 | Pointclouds | Meshes | Textured Meshes
19 | :-------------------------:|:-------------------------:|:-------------------------:
20 |  |  | 
21 |
22 |
23 |
24 | - 🌊 Pre-Rendered fluid caches
25 | - ⛓️💥 Baked Physiscs simulations
26 | - 🟧 Animated Procedural meshes
27 | - 🙋♀️ 4D scans with per frame textures
28 | - 🎞️ Volumetric videos
29 | - 📷 Pointclouds captured by RGBD sensors (Kinect, Realsense, Lidar)
30 | - 🌐 Data visualisations
31 |
32 |
33 | ## Install & Usage:
34 |
35 | Please see the [documentation website](https://buildingvolumes.github.io/Unity_Geometry_Sequence_Player/docs/quickstart/quick-start/) on how to get started!
36 |
37 | If you encounter any problems or have questions, please open an issue or visit the [Unity Forums Thread](https://forum.unity.com/threads/released-geometry-sequence-streaming.1453765/)
38 |
39 | ## License:
40 |
41 | With Version 1.1.0 of the package, we changed our license model from MIT license to the **Creative Commons By-Attribution Non-Commercial license**. To use the package in a commercial setting, or if you want to support the development, you can [buy a copy on the Unity Asset Store](https://u3d.as/3suF). This allows us to develop this plugin more sustainably and helps to improve the package for the whole community. Thank you very much for your support!
42 |
43 |
Geometry Sequence Player is licensed under CC BY-NC 4.0
44 |
--------------------------------------------------------------------------------
/Unity_Test_Project/.gitignore:
--------------------------------------------------------------------------------
1 | # This .gitignore file should be placed at the root of your Unity project directory
2 | #
3 | # Get latest from https://github.com/github/gitignore/blob/master/Unity.gitignore
4 | #
5 | /[Ll]ibrary/
6 | /[Tt]emp/
7 | /[Oo]bj/
8 | /[Bb]uild/
9 | /[Bb]uilds/
10 | /[Ll]ogs/
11 | /[Mm]emoryCaptures/
12 | /More_Examples/
13 | /Assets/Samples/
14 | /Assets/StreamingAssets/
15 |
16 | # Asset meta data should only be ignored when the corresponding asset is also ignored
17 | !/[Aa]ssets/**/*.meta
18 |
19 | # Uncomment this line if you wish to ignore the asset store tools plugin
20 | # /[Aa]ssets/AssetStoreTools*
21 |
22 | # Autogenerated Jetbrains Rider plugin
23 | [Aa]ssets/Plugins/Editor/JetBrains*
24 |
25 | # Visual Studio cache directory
26 | .vs/
27 |
28 | # Gradle cache directory
29 | .gradle/
30 |
31 | # Autogenerated VS/MD/Consulo solution and project files
32 | ExportedObj/
33 | .consulo/
34 | *.csproj
35 | *.unityproj
36 | *.sln
37 | *.suo
38 | *.tmp
39 | *.user
40 | *.userprefs
41 | *.pidb
42 | *.booproj
43 | *.svd
44 | *.pdb
45 | *.mdb
46 | *.opendb
47 | *.VC.db
48 |
49 | # Unity3D generated meta files
50 | *.pidb.meta
51 | *.pdb.meta
52 | *.mdb.meta
53 |
54 | # Unity3D generated file on crash reports
55 | sysinfo.txt
56 |
57 | # Builds
58 | *.apk
59 | *.unitypackage
60 |
61 | # Crashlytics generated file
62 | crashlytics-build.properties
63 |
64 |
--------------------------------------------------------------------------------
/Unity_Test_Project/.vsconfig:
--------------------------------------------------------------------------------
1 | {
2 | "version": "1.0",
3 | "components": [
4 | "Microsoft.VisualStudio.Workload.ManagedGame"
5 | ]
6 | }
7 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/AutoSceneLoader.cs:
--------------------------------------------------------------------------------
1 | using System.Collections;
2 | using System.Collections.Generic;
3 | using UnityEngine;
4 | using UnityEngine.SceneManagement;
5 |
6 | public class Scripts : MonoBehaviour
7 | {
8 | public List sceneNames = new List();
9 |
10 | public float switchintervallSeconds = 10;
11 | float lastSwitchTimeSeconds = 0;
12 | int sceneIndex;
13 |
14 | // Start is called before the first frame update
15 | void Start()
16 | {
17 | DontDestroyOnLoad(gameObject);
18 | lastSwitchTimeSeconds = Time.time;
19 | }
20 |
21 | // Update is called once per frame
22 | void Update()
23 | {
24 | if(sceneNames.Count > 1)
25 | {
26 | if(Time.time - lastSwitchTimeSeconds > switchintervallSeconds)
27 | {
28 | lastSwitchTimeSeconds = Time.time;
29 | sceneIndex++;
30 |
31 | if (sceneIndex >= sceneNames.Count)
32 | sceneIndex = 0;
33 |
34 | SceneManager.LoadScene(sceneNames[sceneIndex]);
35 | }
36 | }
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/AutoSceneLoader.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 5937057fd2f8aaa43be458565b6cd752
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Basic_Build_Sample.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: f0f7e2a31852a6c419bc77cc899ee22f
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Basic_Build_Sample_PC.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 6b09899ec332ee04eb46e280d0d6db69
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Editor.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 447c18cd97f87c74382059ba0b65b76b
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Editor/BumpUpPackageVersionAndCopySamples.cs:
--------------------------------------------------------------------------------
1 | using System.IO;
2 | using UnityEditor;
3 | using UnityEngine;
4 | using Newtonsoft.Json.Linq;
5 | using System;
6 | using BuildingVolumes.Player;
7 | using UnityEngine.Playables;
8 | using UnityEngine.Timeline;
9 | using System.Collections.Generic;
10 | using UnityEditor.SceneManagement;
11 | using GluonGui.WorkspaceWindow.Views.WorkspaceExplorer.Explorer;
12 |
13 | public class BumpUpPackageVersionAndCopySamples : EditorWindow
14 | {
15 | string pathToPackage = "C:\\Dev\\Volcapture\\Unity_Geometry_Sequence_Player\\Geometry_Sequence_Player_Package";
16 | string relativePathToPackageSamples = "Samples~\\SequenceSamples\\";
17 | string pathToSamplesRootFolder = "Samples\\Geometry Sequence Player\\";
18 | string relativePathToStreamSamples = "\\Sequence Samples\\";
19 | string pathToSamplesFolder = "";
20 | string pathToNewSamplesFolder = "";
21 |
22 | string pathToPackageJSON = "";
23 | string pathToSamplesPackageFolder = "";
24 |
25 | string currentVersion = "";
26 | string packageJSONContent;
27 | int newMajor;
28 | int newMinor;
29 | int newPatch;
30 |
31 | static bool pathValid = false;
32 |
33 | [MenuItem("UGGS Package/Increment package version and copy samples")]
34 | static void Init()
35 | {
36 | BumpUpPackageVersionAndCopySamples window = GetWindow();
37 |
38 | window.titleContent = new GUIContent("Change package versioning");
39 | window.ShowPopup();
40 |
41 | if (!pathValid)
42 | window.Close();
43 | }
44 |
45 | private void CreateGUI()
46 | {
47 | pathToPackageJSON = Path.Combine(pathToPackage, "package.json");
48 | pathToSamplesPackageFolder = Path.Combine(pathToPackage, relativePathToPackageSamples);
49 |
50 | if (!Directory.Exists(pathToPackage) || !File.Exists(pathToPackageJSON))
51 | {
52 | EditorUtility.DisplayDialog("Path invalid!", "Path to package not found! Please change path in script", "Ok");
53 | pathValid = false;
54 | }
55 |
56 | else
57 | {
58 | GetCurrentPackageVersion();
59 | pathValid = true;
60 | }
61 | }
62 |
63 | void OnGUI()
64 | {
65 | GUILayout.Space(20);
66 | EditorGUILayout.LabelField("Current package version is: " + currentVersion, EditorStyles.wordWrappedLabel);
67 | GUILayout.Space(20);
68 | EditorGUILayout.LabelField("Change version to:", EditorStyles.wordWrappedLabel);
69 | GUILayout.BeginHorizontal();
70 | newMajor = EditorGUILayout.IntField(newMajor);
71 | newMinor = EditorGUILayout.IntField(newMinor);
72 | newPatch = EditorGUILayout.IntField(newPatch);
73 | GUILayout.EndHorizontal();
74 |
75 | string newVersion = newMajor + "." + newMinor + "." + newPatch;
76 |
77 | pathToSamplesFolder = pathToSamplesRootFolder + currentVersion + relativePathToStreamSamples;
78 | pathToNewSamplesFolder = "Assets\\" + pathToSamplesRootFolder + newVersion + relativePathToStreamSamples;
79 |
80 | if (GUILayout.Button("Change Version and copy samples"))
81 | {
82 | UpdatePackageJSONAndSave(pathToPackageJSON, packageJSONContent, newVersion);
83 | UpdateSamples(currentVersion, newVersion);
84 | CopySamples(pathToNewSamplesFolder, pathToSamplesPackageFolder);
85 | GetCurrentPackageVersion();
86 | EditorUtility.SetDirty(this);
87 | }
88 |
89 | if (GUILayout.Button("Just copy samples"))
90 | {
91 | CopySamples(pathToNewSamplesFolder, pathToSamplesPackageFolder);
92 | GetCurrentPackageVersion();
93 | EditorUtility.SetDirty(this);
94 | }
95 |
96 | }
97 |
98 | void GetCurrentPackageVersion()
99 | {
100 | packageJSONContent = File.ReadAllText(pathToPackageJSON);
101 |
102 | JObject o = JObject.Parse(packageJSONContent);
103 |
104 | JToken version = o.GetValue("version");
105 | currentVersion = version.Value();
106 | string[] versionValues = currentVersion.Split('.');
107 | int major = Int32.Parse(versionValues[0]);
108 | int minor = Int32.Parse(versionValues[1]);
109 | int patch = Int32.Parse(versionValues[2]);
110 |
111 | newMajor = major;
112 | newMinor = minor;
113 | newPatch = patch;
114 | }
115 |
116 | void UpdatePackageJSONAndSave(string pathToJson, string jsonContent, string newVersion)
117 | {
118 | JObject obj = JObject.Parse(jsonContent);
119 | obj["version"] = newVersion;
120 |
121 | try
122 | {
123 | File.WriteAllText(pathToJson, obj.ToString());
124 | }
125 |
126 | catch
127 | {
128 | Debug.LogError("Could not update package JSON!");
129 | return;
130 | }
131 |
132 | Debug.Log("Changed JSON package version to " + newVersion);
133 |
134 | }
135 |
136 | void UpdateSamples(string currentVersion, string newVersion)
137 | {
138 | string pathToBasicSceneMesh = pathToSamplesFolder + "01_Basic_Example.unity";
139 | string pathToBasicScenePC = pathToSamplesFolder + "02_Pointcloud_Example.unity";
140 | string pathToTimelineScene = pathToSamplesFolder + "03_Timeline_Example.unity";
141 | string pathToAPIScene = pathToSamplesFolder + "04_API_Example.unity";
142 |
143 | string pathToNewSampleDataMesh = pathToSamplesRootFolder + newVersion + relativePathToStreamSamples + "ExampleData\\TexturedMesh_Sequence_Sample";
144 | string pathToNewSampleDataPC = pathToSamplesRootFolder + newVersion + relativePathToStreamSamples+ "ExampleData\\Pointcloud_Sequence_Sample";
145 |
146 | UpdateBasicSample(pathToBasicSceneMesh, pathToNewSampleDataMesh);
147 | UpdateBasicSample(pathToBasicScenePC, pathToNewSampleDataPC);
148 | UpdateTimelineSample(pathToTimelineScene, pathToNewSampleDataMesh);
149 | UpdateAPISample(pathToAPIScene, pathToNewSampleDataMesh);
150 | RenameSamplePath("Assets\\" + pathToSamplesRootFolder + currentVersion, "Assets\\" + pathToSamplesRootFolder + newVersion);
151 | }
152 |
153 | bool UpdateBasicSample(string pathToScene, string pathToNewSampleData)
154 | {
155 | //Basic Sample
156 | try
157 | {
158 | EditorSceneManager.OpenScene(pathToScene, OpenSceneMode.Single);
159 | }
160 |
161 | catch
162 | {
163 | Debug.LogError("Could not load basic sample mesh scene!");
164 | return false;
165 | }
166 |
167 | GeometrySequencePlayer player = (GeometrySequencePlayer)FindFirstObjectByType();
168 | if (player.GetRelativeSequencePath() == null)
169 | {
170 | Debug.LogError("Could not finde path in basic sample mesh!");
171 | return false;
172 | }
173 |
174 | player.SetPath(pathToNewSampleData, GeometrySequenceStream.PathType.RelativeToDataPath);
175 | EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene());
176 | return true;
177 | }
178 |
179 | bool UpdateTimelineSample(string pathToScene, string pathToNewSampleData)
180 | {
181 | //Timeline Sample
182 | try
183 | {
184 | EditorSceneManager.OpenScene(pathToScene, OpenSceneMode.Single);
185 | }
186 |
187 | catch
188 | {
189 | Debug.LogError("Could not load timeline sample scene!");
190 | return false;
191 | }
192 |
193 |
194 | PlayableDirector director = (PlayableDirector)FindFirstObjectByType();
195 | PlayableAsset playable = director.playableAsset;
196 | TimelineAsset timeline = (TimelineAsset)playable;
197 | IEnumerable clips = timeline.GetRootTrack(1).GetClips();
198 |
199 |
200 |
201 | foreach (TimelineClip clip in clips)
202 | {
203 |
204 | GeometrySequenceClip geoClip = (GeometrySequenceClip)clip.asset;
205 |
206 | if (geoClip.relativePath == null)
207 | {
208 | Debug.LogError("Could not finde path in timeline Sample!");
209 | return false;
210 | }
211 |
212 | geoClip.relativePath = pathToNewSampleData;
213 |
214 | }
215 |
216 | EditorUtility.SetDirty(timeline);
217 | EditorUtility.SetDirty(playable);
218 | AssetDatabase.SaveAssets();
219 | EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene());
220 | return true;
221 | }
222 |
223 | bool UpdateAPISample(string pathToScene, string pathToNewSampleData)
224 | {
225 | //API Sample
226 | try
227 | {
228 | EditorSceneManager.OpenScene(pathToScene, OpenSceneMode.Single);
229 | }
230 |
231 | catch
232 | {
233 | Debug.LogError("Could not load API sample scene!");
234 | return false;
235 | }
236 |
237 | GeometrySequenceAPIExample api = (GeometrySequenceAPIExample)FindFirstObjectByType();
238 | if (api.sequencePath == null)
239 | {
240 | Debug.LogError("Could not find path in API Sample!");
241 | return false;
242 | }
243 |
244 | api.sequencePath = pathToNewSampleData;
245 | EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene());
246 | return true;
247 | }
248 |
249 | bool RenameSamplePath(string oldpath, string newpath)
250 | {
251 | if (Directory.Exists(oldpath))
252 | {
253 | if (oldpath == newpath)
254 | return true;
255 |
256 | string error = AssetDatabase.MoveAsset(oldpath, newpath);
257 |
258 | if (error != "")
259 | {
260 | Debug.LogError("Could not rename sample directory: " + error + " Maybe you need to close Visual Studio?");
261 | return false;
262 | }
263 |
264 | }
265 |
266 | else
267 | {
268 | Debug.LogError("Sample directory does not exist");
269 | return false;
270 | }
271 |
272 | return true;
273 | }
274 |
275 | void CopySamples(string pathToAssetSamples, string pathToPackageSampleFolder)
276 | {
277 | string emptyScene = "Assets\\EmptyScene.unity";
278 | EditorSceneManager.OpenScene(emptyScene, OpenSceneMode.Single);
279 |
280 | if (!Directory.Exists(pathToAssetSamples) || !Directory.Exists(pathToPackageSampleFolder))
281 | {
282 | Debug.LogError("Could not find " + pathToAssetSamples + " or " + pathToPackageSampleFolder);
283 | return;
284 | }
285 |
286 | try
287 | {
288 | CopyDirectory(pathToAssetSamples, pathToPackageSampleFolder, true);
289 | }
290 |
291 | catch (Exception e)
292 | {
293 | Debug.LogError(e.ToString());
294 | }
295 | }
296 |
297 | static void CopyDirectory(string sourceDir, string destinationDir, bool recursive)
298 | {
299 | Debug.Log("Copying from: " + sourceDir + " to " + destinationDir);
300 | // Get information about the source directory
301 | var dir = new DirectoryInfo(sourceDir);
302 |
303 | // Cache directories before we start copying
304 | DirectoryInfo[] dirs = dir.GetDirectories();
305 |
306 | //Delete the files in the destination directory
307 | if (Directory.Exists(destinationDir))
308 | {
309 | foreach (string filePath in Directory.GetFiles(destinationDir))
310 | {
311 | File.Delete(filePath);
312 | }
313 | }
314 |
315 | // Create the destination directory
316 | DirectoryInfo info = Directory.CreateDirectory(destinationDir);
317 |
318 | // Get the files in the source directory and copy to the destination directory
319 | foreach (FileInfo file in dir.GetFiles())
320 | {
321 | string targetFilePath = Path.Combine(destinationDir, file.Name);
322 | file.CopyTo(targetFilePath, true);
323 | }
324 |
325 | // If recursive and copying subdirectories, recursively call this method
326 | if (recursive)
327 | {
328 | foreach (DirectoryInfo subDir in dirs)
329 | {
330 | string newDestinationDir = Path.Combine(destinationDir, subDir.Name);
331 | CopyDirectory(subDir.FullName, newDestinationDir, true);
332 | }
333 | }
334 | }
335 | }
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Editor/BumpUpPackageVersionAndCopySamples.cs.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 145d32b505f694e42a0c3fa9037b170c
3 | MonoImporter:
4 | externalObjects: {}
5 | serializedVersion: 2
6 | defaultReferences: []
7 | executionOrder: 0
8 | icon: {instanceID: 0}
9 | userData:
10 | assetBundleName:
11 | assetBundleVariant:
12 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/EmptyScene.unity:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!29 &1
4 | OcclusionCullingSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_OcclusionBakeSettings:
8 | smallestOccluder: 5
9 | smallestHole: 0.25
10 | backfaceThreshold: 100
11 | m_SceneGUID: 00000000000000000000000000000000
12 | m_OcclusionCullingData: {fileID: 0}
13 | --- !u!104 &2
14 | RenderSettings:
15 | m_ObjectHideFlags: 0
16 | serializedVersion: 9
17 | m_Fog: 0
18 | m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1}
19 | m_FogMode: 3
20 | m_FogDensity: 0.01
21 | m_LinearFogStart: 0
22 | m_LinearFogEnd: 300
23 | m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1}
24 | m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1}
25 | m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1}
26 | m_AmbientIntensity: 1
27 | m_AmbientMode: 0
28 | m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1}
29 | m_SkyboxMaterial: {fileID: 10304, guid: 0000000000000000f000000000000000, type: 0}
30 | m_HaloStrength: 0.5
31 | m_FlareStrength: 1
32 | m_FlareFadeSpeed: 3
33 | m_HaloTexture: {fileID: 0}
34 | m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0}
35 | m_DefaultReflectionMode: 0
36 | m_DefaultReflectionResolution: 128
37 | m_ReflectionBounces: 1
38 | m_ReflectionIntensity: 1
39 | m_CustomReflection: {fileID: 0}
40 | m_Sun: {fileID: 0}
41 | m_UseRadianceAmbientProbe: 0
42 | --- !u!157 &3
43 | LightmapSettings:
44 | m_ObjectHideFlags: 0
45 | serializedVersion: 12
46 | m_GIWorkflowMode: 1
47 | m_GISettings:
48 | serializedVersion: 2
49 | m_BounceScale: 1
50 | m_IndirectOutputScale: 1
51 | m_AlbedoBoost: 1
52 | m_EnvironmentLightingMode: 0
53 | m_EnableBakedLightmaps: 1
54 | m_EnableRealtimeLightmaps: 0
55 | m_LightmapEditorSettings:
56 | serializedVersion: 12
57 | m_Resolution: 2
58 | m_BakeResolution: 40
59 | m_AtlasSize: 1024
60 | m_AO: 0
61 | m_AOMaxDistance: 1
62 | m_CompAOExponent: 1
63 | m_CompAOExponentDirect: 0
64 | m_ExtractAmbientOcclusion: 0
65 | m_Padding: 2
66 | m_LightmapParameters: {fileID: 0}
67 | m_LightmapsBakeMode: 1
68 | m_TextureCompression: 1
69 | m_FinalGather: 0
70 | m_FinalGatherFiltering: 1
71 | m_FinalGatherRayCount: 256
72 | m_ReflectionCompression: 2
73 | m_MixedBakeMode: 2
74 | m_BakeBackend: 1
75 | m_PVRSampling: 1
76 | m_PVRDirectSampleCount: 32
77 | m_PVRSampleCount: 512
78 | m_PVRBounces: 2
79 | m_PVREnvironmentSampleCount: 256
80 | m_PVREnvironmentReferencePointCount: 2048
81 | m_PVRFilteringMode: 1
82 | m_PVRDenoiserTypeDirect: 1
83 | m_PVRDenoiserTypeIndirect: 1
84 | m_PVRDenoiserTypeAO: 1
85 | m_PVRFilterTypeDirect: 0
86 | m_PVRFilterTypeIndirect: 0
87 | m_PVRFilterTypeAO: 0
88 | m_PVREnvironmentMIS: 1
89 | m_PVRCulling: 1
90 | m_PVRFilteringGaussRadiusDirect: 1
91 | m_PVRFilteringGaussRadiusIndirect: 5
92 | m_PVRFilteringGaussRadiusAO: 2
93 | m_PVRFilteringAtrousPositionSigmaDirect: 0.5
94 | m_PVRFilteringAtrousPositionSigmaIndirect: 2
95 | m_PVRFilteringAtrousPositionSigmaAO: 1
96 | m_ExportTrainingData: 0
97 | m_TrainingDataDestination: TrainingData
98 | m_LightProbeSampleCountMultiplier: 4
99 | m_LightingDataAsset: {fileID: 0}
100 | m_LightingSettings: {fileID: 0}
101 | --- !u!196 &4
102 | NavMeshSettings:
103 | serializedVersion: 2
104 | m_ObjectHideFlags: 0
105 | m_BuildSettings:
106 | serializedVersion: 3
107 | agentTypeID: 0
108 | agentRadius: 0.5
109 | agentHeight: 2
110 | agentSlope: 45
111 | agentClimb: 0.4
112 | ledgeDropHeight: 0
113 | maxJumpAcrossDistance: 0
114 | minRegionArea: 2
115 | manualCellSize: 0
116 | cellSize: 0.16666667
117 | manualTileSize: 0
118 | tileSize: 256
119 | buildHeightMesh: 0
120 | maxJobWorkers: 0
121 | preserveTilesOutsideBounds: 0
122 | debug:
123 | m_Flags: 0
124 | m_NavMeshData: {fileID: 0}
125 | --- !u!1660057539 &9223372036854775807
126 | SceneRoots:
127 | m_ObjectHideFlags: 0
128 | m_Roots: []
129 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/EmptyScene.unity.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: eb7e016567e2b0247a0b8b1b705f4f98
3 | DefaultImporter:
4 | externalObjects: {}
5 | userData:
6 | assetBundleName:
7 | assetBundleVariant:
8 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/Samples.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 16ba52299798fc945beb1aa12e5f3a1f
3 | folderAsset: yes
4 | DefaultImporter:
5 | externalObjects: {}
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/TestMat.mat:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!21 &2100000
4 | Material:
5 | serializedVersion: 8
6 | m_ObjectHideFlags: 0
7 | m_CorrespondingSourceObject: {fileID: 0}
8 | m_PrefabInstance: {fileID: 0}
9 | m_PrefabAsset: {fileID: 0}
10 | m_Name: TestMat
11 | m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
12 | m_Parent: {fileID: 0}
13 | m_ModifiedSerializedProperties: 0
14 | m_ValidKeywords: []
15 | m_InvalidKeywords: []
16 | m_LightmapFlags: 4
17 | m_EnableInstancingVariants: 0
18 | m_DoubleSidedGI: 0
19 | m_CustomRenderQueue: -1
20 | stringTagMap: {}
21 | disabledShaderPasses: []
22 | m_LockedProperties:
23 | m_SavedProperties:
24 | serializedVersion: 3
25 | m_TexEnvs:
26 | - _BumpMap:
27 | m_Texture: {fileID: 0}
28 | m_Scale: {x: 1, y: 1}
29 | m_Offset: {x: 0, y: 0}
30 | - _DetailAlbedoMap:
31 | m_Texture: {fileID: 0}
32 | m_Scale: {x: 1, y: 1}
33 | m_Offset: {x: 0, y: 0}
34 | - _DetailMask:
35 | m_Texture: {fileID: 0}
36 | m_Scale: {x: 1, y: 1}
37 | m_Offset: {x: 0, y: 0}
38 | - _DetailNormalMap:
39 | m_Texture: {fileID: 0}
40 | m_Scale: {x: 1, y: 1}
41 | m_Offset: {x: 0, y: 0}
42 | - _EmissionMap:
43 | m_Texture: {fileID: 0}
44 | m_Scale: {x: 1, y: 1}
45 | m_Offset: {x: 0, y: 0}
46 | - _MainTex:
47 | m_Texture: {fileID: 0}
48 | m_Scale: {x: 1, y: 1}
49 | m_Offset: {x: 0, y: 0}
50 | - _MetallicGlossMap:
51 | m_Texture: {fileID: 0}
52 | m_Scale: {x: 1, y: 1}
53 | m_Offset: {x: 0, y: 0}
54 | - _OcclusionMap:
55 | m_Texture: {fileID: 0}
56 | m_Scale: {x: 1, y: 1}
57 | m_Offset: {x: 0, y: 0}
58 | - _ParallaxMap:
59 | m_Texture: {fileID: 0}
60 | m_Scale: {x: 1, y: 1}
61 | m_Offset: {x: 0, y: 0}
62 | m_Ints: []
63 | m_Floats:
64 | - _BumpScale: 1
65 | - _Cutoff: 0.5
66 | - _DetailNormalMapScale: 1
67 | - _DstBlend: 0
68 | - _GlossMapScale: 1
69 | - _Glossiness: 0.5
70 | - _GlossyReflections: 1
71 | - _Metallic: 0
72 | - _Mode: 0
73 | - _OcclusionStrength: 1
74 | - _Parallax: 0.02
75 | - _SmoothnessTextureChannel: 0
76 | - _SpecularHighlights: 1
77 | - _SrcBlend: 1
78 | - _UVSec: 0
79 | - _ZWrite: 1
80 | m_Colors:
81 | - _Color: {r: 1, g: 1, b: 1, a: 1}
82 | - _EmissionColor: {r: 1, g: 1, b: 1, a: 1}
83 | m_BuildTextureStacks: []
84 | m_AllowLocking: 1
85 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Assets/TestMat.mat.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 1d1ac463ce858e145a81c6386bac5acc
3 | NativeFormatImporter:
4 | externalObjects: {}
5 | mainObjectFileID: 2100000
6 | userData:
7 | assetBundleName:
8 | assetBundleVariant:
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Packages/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.buildingvolumes.geometry_sequence_player": "file:C:/Dev/Volcapture/Unity_Geometry_Sequence_Player/Geometry_Sequence_Player_Package",
4 | "com.unity.ai.navigation": "2.0.7",
5 | "com.unity.analytics": "3.8.1",
6 | "com.unity.collab-proxy": "2.7.1",
7 | "com.unity.ide.visualstudio": "2.0.23",
8 | "com.unity.jobs": "0.70.0-preview.7",
9 | "com.unity.memoryprofiler": "1.1.6",
10 | "com.unity.multiplayer.center": "1.0.0",
11 | "com.unity.nuget.newtonsoft-json": "3.2.1",
12 | "com.unity.test-framework": "1.5.1",
13 | "com.unity.timeline": "1.8.7",
14 | "com.unity.ugui": "2.0.0",
15 | "com.unity.xr.legacyinputhelpers": "2.1.12",
16 | "com.unity.modules.accessibility": "1.0.0",
17 | "com.unity.modules.ai": "1.0.0",
18 | "com.unity.modules.androidjni": "1.0.0",
19 | "com.unity.modules.animation": "1.0.0",
20 | "com.unity.modules.assetbundle": "1.0.0",
21 | "com.unity.modules.audio": "1.0.0",
22 | "com.unity.modules.cloth": "1.0.0",
23 | "com.unity.modules.director": "1.0.0",
24 | "com.unity.modules.imageconversion": "1.0.0",
25 | "com.unity.modules.imgui": "1.0.0",
26 | "com.unity.modules.jsonserialize": "1.0.0",
27 | "com.unity.modules.particlesystem": "1.0.0",
28 | "com.unity.modules.physics": "1.0.0",
29 | "com.unity.modules.physics2d": "1.0.0",
30 | "com.unity.modules.screencapture": "1.0.0",
31 | "com.unity.modules.terrain": "1.0.0",
32 | "com.unity.modules.terrainphysics": "1.0.0",
33 | "com.unity.modules.tilemap": "1.0.0",
34 | "com.unity.modules.ui": "1.0.0",
35 | "com.unity.modules.uielements": "1.0.0",
36 | "com.unity.modules.umbra": "1.0.0",
37 | "com.unity.modules.unityanalytics": "1.0.0",
38 | "com.unity.modules.unitywebrequest": "1.0.0",
39 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
40 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
41 | "com.unity.modules.unitywebrequesttexture": "1.0.0",
42 | "com.unity.modules.unitywebrequestwww": "1.0.0",
43 | "com.unity.modules.vehicles": "1.0.0",
44 | "com.unity.modules.video": "1.0.0",
45 | "com.unity.modules.vr": "1.0.0",
46 | "com.unity.modules.wind": "1.0.0",
47 | "com.unity.modules.xr": "1.0.0"
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/Unity_Test_Project/Packages/packages-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "dependencies": {
3 | "com.buildingvolumes.geometry_sequence_player": {
4 | "version": "file:C:/Dev/Volcapture/Unity_Geometry_Sequence_Player/Geometry_Sequence_Player_Package",
5 | "depth": 0,
6 | "source": "local",
7 | "dependencies": {
8 | "com.unity.jobs": "0.70.0-preview.7",
9 | "com.unity.timeline": "1.6.4"
10 | }
11 | },
12 | "com.unity.ai.navigation": {
13 | "version": "2.0.7",
14 | "depth": 0,
15 | "source": "registry",
16 | "dependencies": {
17 | "com.unity.modules.ai": "1.0.0"
18 | },
19 | "url": "https://packages.unity.com"
20 | },
21 | "com.unity.analytics": {
22 | "version": "3.8.1",
23 | "depth": 0,
24 | "source": "registry",
25 | "dependencies": {
26 | "com.unity.ugui": "1.0.0",
27 | "com.unity.services.analytics": "1.0.4"
28 | },
29 | "url": "https://packages.unity.com"
30 | },
31 | "com.unity.burst": {
32 | "version": "1.8.21",
33 | "depth": 1,
34 | "source": "registry",
35 | "dependencies": {
36 | "com.unity.mathematics": "1.2.1",
37 | "com.unity.modules.jsonserialize": "1.0.0"
38 | },
39 | "url": "https://packages.unity.com"
40 | },
41 | "com.unity.collab-proxy": {
42 | "version": "2.7.1",
43 | "depth": 0,
44 | "source": "registry",
45 | "dependencies": {},
46 | "url": "https://packages.unity.com"
47 | },
48 | "com.unity.collections": {
49 | "version": "2.5.1",
50 | "depth": 1,
51 | "source": "registry",
52 | "dependencies": {
53 | "com.unity.burst": "1.8.17",
54 | "com.unity.test-framework": "1.4.5",
55 | "com.unity.nuget.mono-cecil": "1.11.4",
56 | "com.unity.test-framework.performance": "3.0.3"
57 | },
58 | "url": "https://packages.unity.com"
59 | },
60 | "com.unity.editorcoroutines": {
61 | "version": "1.0.0",
62 | "depth": 1,
63 | "source": "registry",
64 | "dependencies": {},
65 | "url": "https://packages.unity.com"
66 | },
67 | "com.unity.ext.nunit": {
68 | "version": "2.0.5",
69 | "depth": 1,
70 | "source": "builtin",
71 | "dependencies": {}
72 | },
73 | "com.unity.ide.visualstudio": {
74 | "version": "2.0.23",
75 | "depth": 0,
76 | "source": "registry",
77 | "dependencies": {
78 | "com.unity.test-framework": "1.1.9"
79 | },
80 | "url": "https://packages.unity.com"
81 | },
82 | "com.unity.jobs": {
83 | "version": "0.70.0-preview.7",
84 | "depth": 0,
85 | "source": "registry",
86 | "dependencies": {
87 | "com.unity.collections": "1.4.0"
88 | },
89 | "url": "https://packages.unity.com"
90 | },
91 | "com.unity.mathematics": {
92 | "version": "1.3.2",
93 | "depth": 1,
94 | "source": "registry",
95 | "dependencies": {},
96 | "url": "https://packages.unity.com"
97 | },
98 | "com.unity.memoryprofiler": {
99 | "version": "1.1.6",
100 | "depth": 0,
101 | "source": "registry",
102 | "dependencies": {
103 | "com.unity.burst": "1.8.0",
104 | "com.unity.collections": "1.2.3",
105 | "com.unity.mathematics": "1.2.1",
106 | "com.unity.profiling.core": "1.0.0",
107 | "com.unity.editorcoroutines": "1.0.0"
108 | },
109 | "url": "https://packages.unity.com"
110 | },
111 | "com.unity.multiplayer.center": {
112 | "version": "1.0.0",
113 | "depth": 0,
114 | "source": "builtin",
115 | "dependencies": {
116 | "com.unity.modules.uielements": "1.0.0"
117 | }
118 | },
119 | "com.unity.nuget.mono-cecil": {
120 | "version": "1.11.4",
121 | "depth": 2,
122 | "source": "registry",
123 | "dependencies": {},
124 | "url": "https://packages.unity.com"
125 | },
126 | "com.unity.nuget.newtonsoft-json": {
127 | "version": "3.2.1",
128 | "depth": 0,
129 | "source": "registry",
130 | "dependencies": {},
131 | "url": "https://packages.unity.com"
132 | },
133 | "com.unity.profiling.core": {
134 | "version": "1.0.2",
135 | "depth": 1,
136 | "source": "registry",
137 | "dependencies": {},
138 | "url": "https://packages.unity.com"
139 | },
140 | "com.unity.services.analytics": {
141 | "version": "6.0.2",
142 | "depth": 1,
143 | "source": "registry",
144 | "dependencies": {
145 | "com.unity.ugui": "1.0.0",
146 | "com.unity.services.core": "1.12.4",
147 | "com.unity.modules.jsonserialize": "1.0.0"
148 | },
149 | "url": "https://packages.unity.com"
150 | },
151 | "com.unity.services.core": {
152 | "version": "1.14.0",
153 | "depth": 2,
154 | "source": "registry",
155 | "dependencies": {
156 | "com.unity.modules.androidjni": "1.0.0",
157 | "com.unity.nuget.newtonsoft-json": "3.2.1",
158 | "com.unity.modules.unitywebrequest": "1.0.0"
159 | },
160 | "url": "https://packages.unity.com"
161 | },
162 | "com.unity.test-framework": {
163 | "version": "1.5.1",
164 | "depth": 0,
165 | "source": "builtin",
166 | "dependencies": {
167 | "com.unity.ext.nunit": "2.0.3",
168 | "com.unity.modules.imgui": "1.0.0",
169 | "com.unity.modules.jsonserialize": "1.0.0"
170 | }
171 | },
172 | "com.unity.test-framework.performance": {
173 | "version": "3.1.0",
174 | "depth": 2,
175 | "source": "registry",
176 | "dependencies": {
177 | "com.unity.test-framework": "1.1.33",
178 | "com.unity.modules.jsonserialize": "1.0.0"
179 | },
180 | "url": "https://packages.unity.com"
181 | },
182 | "com.unity.timeline": {
183 | "version": "1.8.7",
184 | "depth": 0,
185 | "source": "registry",
186 | "dependencies": {
187 | "com.unity.modules.audio": "1.0.0",
188 | "com.unity.modules.director": "1.0.0",
189 | "com.unity.modules.animation": "1.0.0",
190 | "com.unity.modules.particlesystem": "1.0.0"
191 | },
192 | "url": "https://packages.unity.com"
193 | },
194 | "com.unity.ugui": {
195 | "version": "2.0.0",
196 | "depth": 0,
197 | "source": "builtin",
198 | "dependencies": {
199 | "com.unity.modules.ui": "1.0.0",
200 | "com.unity.modules.imgui": "1.0.0"
201 | }
202 | },
203 | "com.unity.xr.legacyinputhelpers": {
204 | "version": "2.1.12",
205 | "depth": 0,
206 | "source": "registry",
207 | "dependencies": {
208 | "com.unity.modules.vr": "1.0.0",
209 | "com.unity.modules.xr": "1.0.0"
210 | },
211 | "url": "https://packages.unity.com"
212 | },
213 | "com.unity.modules.accessibility": {
214 | "version": "1.0.0",
215 | "depth": 0,
216 | "source": "builtin",
217 | "dependencies": {}
218 | },
219 | "com.unity.modules.ai": {
220 | "version": "1.0.0",
221 | "depth": 0,
222 | "source": "builtin",
223 | "dependencies": {}
224 | },
225 | "com.unity.modules.androidjni": {
226 | "version": "1.0.0",
227 | "depth": 0,
228 | "source": "builtin",
229 | "dependencies": {}
230 | },
231 | "com.unity.modules.animation": {
232 | "version": "1.0.0",
233 | "depth": 0,
234 | "source": "builtin",
235 | "dependencies": {}
236 | },
237 | "com.unity.modules.assetbundle": {
238 | "version": "1.0.0",
239 | "depth": 0,
240 | "source": "builtin",
241 | "dependencies": {}
242 | },
243 | "com.unity.modules.audio": {
244 | "version": "1.0.0",
245 | "depth": 0,
246 | "source": "builtin",
247 | "dependencies": {}
248 | },
249 | "com.unity.modules.cloth": {
250 | "version": "1.0.0",
251 | "depth": 0,
252 | "source": "builtin",
253 | "dependencies": {
254 | "com.unity.modules.physics": "1.0.0"
255 | }
256 | },
257 | "com.unity.modules.director": {
258 | "version": "1.0.0",
259 | "depth": 0,
260 | "source": "builtin",
261 | "dependencies": {
262 | "com.unity.modules.audio": "1.0.0",
263 | "com.unity.modules.animation": "1.0.0"
264 | }
265 | },
266 | "com.unity.modules.hierarchycore": {
267 | "version": "1.0.0",
268 | "depth": 1,
269 | "source": "builtin",
270 | "dependencies": {}
271 | },
272 | "com.unity.modules.imageconversion": {
273 | "version": "1.0.0",
274 | "depth": 0,
275 | "source": "builtin",
276 | "dependencies": {}
277 | },
278 | "com.unity.modules.imgui": {
279 | "version": "1.0.0",
280 | "depth": 0,
281 | "source": "builtin",
282 | "dependencies": {}
283 | },
284 | "com.unity.modules.jsonserialize": {
285 | "version": "1.0.0",
286 | "depth": 0,
287 | "source": "builtin",
288 | "dependencies": {}
289 | },
290 | "com.unity.modules.particlesystem": {
291 | "version": "1.0.0",
292 | "depth": 0,
293 | "source": "builtin",
294 | "dependencies": {}
295 | },
296 | "com.unity.modules.physics": {
297 | "version": "1.0.0",
298 | "depth": 0,
299 | "source": "builtin",
300 | "dependencies": {}
301 | },
302 | "com.unity.modules.physics2d": {
303 | "version": "1.0.0",
304 | "depth": 0,
305 | "source": "builtin",
306 | "dependencies": {}
307 | },
308 | "com.unity.modules.screencapture": {
309 | "version": "1.0.0",
310 | "depth": 0,
311 | "source": "builtin",
312 | "dependencies": {
313 | "com.unity.modules.imageconversion": "1.0.0"
314 | }
315 | },
316 | "com.unity.modules.subsystems": {
317 | "version": "1.0.0",
318 | "depth": 1,
319 | "source": "builtin",
320 | "dependencies": {
321 | "com.unity.modules.jsonserialize": "1.0.0"
322 | }
323 | },
324 | "com.unity.modules.terrain": {
325 | "version": "1.0.0",
326 | "depth": 0,
327 | "source": "builtin",
328 | "dependencies": {}
329 | },
330 | "com.unity.modules.terrainphysics": {
331 | "version": "1.0.0",
332 | "depth": 0,
333 | "source": "builtin",
334 | "dependencies": {
335 | "com.unity.modules.physics": "1.0.0",
336 | "com.unity.modules.terrain": "1.0.0"
337 | }
338 | },
339 | "com.unity.modules.tilemap": {
340 | "version": "1.0.0",
341 | "depth": 0,
342 | "source": "builtin",
343 | "dependencies": {
344 | "com.unity.modules.physics2d": "1.0.0"
345 | }
346 | },
347 | "com.unity.modules.ui": {
348 | "version": "1.0.0",
349 | "depth": 0,
350 | "source": "builtin",
351 | "dependencies": {}
352 | },
353 | "com.unity.modules.uielements": {
354 | "version": "1.0.0",
355 | "depth": 0,
356 | "source": "builtin",
357 | "dependencies": {
358 | "com.unity.modules.ui": "1.0.0",
359 | "com.unity.modules.imgui": "1.0.0",
360 | "com.unity.modules.jsonserialize": "1.0.0",
361 | "com.unity.modules.hierarchycore": "1.0.0"
362 | }
363 | },
364 | "com.unity.modules.umbra": {
365 | "version": "1.0.0",
366 | "depth": 0,
367 | "source": "builtin",
368 | "dependencies": {}
369 | },
370 | "com.unity.modules.unityanalytics": {
371 | "version": "1.0.0",
372 | "depth": 0,
373 | "source": "builtin",
374 | "dependencies": {
375 | "com.unity.modules.unitywebrequest": "1.0.0",
376 | "com.unity.modules.jsonserialize": "1.0.0"
377 | }
378 | },
379 | "com.unity.modules.unitywebrequest": {
380 | "version": "1.0.0",
381 | "depth": 0,
382 | "source": "builtin",
383 | "dependencies": {}
384 | },
385 | "com.unity.modules.unitywebrequestassetbundle": {
386 | "version": "1.0.0",
387 | "depth": 0,
388 | "source": "builtin",
389 | "dependencies": {
390 | "com.unity.modules.assetbundle": "1.0.0",
391 | "com.unity.modules.unitywebrequest": "1.0.0"
392 | }
393 | },
394 | "com.unity.modules.unitywebrequestaudio": {
395 | "version": "1.0.0",
396 | "depth": 0,
397 | "source": "builtin",
398 | "dependencies": {
399 | "com.unity.modules.unitywebrequest": "1.0.0",
400 | "com.unity.modules.audio": "1.0.0"
401 | }
402 | },
403 | "com.unity.modules.unitywebrequesttexture": {
404 | "version": "1.0.0",
405 | "depth": 0,
406 | "source": "builtin",
407 | "dependencies": {
408 | "com.unity.modules.unitywebrequest": "1.0.0",
409 | "com.unity.modules.imageconversion": "1.0.0"
410 | }
411 | },
412 | "com.unity.modules.unitywebrequestwww": {
413 | "version": "1.0.0",
414 | "depth": 0,
415 | "source": "builtin",
416 | "dependencies": {
417 | "com.unity.modules.unitywebrequest": "1.0.0",
418 | "com.unity.modules.unitywebrequestassetbundle": "1.0.0",
419 | "com.unity.modules.unitywebrequestaudio": "1.0.0",
420 | "com.unity.modules.audio": "1.0.0",
421 | "com.unity.modules.assetbundle": "1.0.0",
422 | "com.unity.modules.imageconversion": "1.0.0"
423 | }
424 | },
425 | "com.unity.modules.vehicles": {
426 | "version": "1.0.0",
427 | "depth": 0,
428 | "source": "builtin",
429 | "dependencies": {
430 | "com.unity.modules.physics": "1.0.0"
431 | }
432 | },
433 | "com.unity.modules.video": {
434 | "version": "1.0.0",
435 | "depth": 0,
436 | "source": "builtin",
437 | "dependencies": {
438 | "com.unity.modules.audio": "1.0.0",
439 | "com.unity.modules.ui": "1.0.0",
440 | "com.unity.modules.unitywebrequest": "1.0.0"
441 | }
442 | },
443 | "com.unity.modules.vr": {
444 | "version": "1.0.0",
445 | "depth": 0,
446 | "source": "builtin",
447 | "dependencies": {
448 | "com.unity.modules.jsonserialize": "1.0.0",
449 | "com.unity.modules.physics": "1.0.0",
450 | "com.unity.modules.xr": "1.0.0"
451 | }
452 | },
453 | "com.unity.modules.wind": {
454 | "version": "1.0.0",
455 | "depth": 0,
456 | "source": "builtin",
457 | "dependencies": {}
458 | },
459 | "com.unity.modules.xr": {
460 | "version": "1.0.0",
461 | "depth": 0,
462 | "source": "builtin",
463 | "dependencies": {
464 | "com.unity.modules.physics": "1.0.0",
465 | "com.unity.modules.jsonserialize": "1.0.0",
466 | "com.unity.modules.subsystems": "1.0.0"
467 | }
468 | }
469 | }
470 | }
471 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/AudioManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!11 &1
4 | AudioManager:
5 | m_ObjectHideFlags: 0
6 | m_Volume: 1
7 | Rolloff Scale: 1
8 | Doppler Factor: 1
9 | Default Speaker Mode: 2
10 | m_SampleRate: 0
11 | m_DSPBufferSize: 0
12 | m_VirtualVoiceCount: 512
13 | m_RealVoiceCount: 32
14 | m_DisableAudio: 0
15 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/BurstAotSettings_Android.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "CpuMinTargetX32": 0,
9 | "CpuMaxTargetX32": 0,
10 | "CpuMinTargetX64": 0,
11 | "CpuMaxTargetX64": 0,
12 | "OptimizeFor": 0
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/BurstAotSettings_StandaloneWindows.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "EnableBurstCompilation": true,
5 | "EnableOptimisations": true,
6 | "EnableSafetyChecks": false,
7 | "EnableDebugInAllBuilds": false,
8 | "UsePlatformSDKLinker": false,
9 | "CpuMinTargetX32": 0,
10 | "CpuMaxTargetX32": 0,
11 | "CpuMinTargetX64": 0,
12 | "CpuMaxTargetX64": 0,
13 | "CpuTargetsX32": 6,
14 | "CpuTargetsX64": 72,
15 | "OptimizeFor": 0
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/ClusterInputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!236 &1
4 | ClusterInputManager:
5 | m_ObjectHideFlags: 0
6 | m_Inputs: []
7 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/CommonBurstAotSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "MonoBehaviour": {
3 | "Version": 4,
4 | "DisabledWarnings": ""
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/DynamicsManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!55 &1
4 | PhysicsManager:
5 | m_ObjectHideFlags: 0
6 | m_Gravity: {x: 0, y: -9.81000042, z: 0}
7 | m_DefaultMaterial: {fileID: 0}
8 | m_BounceThreshold: 2
9 | m_SleepThreshold: .00499999989
10 | m_DefaultContactOffset: .00999999978
11 | m_SolverIterationCount: 6
12 | m_RaycastsHitTriggers: 1
13 | m_EnableAdaptiveForce: 0
14 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
15 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/EditorBuildSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1045 &1
4 | EditorBuildSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Scenes:
8 | - enabled: 0
9 | path: Assets/ComputeShaderDev.unity
10 | guid: cbbd4c97a8726eb4497ad6a13d458f2e
11 | - enabled: 1
12 | path: Assets/Basic_Build_Sample.unity
13 | guid: f0f7e2a31852a6c419bc77cc899ee22f
14 | - enabled: 1
15 | path: Assets/Basic_Build_Sample_PC.unity
16 | guid: 6b09899ec332ee04eb46e280d0d6db69
17 | m_configObjects: {}
18 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/EditorSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!159 &1
4 | EditorSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 3
7 | m_ExternalVersionControlSupport: Visible Meta Files
8 | m_SerializationMode: 2
9 | m_WebSecurityEmulationEnabled: 0
10 | m_WebSecurityEmulationHostUrl: http://www.mydomain.com/mygame.unity3d
11 | m_DefaultBehaviorMode: 0
12 | m_SpritePackerMode: 2
13 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/GraphicsSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!30 &1
4 | GraphicsSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 12
7 | m_Deferred:
8 | m_Mode: 1
9 | m_Shader: {fileID: 69, guid: 0000000000000000f000000000000000, type: 0}
10 | m_DeferredReflections:
11 | m_Mode: 1
12 | m_Shader: {fileID: 74, guid: 0000000000000000f000000000000000, type: 0}
13 | m_ScreenSpaceShadows:
14 | m_Mode: 1
15 | m_Shader: {fileID: 64, guid: 0000000000000000f000000000000000, type: 0}
16 | m_LegacyDeferred:
17 | m_Mode: 1
18 | m_Shader: {fileID: 63, guid: 0000000000000000f000000000000000, type: 0}
19 | m_DepthNormals:
20 | m_Mode: 1
21 | m_Shader: {fileID: 62, guid: 0000000000000000f000000000000000, type: 0}
22 | m_MotionVectors:
23 | m_Mode: 1
24 | m_Shader: {fileID: 75, guid: 0000000000000000f000000000000000, type: 0}
25 | m_LightHalo:
26 | m_Mode: 1
27 | m_Shader: {fileID: 105, guid: 0000000000000000f000000000000000, type: 0}
28 | m_LensFlare:
29 | m_Mode: 1
30 | m_Shader: {fileID: 102, guid: 0000000000000000f000000000000000, type: 0}
31 | m_AlwaysIncludedShaders:
32 | - {fileID: 7, guid: 0000000000000000f000000000000000, type: 0}
33 | - {fileID: 15104, guid: 0000000000000000f000000000000000, type: 0}
34 | - {fileID: 15105, guid: 0000000000000000f000000000000000, type: 0}
35 | - {fileID: 15106, guid: 0000000000000000f000000000000000, type: 0}
36 | - {fileID: 10770, guid: 0000000000000000f000000000000000, type: 0}
37 | - {fileID: 10782, guid: 0000000000000000f000000000000000, type: 0}
38 | - {fileID: 17000, guid: 0000000000000000f000000000000000, type: 0}
39 | - {fileID: 16000, guid: 0000000000000000f000000000000000, type: 0}
40 | m_PreloadedShaders: []
41 | m_SpritesDefaultMaterial: {fileID: 10754, guid: 0000000000000000f000000000000000,
42 | type: 0}
43 | m_CustomRenderPipeline: {fileID: 0}
44 | m_TransparencySortMode: 0
45 | m_TransparencySortAxis: {x: 0, y: 0, z: 1}
46 | m_DefaultRenderingPath: 1
47 | m_DefaultMobileRenderingPath: 1
48 | m_TierSettings: []
49 | m_LightmapStripping: 0
50 | m_FogStripping: 0
51 | m_InstancingStripping: 0
52 | m_LightmapKeepPlain: 1
53 | m_LightmapKeepDirCombined: 1
54 | m_LightmapKeepDynamicPlain: 1
55 | m_LightmapKeepDynamicDirCombined: 1
56 | m_LightmapKeepShadowMask: 1
57 | m_LightmapKeepSubtractive: 1
58 | m_FogKeepLinear: 1
59 | m_FogKeepExp: 1
60 | m_FogKeepExp2: 1
61 | m_AlbedoSwatchInfos: []
62 | m_LightsUseLinearIntensity: 0
63 | m_LightsUseColorTemperature: 0
64 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/InputManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!13 &1
4 | InputManager:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | m_Axes:
8 | - serializedVersion: 3
9 | m_Name: Horizontal
10 | descriptiveName:
11 | descriptiveNegativeName:
12 | negativeButton: left
13 | positiveButton: right
14 | altNegativeButton: a
15 | altPositiveButton: d
16 | gravity: 3
17 | dead: .00100000005
18 | sensitivity: 3
19 | snap: 1
20 | invert: 0
21 | type: 0
22 | axis: 0
23 | joyNum: 0
24 | - serializedVersion: 3
25 | m_Name: Vertical
26 | descriptiveName:
27 | descriptiveNegativeName:
28 | negativeButton: down
29 | positiveButton: up
30 | altNegativeButton: s
31 | altPositiveButton: w
32 | gravity: 3
33 | dead: .00100000005
34 | sensitivity: 3
35 | snap: 1
36 | invert: 0
37 | type: 0
38 | axis: 0
39 | joyNum: 0
40 | - serializedVersion: 3
41 | m_Name: Fire1
42 | descriptiveName:
43 | descriptiveNegativeName:
44 | negativeButton:
45 | positiveButton: left ctrl
46 | altNegativeButton:
47 | altPositiveButton: mouse 0
48 | gravity: 1000
49 | dead: .00100000005
50 | sensitivity: 1000
51 | snap: 0
52 | invert: 0
53 | type: 0
54 | axis: 0
55 | joyNum: 0
56 | - serializedVersion: 3
57 | m_Name: Fire2
58 | descriptiveName:
59 | descriptiveNegativeName:
60 | negativeButton:
61 | positiveButton: left alt
62 | altNegativeButton:
63 | altPositiveButton: mouse 1
64 | gravity: 1000
65 | dead: .00100000005
66 | sensitivity: 1000
67 | snap: 0
68 | invert: 0
69 | type: 0
70 | axis: 0
71 | joyNum: 0
72 | - serializedVersion: 3
73 | m_Name: Fire3
74 | descriptiveName:
75 | descriptiveNegativeName:
76 | negativeButton:
77 | positiveButton: left cmd
78 | altNegativeButton:
79 | altPositiveButton: mouse 2
80 | gravity: 1000
81 | dead: .00100000005
82 | sensitivity: 1000
83 | snap: 0
84 | invert: 0
85 | type: 0
86 | axis: 0
87 | joyNum: 0
88 | - serializedVersion: 3
89 | m_Name: Jump
90 | descriptiveName:
91 | descriptiveNegativeName:
92 | negativeButton:
93 | positiveButton: space
94 | altNegativeButton:
95 | altPositiveButton:
96 | gravity: 1000
97 | dead: .00100000005
98 | sensitivity: 1000
99 | snap: 0
100 | invert: 0
101 | type: 0
102 | axis: 0
103 | joyNum: 0
104 | - serializedVersion: 3
105 | m_Name: Mouse X
106 | descriptiveName:
107 | descriptiveNegativeName:
108 | negativeButton:
109 | positiveButton:
110 | altNegativeButton:
111 | altPositiveButton:
112 | gravity: 0
113 | dead: 0
114 | sensitivity: .100000001
115 | snap: 0
116 | invert: 0
117 | type: 1
118 | axis: 0
119 | joyNum: 0
120 | - serializedVersion: 3
121 | m_Name: Mouse Y
122 | descriptiveName:
123 | descriptiveNegativeName:
124 | negativeButton:
125 | positiveButton:
126 | altNegativeButton:
127 | altPositiveButton:
128 | gravity: 0
129 | dead: 0
130 | sensitivity: .100000001
131 | snap: 0
132 | invert: 0
133 | type: 1
134 | axis: 1
135 | joyNum: 0
136 | - serializedVersion: 3
137 | m_Name: Mouse ScrollWheel
138 | descriptiveName:
139 | descriptiveNegativeName:
140 | negativeButton:
141 | positiveButton:
142 | altNegativeButton:
143 | altPositiveButton:
144 | gravity: 0
145 | dead: 0
146 | sensitivity: .100000001
147 | snap: 0
148 | invert: 0
149 | type: 1
150 | axis: 2
151 | joyNum: 0
152 | - serializedVersion: 3
153 | m_Name: Horizontal
154 | descriptiveName:
155 | descriptiveNegativeName:
156 | negativeButton:
157 | positiveButton:
158 | altNegativeButton:
159 | altPositiveButton:
160 | gravity: 0
161 | dead: .189999998
162 | sensitivity: 1
163 | snap: 0
164 | invert: 0
165 | type: 2
166 | axis: 0
167 | joyNum: 0
168 | - serializedVersion: 3
169 | m_Name: Vertical
170 | descriptiveName:
171 | descriptiveNegativeName:
172 | negativeButton:
173 | positiveButton:
174 | altNegativeButton:
175 | altPositiveButton:
176 | gravity: 0
177 | dead: .189999998
178 | sensitivity: 1
179 | snap: 0
180 | invert: 1
181 | type: 2
182 | axis: 1
183 | joyNum: 0
184 | - serializedVersion: 3
185 | m_Name: Fire1
186 | descriptiveName:
187 | descriptiveNegativeName:
188 | negativeButton:
189 | positiveButton: joystick button 0
190 | altNegativeButton:
191 | altPositiveButton:
192 | gravity: 1000
193 | dead: .00100000005
194 | sensitivity: 1000
195 | snap: 0
196 | invert: 0
197 | type: 0
198 | axis: 0
199 | joyNum: 0
200 | - serializedVersion: 3
201 | m_Name: Fire2
202 | descriptiveName:
203 | descriptiveNegativeName:
204 | negativeButton:
205 | positiveButton: joystick button 1
206 | altNegativeButton:
207 | altPositiveButton:
208 | gravity: 1000
209 | dead: .00100000005
210 | sensitivity: 1000
211 | snap: 0
212 | invert: 0
213 | type: 0
214 | axis: 0
215 | joyNum: 0
216 | - serializedVersion: 3
217 | m_Name: Fire3
218 | descriptiveName:
219 | descriptiveNegativeName:
220 | negativeButton:
221 | positiveButton: joystick button 2
222 | altNegativeButton:
223 | altPositiveButton:
224 | gravity: 1000
225 | dead: .00100000005
226 | sensitivity: 1000
227 | snap: 0
228 | invert: 0
229 | type: 0
230 | axis: 0
231 | joyNum: 0
232 | - serializedVersion: 3
233 | m_Name: Jump
234 | descriptiveName:
235 | descriptiveNegativeName:
236 | negativeButton:
237 | positiveButton: joystick button 3
238 | altNegativeButton:
239 | altPositiveButton:
240 | gravity: 1000
241 | dead: .00100000005
242 | sensitivity: 1000
243 | snap: 0
244 | invert: 0
245 | type: 0
246 | axis: 0
247 | joyNum: 0
248 | - serializedVersion: 3
249 | m_Name: Submit
250 | descriptiveName:
251 | descriptiveNegativeName:
252 | negativeButton:
253 | positiveButton: return
254 | altNegativeButton:
255 | altPositiveButton: joystick button 0
256 | gravity: 1000
257 | dead: .00100000005
258 | sensitivity: 1000
259 | snap: 0
260 | invert: 0
261 | type: 0
262 | axis: 0
263 | joyNum: 0
264 | - serializedVersion: 3
265 | m_Name: Submit
266 | descriptiveName:
267 | descriptiveNegativeName:
268 | negativeButton:
269 | positiveButton: enter
270 | altNegativeButton:
271 | altPositiveButton: space
272 | gravity: 1000
273 | dead: .00100000005
274 | sensitivity: 1000
275 | snap: 0
276 | invert: 0
277 | type: 0
278 | axis: 0
279 | joyNum: 0
280 | - serializedVersion: 3
281 | m_Name: Cancel
282 | descriptiveName:
283 | descriptiveNegativeName:
284 | negativeButton:
285 | positiveButton: escape
286 | altNegativeButton:
287 | altPositiveButton: joystick button 1
288 | gravity: 1000
289 | dead: .00100000005
290 | sensitivity: 1000
291 | snap: 0
292 | invert: 0
293 | type: 0
294 | axis: 0
295 | joyNum: 0
296 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/MemorySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!387306366 &1
4 | MemorySettings:
5 | m_ObjectHideFlags: 0
6 | m_EditorMemorySettings:
7 | m_MainAllocatorBlockSize: -1
8 | m_ThreadAllocatorBlockSize: -1
9 | m_MainGfxBlockSize: -1
10 | m_ThreadGfxBlockSize: -1
11 | m_CacheBlockSize: -1
12 | m_TypetreeBlockSize: -1
13 | m_ProfilerBlockSize: -1
14 | m_ProfilerEditorBlockSize: -1
15 | m_BucketAllocatorGranularity: -1
16 | m_BucketAllocatorBucketsCount: -1
17 | m_BucketAllocatorBlockSize: -1
18 | m_BucketAllocatorBlockCount: -1
19 | m_ProfilerBucketAllocatorGranularity: -1
20 | m_ProfilerBucketAllocatorBucketsCount: -1
21 | m_ProfilerBucketAllocatorBlockSize: -1
22 | m_ProfilerBucketAllocatorBlockCount: -1
23 | m_TempAllocatorSizeMain: -1
24 | m_JobTempAllocatorBlockSize: -1
25 | m_BackgroundJobTempAllocatorBlockSize: -1
26 | m_JobTempAllocatorReducedBlockSize: -1
27 | m_TempAllocatorSizeGIBakingWorker: -1
28 | m_TempAllocatorSizeNavMeshWorker: -1
29 | m_TempAllocatorSizeAudioWorker: -1
30 | m_TempAllocatorSizeCloudWorker: -1
31 | m_TempAllocatorSizeGfx: -1
32 | m_TempAllocatorSizeJobWorker: -1
33 | m_TempAllocatorSizeBackgroundWorker: -1
34 | m_TempAllocatorSizePreloadManager: -1
35 | m_PlatformMemorySettings: {}
36 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/MultiplayerManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!655991488 &1
4 | MultiplayerManager:
5 | m_ObjectHideFlags: 0
6 | m_EnableMultiplayerRoles: 0
7 | m_StrippingTypes: {}
8 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/NavMeshAreas.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!126 &1
4 | NavMeshAreas:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 2
7 | areas:
8 | - name: Walkable
9 | cost: 1
10 | - name: Not Walkable
11 | cost: 1
12 | - name: Jump
13 | cost: 2
14 | - name:
15 | cost: 1
16 | - name:
17 | cost: 1
18 | - name:
19 | cost: 1
20 | - name:
21 | cost: 1
22 | - name:
23 | cost: 1
24 | - name:
25 | cost: 1
26 | - name:
27 | cost: 1
28 | - name:
29 | cost: 1
30 | - name:
31 | cost: 1
32 | - name:
33 | cost: 1
34 | - name:
35 | cost: 1
36 | - name:
37 | cost: 1
38 | - name:
39 | cost: 1
40 | - name:
41 | cost: 1
42 | - name:
43 | cost: 1
44 | - name:
45 | cost: 1
46 | - name:
47 | cost: 1
48 | - name:
49 | cost: 1
50 | - name:
51 | cost: 1
52 | - name:
53 | cost: 1
54 | - name:
55 | cost: 1
56 | - name:
57 | cost: 1
58 | - name:
59 | cost: 1
60 | - name:
61 | cost: 1
62 | - name:
63 | cost: 1
64 | - name:
65 | cost: 1
66 | - name:
67 | cost: 1
68 | - name:
69 | cost: 1
70 | - name:
71 | cost: 1
72 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/NetworkManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!149 &1
4 | NetworkManager:
5 | m_ObjectHideFlags: 0
6 | m_DebugLevel: 0
7 | m_Sendrate: 15
8 | m_AssetToPrefab: {}
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/PackageManagerSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 13964, guid: 0000000000000000e000000000000000, type: 0}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | m_EnablePreReleasePackages: 1
16 | m_EnablePackageDependencies: 1
17 | m_AdvancedSettingsExpanded: 1
18 | m_ScopedRegistriesSettingsExpanded: 1
19 | m_SeeAllPackageVersions: 0
20 | oneTimeWarningShown: 1
21 | m_Registries:
22 | - m_Id: main
23 | m_Name:
24 | m_Url: https://packages.unity.com
25 | m_Scopes: []
26 | m_IsDefault: 1
27 | m_Capabilities: 7
28 | m_UserSelectedRegistryName:
29 | m_UserAddingNewScopedRegistry: 0
30 | m_RegistryInfoDraft:
31 | m_Modified: 0
32 | m_ErrorMessage:
33 | m_UserModificationsInstanceId: -824
34 | m_OriginalInstanceId: -826
35 | m_LoadAssets: 0
36 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/Packages/com.unity.services.core/Settings.json:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/Unity_Test_Project/ProjectSettings/Packages/com.unity.services.core/Settings.json
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/Physics2DSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!19 &1
4 | Physics2DSettings:
5 | m_ObjectHideFlags: 0
6 | m_Gravity: {x: 0, y: -9.81000042}
7 | m_DefaultMaterial: {fileID: 0}
8 | m_VelocityIterations: 8
9 | m_PositionIterations: 3
10 | m_VelocityThreshold: 1
11 | m_MaxLinearCorrection: .200000003
12 | m_MaxAngularCorrection: 8
13 | m_MaxTranslationSpeed: 100
14 | m_MaxRotationSpeed: 360
15 | m_MinPenetrationForPenalty: .00999999978
16 | m_BaumgarteScale: .200000003
17 | m_BaumgarteTimeOfImpactScale: .75
18 | m_TimeToSleep: .5
19 | m_LinearSleepTolerance: .00999999978
20 | m_AngularSleepTolerance: 2
21 | m_RaycastsHitTriggers: 1
22 | m_RaycastsStartInColliders: 1
23 | m_ChangeStopsCallbacks: 0
24 | m_LayerCollisionMatrix: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff
25 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/PresetManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!1386491679 &1
4 | PresetManager:
5 | m_ObjectHideFlags: 0
6 | m_DefaultList: []
7 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/ProjectVersion.txt:
--------------------------------------------------------------------------------
1 | m_EditorVersion: 6000.1.1f1
2 | m_EditorVersionWithRevision: 6000.1.1f1 (7197418f847b)
3 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/QualitySettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!47 &1
4 | QualitySettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 5
7 | m_CurrentQuality: 0
8 | m_QualitySettings:
9 | - serializedVersion: 2
10 | name: Fastest
11 | pixelLightCount: 0
12 | shadows: 0
13 | shadowResolution: 0
14 | shadowProjection: 1
15 | shadowCascades: 1
16 | shadowDistance: 15
17 | shadowNearPlaneOffset: 3
18 | shadowCascade2Split: 0.33333334
19 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
20 | shadowmaskMode: 0
21 | skinWeights: 1
22 | textureQuality: 1
23 | anisotropicTextures: 0
24 | antiAliasing: 0
25 | softParticles: 0
26 | softVegetation: 0
27 | realtimeReflectionProbes: 0
28 | billboardsFaceCameraPosition: 0
29 | vSyncCount: 0
30 | lodBias: 0.3
31 | maximumLODLevel: 0
32 | streamingMipmapsActive: 0
33 | streamingMipmapsAddAllCameras: 1
34 | streamingMipmapsMemoryBudget: 512
35 | streamingMipmapsRenderersPerFrame: 512
36 | streamingMipmapsMaxLevelReduction: 2
37 | streamingMipmapsMaxFileIORequests: 1024
38 | particleRaycastBudget: 4
39 | asyncUploadTimeSlice: 2
40 | asyncUploadBufferSize: 16
41 | asyncUploadPersistentBuffer: 1
42 | resolutionScalingFixedDPIFactor: 1
43 | customRenderPipeline: {fileID: 0}
44 | excludedTargetPlatforms: []
45 | - serializedVersion: 2
46 | name: Fast
47 | pixelLightCount: 0
48 | shadows: 0
49 | shadowResolution: 0
50 | shadowProjection: 1
51 | shadowCascades: 1
52 | shadowDistance: 20
53 | shadowNearPlaneOffset: 3
54 | shadowCascade2Split: 0.33333334
55 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
56 | shadowmaskMode: 0
57 | skinWeights: 2
58 | textureQuality: 0
59 | anisotropicTextures: 0
60 | antiAliasing: 0
61 | softParticles: 0
62 | softVegetation: 0
63 | realtimeReflectionProbes: 0
64 | billboardsFaceCameraPosition: 0
65 | vSyncCount: 0
66 | lodBias: 0.4
67 | maximumLODLevel: 0
68 | streamingMipmapsActive: 0
69 | streamingMipmapsAddAllCameras: 1
70 | streamingMipmapsMemoryBudget: 512
71 | streamingMipmapsRenderersPerFrame: 512
72 | streamingMipmapsMaxLevelReduction: 2
73 | streamingMipmapsMaxFileIORequests: 1024
74 | particleRaycastBudget: 16
75 | asyncUploadTimeSlice: 2
76 | asyncUploadBufferSize: 16
77 | asyncUploadPersistentBuffer: 1
78 | resolutionScalingFixedDPIFactor: 1
79 | customRenderPipeline: {fileID: 0}
80 | excludedTargetPlatforms: []
81 | - serializedVersion: 2
82 | name: Simple
83 | pixelLightCount: 1
84 | shadows: 1
85 | shadowResolution: 0
86 | shadowProjection: 1
87 | shadowCascades: 1
88 | shadowDistance: 20
89 | shadowNearPlaneOffset: 3
90 | shadowCascade2Split: 0.33333334
91 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
92 | shadowmaskMode: 0
93 | skinWeights: 2
94 | textureQuality: 0
95 | anisotropicTextures: 1
96 | antiAliasing: 0
97 | softParticles: 0
98 | softVegetation: 0
99 | realtimeReflectionProbes: 0
100 | billboardsFaceCameraPosition: 0
101 | vSyncCount: 0
102 | lodBias: 0.7
103 | maximumLODLevel: 0
104 | streamingMipmapsActive: 0
105 | streamingMipmapsAddAllCameras: 1
106 | streamingMipmapsMemoryBudget: 512
107 | streamingMipmapsRenderersPerFrame: 512
108 | streamingMipmapsMaxLevelReduction: 2
109 | streamingMipmapsMaxFileIORequests: 1024
110 | particleRaycastBudget: 64
111 | asyncUploadTimeSlice: 2
112 | asyncUploadBufferSize: 16
113 | asyncUploadPersistentBuffer: 1
114 | resolutionScalingFixedDPIFactor: 1
115 | customRenderPipeline: {fileID: 0}
116 | excludedTargetPlatforms: []
117 | - serializedVersion: 2
118 | name: Good
119 | pixelLightCount: 2
120 | shadows: 2
121 | shadowResolution: 1
122 | shadowProjection: 1
123 | shadowCascades: 2
124 | shadowDistance: 40
125 | shadowNearPlaneOffset: 3
126 | shadowCascade2Split: 0.33333334
127 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
128 | shadowmaskMode: 1
129 | skinWeights: 2
130 | textureQuality: 0
131 | anisotropicTextures: 1
132 | antiAliasing: 0
133 | softParticles: 0
134 | softVegetation: 1
135 | realtimeReflectionProbes: 1
136 | billboardsFaceCameraPosition: 1
137 | vSyncCount: 1
138 | lodBias: 1
139 | maximumLODLevel: 0
140 | streamingMipmapsActive: 0
141 | streamingMipmapsAddAllCameras: 1
142 | streamingMipmapsMemoryBudget: 512
143 | streamingMipmapsRenderersPerFrame: 512
144 | streamingMipmapsMaxLevelReduction: 2
145 | streamingMipmapsMaxFileIORequests: 1024
146 | particleRaycastBudget: 256
147 | asyncUploadTimeSlice: 2
148 | asyncUploadBufferSize: 16
149 | asyncUploadPersistentBuffer: 1
150 | resolutionScalingFixedDPIFactor: 1
151 | customRenderPipeline: {fileID: 0}
152 | excludedTargetPlatforms: []
153 | - serializedVersion: 2
154 | name: Beautiful
155 | pixelLightCount: 3
156 | shadows: 2
157 | shadowResolution: 2
158 | shadowProjection: 1
159 | shadowCascades: 2
160 | shadowDistance: 70
161 | shadowNearPlaneOffset: 3
162 | shadowCascade2Split: 0.33333334
163 | shadowCascade4Split: {x: 0.06666667, y: 0.2, z: 0.46666667}
164 | shadowmaskMode: 1
165 | skinWeights: 4
166 | textureQuality: 0
167 | anisotropicTextures: 2
168 | antiAliasing: 2
169 | softParticles: 1
170 | softVegetation: 1
171 | realtimeReflectionProbes: 1
172 | billboardsFaceCameraPosition: 1
173 | vSyncCount: 1
174 | lodBias: 1.5
175 | maximumLODLevel: 0
176 | streamingMipmapsActive: 0
177 | streamingMipmapsAddAllCameras: 1
178 | streamingMipmapsMemoryBudget: 512
179 | streamingMipmapsRenderersPerFrame: 512
180 | streamingMipmapsMaxLevelReduction: 2
181 | streamingMipmapsMaxFileIORequests: 1024
182 | particleRaycastBudget: 1024
183 | asyncUploadTimeSlice: 2
184 | asyncUploadBufferSize: 16
185 | asyncUploadPersistentBuffer: 1
186 | resolutionScalingFixedDPIFactor: 1
187 | customRenderPipeline: {fileID: 0}
188 | excludedTargetPlatforms: []
189 | - serializedVersion: 2
190 | name: Fantastic
191 | pixelLightCount: 4
192 | shadows: 2
193 | shadowResolution: 2
194 | shadowProjection: 1
195 | shadowCascades: 4
196 | shadowDistance: 150
197 | shadowNearPlaneOffset: 3
198 | shadowCascade2Split: 0.33333334
199 | shadowCascade4Split: {x: 0.06666667, y: 0.19999999, z: 0.46666664}
200 | shadowmaskMode: 1
201 | skinWeights: 4
202 | textureQuality: 0
203 | anisotropicTextures: 2
204 | antiAliasing: 2
205 | softParticles: 1
206 | softVegetation: 1
207 | realtimeReflectionProbes: 1
208 | billboardsFaceCameraPosition: 1
209 | vSyncCount: 0
210 | lodBias: 2
211 | maximumLODLevel: 0
212 | streamingMipmapsActive: 0
213 | streamingMipmapsAddAllCameras: 1
214 | streamingMipmapsMemoryBudget: 512
215 | streamingMipmapsRenderersPerFrame: 512
216 | streamingMipmapsMaxLevelReduction: 2
217 | streamingMipmapsMaxFileIORequests: 1024
218 | particleRaycastBudget: 4096
219 | asyncUploadTimeSlice: 2
220 | asyncUploadBufferSize: 16
221 | asyncUploadPersistentBuffer: 1
222 | resolutionScalingFixedDPIFactor: 1
223 | customRenderPipeline: {fileID: 0}
224 | excludedTargetPlatforms: []
225 | m_PerPlatformDefaultQuality:
226 | Android: 0
227 | BlackBerry: 0
228 | Server: 0
229 | Standalone: 0
230 | WP8: 0
231 | Web: 0
232 | WebGL: 0
233 | Windows Store Apps: 0
234 | iPhone: 0
235 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/SceneTemplateSettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "templatePinStates": [],
3 | "dependencyTypeInfos": [
4 | {
5 | "userAdded": false,
6 | "type": "UnityEngine.AnimationClip",
7 | "defaultInstantiationMode": 0
8 | },
9 | {
10 | "userAdded": false,
11 | "type": "UnityEditor.Animations.AnimatorController",
12 | "defaultInstantiationMode": 0
13 | },
14 | {
15 | "userAdded": false,
16 | "type": "UnityEngine.AnimatorOverrideController",
17 | "defaultInstantiationMode": 0
18 | },
19 | {
20 | "userAdded": false,
21 | "type": "UnityEditor.Audio.AudioMixerController",
22 | "defaultInstantiationMode": 0
23 | },
24 | {
25 | "userAdded": false,
26 | "type": "UnityEngine.ComputeShader",
27 | "defaultInstantiationMode": 1
28 | },
29 | {
30 | "userAdded": false,
31 | "type": "UnityEngine.Cubemap",
32 | "defaultInstantiationMode": 0
33 | },
34 | {
35 | "userAdded": false,
36 | "type": "UnityEngine.GameObject",
37 | "defaultInstantiationMode": 0
38 | },
39 | {
40 | "userAdded": false,
41 | "type": "UnityEditor.LightingDataAsset",
42 | "defaultInstantiationMode": 0
43 | },
44 | {
45 | "userAdded": false,
46 | "type": "UnityEngine.LightingSettings",
47 | "defaultInstantiationMode": 0
48 | },
49 | {
50 | "userAdded": false,
51 | "type": "UnityEngine.Material",
52 | "defaultInstantiationMode": 0
53 | },
54 | {
55 | "userAdded": false,
56 | "type": "UnityEditor.MonoScript",
57 | "defaultInstantiationMode": 1
58 | },
59 | {
60 | "userAdded": false,
61 | "type": "UnityEngine.PhysicMaterial",
62 | "defaultInstantiationMode": 0
63 | },
64 | {
65 | "userAdded": false,
66 | "type": "UnityEngine.PhysicsMaterial",
67 | "defaultInstantiationMode": 0
68 | },
69 | {
70 | "userAdded": false,
71 | "type": "UnityEngine.PhysicsMaterial2D",
72 | "defaultInstantiationMode": 0
73 | },
74 | {
75 | "userAdded": false,
76 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessProfile",
77 | "defaultInstantiationMode": 0
78 | },
79 | {
80 | "userAdded": false,
81 | "type": "UnityEngine.Rendering.PostProcessing.PostProcessResources",
82 | "defaultInstantiationMode": 0
83 | },
84 | {
85 | "userAdded": false,
86 | "type": "UnityEngine.Rendering.VolumeProfile",
87 | "defaultInstantiationMode": 0
88 | },
89 | {
90 | "userAdded": false,
91 | "type": "UnityEditor.SceneAsset",
92 | "defaultInstantiationMode": 0
93 | },
94 | {
95 | "userAdded": false,
96 | "type": "UnityEngine.Shader",
97 | "defaultInstantiationMode": 1
98 | },
99 | {
100 | "userAdded": false,
101 | "type": "UnityEngine.ShaderVariantCollection",
102 | "defaultInstantiationMode": 1
103 | },
104 | {
105 | "userAdded": false,
106 | "type": "UnityEngine.Texture",
107 | "defaultInstantiationMode": 0
108 | },
109 | {
110 | "userAdded": false,
111 | "type": "UnityEngine.Texture2D",
112 | "defaultInstantiationMode": 0
113 | },
114 | {
115 | "userAdded": false,
116 | "type": "UnityEngine.Timeline.TimelineAsset",
117 | "defaultInstantiationMode": 0
118 | }
119 | ],
120 | "defaultDependencyTypeInfo": {
121 | "userAdded": false,
122 | "type": "",
123 | "defaultInstantiationMode": 1
124 | },
125 | "newSceneOverride": 0
126 | }
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/TagManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!78 &1
4 | TagManager:
5 | serializedVersion: 2
6 | tags: []
7 | layers:
8 | - Default
9 | - TransparentFX
10 | - Ignore Raycast
11 | -
12 | - Water
13 | - UI
14 | -
15 | -
16 | -
17 | -
18 | -
19 | -
20 | -
21 | -
22 | -
23 | -
24 | -
25 | -
26 | -
27 | -
28 | -
29 | -
30 | -
31 | -
32 | -
33 | -
34 | -
35 | -
36 | -
37 | -
38 | -
39 | -
40 | m_SortingLayers:
41 | - name: Default
42 | uniqueID: 0
43 | locked: 0
44 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/TimeManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!5 &1
4 | TimeManager:
5 | m_ObjectHideFlags: 0
6 | Fixed Timestep: .0199999996
7 | Maximum Allowed Timestep: .333333343
8 | m_TimeScale: 1
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/TimelineSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!114 &1
4 | MonoBehaviour:
5 | m_ObjectHideFlags: 61
6 | m_CorrespondingSourceObject: {fileID: 0}
7 | m_PrefabInstance: {fileID: 0}
8 | m_PrefabAsset: {fileID: 0}
9 | m_GameObject: {fileID: 0}
10 | m_Enabled: 1
11 | m_EditorHideFlags: 0
12 | m_Script: {fileID: 11500000, guid: a287be6c49135cd4f9b2b8666c39d999, type: 3}
13 | m_Name:
14 | m_EditorClassIdentifier:
15 | assetDefaultFramerate: 60
16 | m_DefaultFrameRate: 60
17 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/UnityAdsSettings.asset.meta:
--------------------------------------------------------------------------------
1 | fileFormatVersion: 2
2 | guid: 00000000000000008100000000000000
3 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/UnityConnectSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!310 &1
4 | UnityConnectSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 1
7 | m_Enabled: 1
8 | m_TestMode: 0
9 | m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
10 | m_EventUrl: https://cdp.cloud.unity3d.com/v1/events
11 | m_ConfigUrl: https://config.uca.cloud.unity3d.com
12 | m_DashboardUrl: https://dashboard.unity3d.com
13 | m_TestInitMode: 0
14 | CrashReportingSettings:
15 | m_EventUrl: https://perf-events.cloud.unity3d.com
16 | m_Enabled: 0
17 | m_LogBufferSize: 10
18 | m_CaptureEditorExceptions: 1
19 | UnityPurchasingSettings:
20 | m_Enabled: 0
21 | m_TestMode: 0
22 | UnityAnalyticsSettings:
23 | m_Enabled: 0
24 | m_TestMode: 0
25 | m_InitializeOnStartup: 1
26 | m_PackageRequiringCoreStatsPresent: 1
27 | UnityAdsSettings:
28 | m_Enabled: 0
29 | m_InitializeOnStartup: 1
30 | m_TestMode: 0
31 | m_IosGameId:
32 | m_AndroidGameId:
33 | m_GameIds: {}
34 | m_GameId:
35 | PerformanceReportingSettings:
36 | m_Enabled: 0
37 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/VFXManager.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!937362698 &1
4 | VFXManager:
5 | m_ObjectHideFlags: 0
6 | m_IndirectShader: {fileID: 0}
7 | m_CopyBufferShader: {fileID: 0}
8 | m_SortShader: {fileID: 0}
9 | m_RenderPipeSettingsPath:
10 | m_FixedTimeStep: 0.016666668
11 | m_MaxDeltaTime: 0.05
12 |
--------------------------------------------------------------------------------
/Unity_Test_Project/ProjectSettings/VersionControlSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!890905787 &1
4 | VersionControlSettings:
5 | m_ObjectHideFlags: 0
6 | m_Mode: Visible Meta Files
7 | m_CollabEditorSettings:
8 | inProgressEnabled: 1
9 |
--------------------------------------------------------------------------------
/Unity_Test_Project/UserSettings/EditorUserSettings.asset:
--------------------------------------------------------------------------------
1 | %YAML 1.1
2 | %TAG !u! tag:unity3d.com,2011:
3 | --- !u!162 &1
4 | EditorUserSettings:
5 | m_ObjectHideFlags: 0
6 | serializedVersion: 4
7 | m_ConfigSettings:
8 | RecentlyUsedSceneGuid-0:
9 | value: 07090000520d5f590908597441220a4447154a7d7d7077352c2b4431b1b36039
10 | flags: 0
11 | RecentlyUsedSceneGuid-1:
12 | value: 07520756040c080d5b5c0e7746700a4417154178787020637b2f4861e7e3643e
13 | flags: 0
14 | RecentlyUsedSceneGuid-2:
15 | value: 005356025156500c0c565b7046265d44424e4f2b287e27617e2d4966bae6663d
16 | flags: 0
17 | RecentlyUsedSceneGuid-3:
18 | value: 05015251000708085c56597011755c44474e1a297b7f253375704436e7b2663e
19 | flags: 0
20 | RecentlyUsedSceneGuid-4:
21 | value: 5553045f5d0c505e0e5d5f7015260f4413154c7c297a7e6029791965e6e26261
22 | flags: 0
23 | RecentlyUsedSceneGuid-5:
24 | value: 50520d5750535f5d0c5d0f7747710d4417161e7e747d2469297a4867e7b16268
25 | flags: 0
26 | RecentlyUsedSceneGuid-6:
27 | value: 54040c02515158595b0d0d7340735d44424f1d79757e70312e7b4a30e0b56d61
28 | flags: 0
29 | RecentlyUsedSceneGuid-7:
30 | value: 0653030355045f0e5b59097012730d4441164828742a77327a794835b6e66d60
31 | flags: 0
32 | RecentlyUsedSceneGuid-8:
33 | value: 57050c54500559090e5a097042765e4441164f2b792975312f2d4f6ab1b9306b
34 | flags: 0
35 | RecentlyUsedSceneGuid-9:
36 | value: 000955545d010c025f5f5d7041210d441016492c7a7f73677a7f4e60bbb9646c
37 | flags: 0
38 | vcSharedLogLevel:
39 | value: 0d5e400f0650
40 | flags: 0
41 | m_VCAutomaticAdd: 1
42 | m_VCDebugCom: 0
43 | m_VCDebugCmd: 0
44 | m_VCDebugOut: 0
45 | m_SemanticMergeMode: 2
46 | m_DesiredImportWorkerCount: 2
47 | m_StandbyImportWorkerCount: 2
48 | m_IdleImportWorkerShutdownDelay: 60000
49 | m_VCShowFailedCheckout: 1
50 | m_VCOverwriteFailedCheckoutAssets: 1
51 | m_VCProjectOverlayIcons: 1
52 | m_VCHierarchyOverlayIcons: 1
53 | m_VCOtherOverlayIcons: 1
54 | m_VCAllowAsyncUpdate: 0
55 | m_VCScanLocalPackagesOnConnect: 1
56 | m_ArtifactGarbageCollection: 1
57 | m_CompressAssetsOnImport: 1
58 |
--------------------------------------------------------------------------------
/Unity_Test_Project/UserSettings/Search.index:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Assets",
3 | "roots": ["Assets"],
4 | "includes": [],
5 | "excludes": [],
6 | "options": {
7 | "types": true,
8 | "properties": true,
9 | "extended": false,
10 | "dependencies": false
11 | },
12 | "baseScore": 999
13 | }
--------------------------------------------------------------------------------
/Unity_Test_Project/UserSettings/Search.settings:
--------------------------------------------------------------------------------
1 | trackSelection = true
2 | refreshSearchWindowsInPlayMode = false
3 | fetchPreview = true
4 | defaultFlags = 0
5 | keepOpen = false
6 | queryFolder = "Assets"
7 | onBoardingDoNotAskAgain = true
8 | showPackageIndexes = false
9 | showStatusBar = false
10 | scopes = {
11 | }
12 | providers = {
13 | performance = {
14 | active = false
15 | priority = 100
16 | defaultAction = null
17 | }
18 | log = {
19 | active = false
20 | priority = 210
21 | defaultAction = null
22 | }
23 | scene = {
24 | active = true
25 | priority = 50
26 | defaultAction = null
27 | }
28 | adb = {
29 | active = false
30 | priority = 2500
31 | defaultAction = null
32 | }
33 | store = {
34 | active = false
35 | priority = 100
36 | defaultAction = null
37 | }
38 | asset = {
39 | active = true
40 | priority = 25
41 | defaultAction = null
42 | }
43 | profilermarkers = {
44 | active = false
45 | priority = 100
46 | defaultAction = null
47 | }
48 | find = {
49 | active = true
50 | priority = 25
51 | defaultAction = null
52 | }
53 | packages = {
54 | active = false
55 | priority = 90
56 | defaultAction = null
57 | }
58 | }
59 | objectSelectors = {
60 | }
61 | recentSearches = [
62 | ]
63 | searchItemFavorites = [
64 | ]
65 | savedSearchesSortOrder = 0
66 | showSavedSearchPanel = false
67 | hideTabs = false
68 | expandedQueries = [
69 | ]
70 | queryBuilder = true
71 | ignoredProperties = "id;name;classname;imagecontentshash"
72 | helperWidgetCurrentArea = "all"
73 | disabledIndexers = ""
74 | minIndexVariations = 2
75 | findProviderIndexHelper = true
--------------------------------------------------------------------------------
/docs/.editorconfig:
--------------------------------------------------------------------------------
1 | # editorconfig.org
2 |
3 | root = true
4 |
5 | [*]
6 | indent_style = space
7 | indent_size = 2
8 | end_of_line = lf
9 | charset = utf-8
10 | trim_trailing_whitespace = true
11 | insert_final_newline = true
--------------------------------------------------------------------------------
/docs/.eslintignore:
--------------------------------------------------------------------------------
1 | assets/js/index.js
2 | assets/js/katex.js
3 | assets/js/vendor
4 | node_modules
--------------------------------------------------------------------------------
/docs/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "env": {
3 | "browser": true,
4 | "commonjs": true,
5 | "es6": true,
6 | "node": true
7 | },
8 | "extends": "eslint:recommended",
9 | "globals": {
10 | "Atomics": "readonly",
11 | "SharedArrayBuffer": "readonly"
12 | },
13 | "parserOptions": {
14 | "ecmaVersion": 2018,
15 | "sourceType": "module"
16 | },
17 | "rules": {
18 | "no-console": 0,
19 | "quotes": ["error", "single"],
20 | "comma-dangle": [
21 | "error",
22 | {
23 | "arrays": "always-multiline",
24 | "objects": "always-multiline",
25 | "imports": "always-multiline",
26 | "exports": "always-multiline",
27 | "functions": "ignore"
28 | }
29 | ]
30 | }
31 | }
--------------------------------------------------------------------------------
/docs/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | public
3 | resources
4 | .netlify
5 | .hugo_build.lock
--------------------------------------------------------------------------------
/docs/.markdownlint-cli2.jsonc:
--------------------------------------------------------------------------------
1 | {
2 | "config": {
3 | "default": true,
4 | "MD013": false,
5 | "MD024": false,
6 | "MD026": false,
7 | "MD033": false,
8 | "MD034": false
9 | },
10 | "ignores": ["node_modules", "CHANGELOG.md", "README.md"]
11 | }
--------------------------------------------------------------------------------
/docs/.npmrc:
--------------------------------------------------------------------------------
1 | enable-pre-post-scripts = true
2 | auto-install-peers = true
3 | node-linker = hoisted
4 | prefer-symlinked-executables = false
--------------------------------------------------------------------------------
/docs/.stylelintignore:
--------------------------------------------------------------------------------
1 | assets/scss/components/_syntax.scss
2 | assets/scss/vendor
3 | node_modules
--------------------------------------------------------------------------------
/docs/.stylelintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "stylelint-config-standard-scss",
3 | "rules": {
4 | "no-empty-source": null,
5 | "string-quotes": "double",
6 | "scss/comment-no-empty": null,
7 | "max-line-length": null,
8 | "scss/at-extend-no-missing-placeholder": null,
9 | "scss/dollar-variable-colon-space-after": null,
10 | "scss/dollar-variable-empty-line-before": null,
11 | "color-function-notation": null,
12 | "alpha-value-notation": null,
13 | "selector-id-pattern": null,
14 | "selector-class-pattern": null,
15 | "scss/no-global-function-names": null,
16 | "number-max-precision": null,
17 | "hue-degree-notation": null,
18 | "value-no-vendor-prefix": null,
19 | "property-no-vendor-prefix": null,
20 | "at-rule-no-unknown": [
21 | true,
22 | {
23 | "ignoreAtRules": [
24 | "extend",
25 | "at-root",
26 | "debug",
27 | "warn",
28 | "error",
29 | "if",
30 | "else",
31 | "for",
32 | "each",
33 | "while",
34 | "mixin",
35 | "include",
36 | "content",
37 | "return",
38 | "function",
39 | "tailwind",
40 | "apply",
41 | "responsive",
42 | "variants",
43 | "screen"
44 | ]
45 | }
46 | ]
47 | }
48 | }
--------------------------------------------------------------------------------
/docs/assets/cover.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/assets/cover.png
--------------------------------------------------------------------------------
/docs/assets/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/assets/favicon.ico
--------------------------------------------------------------------------------
/docs/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/assets/favicon.png
--------------------------------------------------------------------------------
/docs/assets/images/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/assets/images/.gitkeep
--------------------------------------------------------------------------------
/docs/assets/js/custom.js:
--------------------------------------------------------------------------------
1 | // Put your custom JS code here
2 |
--------------------------------------------------------------------------------
/docs/assets/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "baseUrl": ".",
4 | "paths": {
5 | "*": ["*", "..\\node_modules\\@hyas\\doks-core\\assets\\*"]
6 | }
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/docs/assets/scss/common/_custom.scss:
--------------------------------------------------------------------------------
1 | // Put your custom SCSS code here
2 |
--------------------------------------------------------------------------------
/docs/assets/scss/common/_variables-custom.scss:
--------------------------------------------------------------------------------
1 | // Put your custom SCSS variables here
2 |
3 | // Light mode
4 | $primary: hsl(163, 100%, 30%);
5 |
6 | // Dark mode
7 | $link-color-dark: hsl(163, 99%, 48%);
8 | $button-color-dark: hsl(163, 99%, 48%);
9 |
10 | :root,
11 | ::backdrop {
12 | --sl-color-accent-high: hsl(163, 99%, 48%);
13 | }
--------------------------------------------------------------------------------
/docs/assets/svgs/.gitkeep:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/assets/svgs/.gitkeep
--------------------------------------------------------------------------------
/docs/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | [
4 | '@babel/preset-env',
5 | {
6 | targets: {
7 | browsers: [
8 | // Best practice: https://github.com/babel/babel/issues/7789
9 | '>=1%',
10 | 'not ie 11',
11 | 'not op_mini all'
12 | ]
13 | }
14 | }
15 | ]
16 | ]
17 | };
--------------------------------------------------------------------------------
/docs/config/_default/hugo.toml:
--------------------------------------------------------------------------------
1 | title = "Unity Geometry Sequence Player"
2 | baseurl = "https://localhost/"
3 | canonifyURLs = false
4 | disableAliases = true
5 | disableHugoGeneratorInject = true
6 | # disableKinds = ["taxonomy", "term"]
7 | enableEmoji = true
8 | enableGitInfo = false
9 | enableRobotsTXT = true
10 | languageCode = "en-US"
11 | paginate = 10
12 | rssLimit = 10
13 | summarylength = 20 # 70 (default)
14 |
15 | # Multilingual
16 | defaultContentLanguage = "en"
17 | disableLanguages = ["de", "nl"]
18 | defaultContentLanguageInSubdir = false
19 |
20 | copyRight = "Copyright (c) 2020-2024 Hyas"
21 |
22 | [build.buildStats]
23 | enable = true
24 |
25 | [outputs]
26 | home = ["HTML", "RSS", "searchIndex"]
27 | section = ["HTML", "RSS", "SITEMAP"]
28 |
29 | [outputFormats.searchIndex]
30 | mediaType = "application/json"
31 | baseName = "search-index"
32 | isPlainText = true
33 | notAlternative = true
34 |
35 | # Add output format for section sitemap.xml
36 | [outputFormats.SITEMAP]
37 | mediaType = "application/xml"
38 | baseName = "sitemap"
39 | isHTML = false
40 | isPlainText = true
41 | noUgly = true
42 | rel = "sitemap"
43 |
44 | [sitemap]
45 | changefreq = "monthly"
46 | filename = "sitemap.xml"
47 | priority = 0.5
48 |
49 | [caches]
50 | [caches.getjson]
51 | dir = ":cacheDir/:project"
52 | maxAge = -1 # "30m"
53 |
54 | [taxonomies]
55 | contributor = "contributors"
56 | category = "categories"
57 | tag = "tags"
58 |
59 | [permalinks]
60 | blog = "/blog/:slug/"
61 | docs = "/docs/:sections[1:]/:slug/"
62 | # docs = "/docs/1.0/:sections[1:]/:slug/"
63 |
64 | [minify.tdewolff.html]
65 | keepWhitespace = false
66 |
67 | [related]
68 | threshold = 80
69 | includeNewer = true
70 | toLower = false
71 | [[related.indices]]
72 | name = "categories"
73 | weight = 100
74 | [[related.indices]]
75 | name = "tags"
76 | weight = 80
77 | [[related.indices]]
78 | name = "date"
79 | weight = 10
80 |
81 | [imaging]
82 | anchor = "Center"
83 | bgColor = "#ffffff"
84 | hint = "photo"
85 | quality = 100
86 | resampleFilter = "Lanczos"
--------------------------------------------------------------------------------
/docs/config/_default/languages.toml:
--------------------------------------------------------------------------------
1 | [en]
2 | languageName = "English"
3 | contentDir = "content/en"
4 | weight = 10
5 | [en.params]
6 | languageISO = "EN"
7 | languageTag = "en-US"
--------------------------------------------------------------------------------
/docs/config/_default/markup.toml:
--------------------------------------------------------------------------------
1 | defaultMarkdownHandler = "goldmark"
2 |
3 | [goldmark]
4 | [goldmark.extensions]
5 | linkify = false
6 | [goldmark.parser]
7 | autoHeadingID = true
8 | autoHeadingIDType = "github"
9 | [goldmark.parser.attribute]
10 | block = true
11 | title = true
12 | [goldmark.renderer]
13 | unsafe = true
14 |
15 | [highlight]
16 | codeFences = true
17 | guessSyntax = false
18 | hl_Lines = ""
19 | lineNoStart = 1
20 | lineNos = false
21 | lineNumbersInTable = true
22 | noClasses = false
23 | style = "dracula"
24 | tabWidth = 4
25 |
26 | [tableOfContents]
27 | endLevel = 3
28 | ordered = false
29 | startLevel = 2
30 |
--------------------------------------------------------------------------------
/docs/config/_default/menus/menus.en.toml:
--------------------------------------------------------------------------------
1 | #Sidebar menu items
2 |
3 | [[main]]
4 | name = "Get started"
5 | weight = 10
6 | identifier = "get-started"
7 | url = "/docs/quickstart/quick-start"
8 |
9 | [[main]]
10 | name = "Documentation"
11 | url = "/docs/tutorials/tutorial"
12 | identifier = "docs"
13 | weight = 20
14 |
15 | [[main]]
16 | name = "Quick Start"
17 | weight = 40
18 | identifier = "quick-start-menu"
19 | url = "/docs/quickstart/quick-start/"
20 | parent = "docs"
21 |
22 | [[main]]
23 | name = "Tutorials"
24 | weight = 50
25 | identifier = "tutorials-menu"
26 | url = "docs/tutorials/installation"
27 | parent = "docs"
28 |
29 | [[main]]
30 | name = "Help"
31 | weight = 60
32 | identifier = "help-menu"
33 | url = "docs/help/support"
34 | parent = "docs"
35 |
36 | [[main]]
37 | name = "About"
38 | weight = 70
39 | identifier = "about-menu"
40 | url = "docs/about/building-volumes"
41 | parent = "docs"
42 |
43 | # Documentation Sections
44 |
45 | [[docs]]
46 | name = "Quickstart"
47 | weight = 10
48 | identifier = "quick-start"
49 | url = "/docs/quickstart/"
50 |
51 | [[docs]]
52 | name = "Tutorial"
53 | weight = 20
54 | identifier = "tutorial"
55 | url = "/docs/tutorials/"
56 |
57 | [[docs]]
58 | name = "Help"
59 | weight = 30
60 | identifier = "help"
61 | url = "/docs/help/"
62 |
63 | [[docs]]
64 | name = "About"
65 | weight = 40
66 | identifier = "about"
67 | url = "/docs/about/"
68 |
69 | # Social links
70 |
71 | [[social]]
72 | name = "GitHub"
73 | pre = " "
74 | url = "https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player"
75 | post = "v0.1.0"
76 | weight = 10
77 |
78 | [[social]]
79 | name = "Unity Forums"
80 | pre = " "
81 | url = "https://assetstore.unity.com/packages/slug/307918"
82 | post = "v0.1.0"
83 | weight = 20
--------------------------------------------------------------------------------
/docs/config/_default/module.toml:
--------------------------------------------------------------------------------
1 | # mounts
2 | ## archetypes
3 | [[mounts]]
4 | source = "node_modules/@hyas/doks-core/archetypes"
5 | target = "archetypes"
6 |
7 | [[mounts]]
8 | source = "archetypes"
9 | target = "archetypes"
10 |
11 | ## assets
12 | [[mounts]]
13 | source = "node_modules/@hyas/core/assets"
14 | target = "assets"
15 |
16 | [[mounts]]
17 | source = "node_modules/@hyas/images/assets"
18 | target = "assets"
19 |
20 | [[mounts]]
21 | source = "node_modules/@hyas/doks-core/assets"
22 | target = "assets"
23 |
24 | [[mounts]]
25 | source = "node_modules/@tabler/icons/icons"
26 | target = "assets/svgs/tabler-icons"
27 |
28 | [[mounts]]
29 | source = "assets"
30 | target = "assets"
31 |
32 | ## content
33 | [[mounts]]
34 | source = "content"
35 | target = "content"
36 |
37 | ## data
38 | [[mounts]]
39 | source = "node_modules/@hyas/doks-core/data"
40 | target = "data"
41 |
42 | [[mounts]]
43 | source = "data"
44 | target = "data"
45 |
46 | ## i18n
47 | [[mounts]]
48 | source = "node_modules/@hyas/doks-core/i18n"
49 | target = "i18n"
50 |
51 | [[mounts]]
52 | source = "i18n"
53 | target = "i18n"
54 |
55 | ## layouts
56 | [[mounts]]
57 | source = "node_modules/@hyas/core/layouts"
58 | target = "layouts"
59 |
60 | [[mounts]]
61 | source = "node_modules/@hyas/seo/layouts"
62 | target = "layouts"
63 |
64 | [[mounts]]
65 | source = "node_modules/@hyas/images/layouts"
66 | target = "layouts"
67 |
68 | [[mounts]]
69 | source = "node_modules/@hyas/doks-core/layouts"
70 | target = "layouts"
71 |
72 | [[mounts]]
73 | source = "node_modules/@hyas/inline-svg/layouts"
74 | target = "layouts"
75 |
76 | [[mounts]]
77 | source = "layouts"
78 | target = "layouts"
79 |
80 | ## static
81 | [[mounts]]
82 | source = "node_modules/@hyas/doks-core/static"
83 | target = "static"
84 |
85 | [[mounts]]
86 | source = "static"
87 | target = "static"
--------------------------------------------------------------------------------
/docs/config/_default/params.toml:
--------------------------------------------------------------------------------
1 | # Hugo
2 | title = "Unity Geometry Sequence Player"
3 | description = "This package allows you to playback large pointcloud and mesh sequences in the Unity Engine."
4 | images = ["cover.png"]
5 |
6 | # mainSections
7 | mainSections = ["docs"]
8 |
9 | [social]
10 | twitter = "getdoks"
11 |
12 | # Doks (@hyas/doks-core)
13 | [doks]
14 | # Color mode
15 | colorMode = "dark" # auto (default), light or dark
16 | colorModeToggler = true # true (default) or false (this setting is only relevant when colorMode = auto)
17 |
18 | # Navbar
19 | navbarSticky = true # true (default) or false
20 | containerBreakpoint = "lg" # "", "sm", "md", "lg" (default), "xl", "xxl", or "fluid"
21 |
22 | ## Button
23 | navBarButton = false # false (default) or true
24 | navBarButtonUrl = "/docs/prologue/introduction/"
25 | navBarButtonText = "Get started"
26 |
27 | # FlexSearch
28 | flexSearch = true # true (default) or false
29 | searchExclKinds = [] # list of page kinds to exclude from search indexing (e.g. ["home", "taxonomy", "term"] )
30 | searchExclTypes = [] # list of content types to exclude from search indexing (e.g. ["blog", "docs", "legal", "contributors", "categories"])
31 | showSearch = [] # [] (all pages, default) or homepage (optionally) and list of sections (e.g. ["homepage", "blog", "guides"])
32 | indexSummary = false # true or false (default); whether to index only the `.Summary` instead of the full `.Content`; limits the respective JSON field size and thus increases loading time
33 |
34 | ## Search results
35 | showDate = false # false (default) or true
36 | showSummary = true # true (default) or false
37 | searchLimit = 99 # 0 (no limit, default) or natural number
38 |
39 | # Global alert
40 | alert = false # false (default) or true
41 | alertDismissable = true # true (default) or false
42 |
43 | # Bootstrap
44 | bootstrapJavascript = false # false (default) or true
45 |
46 | # Nav
47 | sectionNav = ["docs"] # ["docs"] (default) or list of sections (e.g. ["docs", "guides"])
48 | toTopButton = false # false (default) or true
49 | breadcrumbTrail = false # false (default) or true
50 | headlineHash = true # true (default) or false
51 | scrollSpy = true # true (default) or false
52 |
53 | # Multilingual
54 | multilingualMode = false # false (default) or true
55 | showMissingLanguages = true # whether or not to show untranslated languages in the language menu; true (default) or false
56 |
57 | # Versioning
58 | docsVersioning = false # false (default) or true
59 | docsVersion = "1.0"
60 |
61 | # UX
62 | headerBar = false # true (default) or false
63 | backgroundDots = true # true (default) or false
64 |
65 | # Homepage
66 | sectionFooter = false # false (default) or true
67 |
68 | # Blog
69 | relatedPosts = false # false (default) or true
70 | imageList = true # true (default) or false
71 | imageSingle = true # true (default) or false
72 |
73 | # Repository
74 | editPage = false # false (default) or true
75 | lastMod = false # false (default) or true
76 | repoHost = "GitHub" # GitHub (default), Gitea, GitLab, Bitbucket, or BitbucketServer
77 | docsRepo = "https://github.com/h-enk/doks"
78 | docsRepoBranch = "main" # main (default), master, or
79 | docsRepoSubPath = "" # "" (none, default) or
80 |
81 | # SCSS colors
82 | # backGround = "yellowgreen"
83 | ## Dark theme
84 | # textDark = "#dee2e6" # "#dee2e6" (default), "#dee2e6" (orignal), or custom color
85 | # accentDark = "#5d2f86" # "#5d2f86" (default), "#5d2f86" (original), or custom color
86 | ## Light theme
87 | # textLight = "#1d2d35" # "#1d2d35" (default), "#1d2d35" (orignal), or custom color
88 | # accentLight = "#8ed6fb" # "#8ed6fb" (default), "#8ed6fb" (orignal), or custom color
89 |
90 | [doks.menu]
91 | [doks.menu.section]
92 | auto = true # true (default) or false
93 | collapsibleSidebar = true # true (default) or false
94 |
95 | # Debug
96 | [render_hooks.image]
97 | errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
98 |
99 | [render_hooks.link]
100 | errorLevel = 'ignore' # ignore (default), warning, or error (fails the build)
101 | highlightBroken = false # true or false (default)
102 |
103 | # Images (@hyas/images)
104 | [hyas_images]
105 | [hyas_images.defaults]
106 | decoding = "async" # sync, async, or auto (default)
107 | fetchpriority = "auto" # high, low, or auto (default)
108 | loading = "lazy" # eager or lazy (default)
109 | widths = [480, 576, 768, 1025, 1200, 1440] # [640, 768, 1024, 1366, 1600, 1920] for example
110 | sizes = "auto" # 100vw (default), 75vw, or auto for example
111 | process = "" # "fill 1600x900" or "fill 2100x900" for example
112 | lqip = "16x webp q20" # "16x webp q20" or "21x webp q20" for example
113 |
114 | # Inline SVG (@hyas/inline-svg)
115 | [inline_svg]
116 | iconSetDir = "tabler-icons" # "tabler-icons" (default)
117 |
118 | # SEO (@hyas/seo)
119 | [seo]
120 | [seo.title]
121 | separator = " | "
122 | suffix = ""
123 | [seo.favicons]
124 | sizes = []
125 | icon = "favicon.png" # favicon.png (default)
126 | svgIcon = "favicon.svg" # favicon.svg (default)
127 | maskIcon = "mask-icon.svg" # mask-icon.svg (default)
128 | maskIconColor = "white" # white (default)
129 | [seo.schemas]
130 | type = "Person" # Organization (default) or Person
131 | logo = "favicon-512x512.png" # Logo of Organization — favicon-512x512.png (default)
132 | name = "Christopher Remde" # Name of Organization or Person
133 | sameAs = ["https://chrisrem.de/", "https://bsky.app/profile/rattix.bsky.social", "https://github.com/ChristopherRemde"] # E.g. ["https://github.com/gethyas/hyas", "https://fosstodon.org/@hyas"]
134 | images = ["cover.png"] # ["cover.png"] (default)
135 | article = [] # Article sections
136 | newsArticle = [] # NewsArticle sections
137 | blogPosting = ["blog"] # BlogPosting sections
138 | product = [] # Product sections
--------------------------------------------------------------------------------
/docs/config/next/hugo.toml:
--------------------------------------------------------------------------------
1 | canonifyURLs = true
2 | baseurl = "https://buildingvolumes.github.io/Unity_Geometry_Sequence_Player/"
--------------------------------------------------------------------------------
/docs/config/postcss.config.js:
--------------------------------------------------------------------------------
1 | const autoprefixer = require("autoprefixer");
2 | const purgecss = require("@fullhuman/postcss-purgecss");
3 | const whitelister = require("purgecss-whitelister");
4 |
5 | module.exports = {
6 | plugins: [
7 | autoprefixer(),
8 | purgecss({
9 | content: ["./hugo_stats.json"],
10 | extractors: [
11 | {
12 | extractor: (content) => {
13 | const els = JSON.parse(content).htmlElements;
14 | return els.tags.concat(els.classes, els.ids);
15 | },
16 | extensions: ["json"]
17 | }
18 | ],
19 | dynamicAttributes: [
20 | "aria-expanded",
21 | "data-bs-popper",
22 | "data-bs-target",
23 | "data-bs-theme",
24 | "data-dark-mode",
25 | "data-global-alert",
26 | "data-pane", // tabs.js
27 | "data-popper-placement",
28 | "data-sizes",
29 | "data-toggle-tab", // tabs.js
30 | "id",
31 | "size",
32 | "type"
33 | ],
34 | safelist: [
35 | "active",
36 | "btn-clipboard", // clipboards.js
37 | "clipboard", // clipboards.js
38 | "disabled",
39 | "code",
40 | "hidden",
41 | "modal-backdrop", // search-modal.js
42 | "selected", // search-modal.js
43 | "show",
44 | "img-fluid",
45 | "blur-up",
46 | "lazyload",
47 | "lazyloaded",
48 | "alert-link",
49 | "container-fw ",
50 | "container-lg",
51 | "container-fluid",
52 | "offcanvas-backdrop",
53 | "figcaption",
54 | "dt",
55 | "dd",
56 | "showing",
57 | "hiding",
58 | "page-item",
59 | "page-link",
60 | ...whitelister(["./assets/scss/**/*.scss", "./node_modules/@hyas/doks-core/assets/scss/components/_code.scss", "./node_modules/@hyas/doks-core/assets/scss/components/_expressive-code.scss", "./node_modules/@hyas/doks-core/assets/scss/common/_syntax.scss"])
61 | ]
62 | })
63 | ]
64 | };
--------------------------------------------------------------------------------
/docs/config/production/hugo.toml:
--------------------------------------------------------------------------------
1 | canonifyURLs = false
2 | baseurl = "https://buildingvolumes.github.io/Unity_Geometry_Sequence_Player/"
--------------------------------------------------------------------------------
/docs/content/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Unity Geometry Sequence Player"
3 | description: "Pointcloud and mesh sequence playback for the Unity game engine."
4 | lead: "Pointcloud and mesh sequence playback for the Unity game engine."
5 | date: 2020-10-06T08:47:36+00:00
6 | lastmod: 2020-10-06T08:47:36+00:00
7 | draft: false
8 | images: []
9 | ---
10 |
--------------------------------------------------------------------------------
/docs/content/docs/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "cSpell.words": [
3 | "autoplay",
4 | "datapath",
5 | "pointcloud"
6 | ]
7 | }
--------------------------------------------------------------------------------
/docs/content/docs/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Docs"
3 | description: "Plugin Docs"
4 | lead: ""
5 | date: 2020-10-06T08:48:23+00:00
6 | lastmod: 2020-10-06T08:48:23+00:00
7 | draft: false
8 | images: []
9 | ---
10 |
--------------------------------------------------------------------------------
/docs/content/docs/about/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "About"
3 | description: "GSS About"
4 | lead: ""
5 | date: 2020-10-06T08:48:45+00:00
6 | lastmod: 2020-10-06T08:48:45+00:00
7 | draft: false
8 | images: []
9 | weight: 400
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/content/docs/about/building-volumes.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Building Volumes"
3 | description: "Our initiave for open-source volumetric video creation"
4 | lead: "Our initiave for open-source volumetric video creation"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "about"
12 | weight: 410
13 | toc: true
14 | ---
15 |
16 | BuildingVolumes is a global initiative by creatives, software engineers, teachers, and artists with the aim to create a free and open-source volumetric capture and playback pipeline. The initative is led by [Ciny Poremba](https://www2.ocadu.ca/bio/cindy-poremba) and [Andrew Hogue](https://ontariotechu.ca/experts/fbit/andrew-hogue.php).
17 |
18 | We want to create free and sustainable tools for small artists, creatives, filmographers, game artists and everyone interested in the creation of Volumetric Video.
19 |
20 | If you want to join us, or get in touch, [please head over to our community discord 🙂](https://discord.gg/BvQdJdJqu6)
21 |
--------------------------------------------------------------------------------
/docs/content/docs/about/changelog.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Changelog"
3 | description: "All releases"
4 | lead: "All releases"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "about"
12 | weight: 420
13 | toc: true
14 | ---
15 |
16 | ### Version 1.1.0
17 |
18 | Added features:
19 |
20 | - Huge overhaul of the playback system. Performance is enhanced by up to 10x-20x.
21 | - Pointcloud geometry shaders have been replaced by a compute shader system
22 | - Mac, Iphone, Ipad and VisionOS support
23 | - Compressed .astc textures for mobile devices are now supported
24 | - Converter Tool supports reduction of pointcloud sizes
25 | - More reliable playback. Lags, or low framerates don't affect the playback speed anymore
26 | - Added frame debugging/performance tools
27 | - URP and HDRP render pipelines support
28 | - Unity 6 support
29 | - The package is now available on the Unity Asset Store 🙂
30 |
31 | Fixed Issues:
32 |
33 | [#7 "visionOS Support"](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/7)
34 |
35 | [#5 "Pointcloud shader not working on Metal/OpenGL](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/5)
36 |
37 | ### Version 1.0.3
38 |
39 | Added features:
40 |
41 | - Thumbnails will now show when adding a sequence via the editor
42 | - Looping is now much smoother and should not lag anymore
43 | - Added Playback Events that can be used to see when a scene has been loaded, started playing ect.
44 | - Added more refined media loading via script API
45 | - Added Stop functionality to the player
46 |
47 | ### Version 1.0.2
48 |
49 | Added features:
50 |
51 | - A parent transform for the streamed mesh can be set
52 | - Pointcloud meshes are now mirrorable
53 | - Added better documentation in some parts
54 | - Added Unity Test Project to the main repository
55 |
56 | Fixed Issues:
57 |
58 | [#6 "The transform of Streamed Meshes should be settable before going into play mode"](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/6)
59 |
60 | [#3 "Meshes/Pointclouds are mirrored on the X-Axis"](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/3)
61 |
62 | Releases:
63 | [Package release v1.0.2](https://github.com/BuildingVolumes/Geometry_Sequence_Player_Package/releases/tag/v1.0.2)
64 |
65 | ### Version 1.0.1 (Package only)
66 |
67 | Fixed Issues:
68 |
69 | [#1 "Cannot build as AssetDatabase cannot be used outside the editor"](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/1)
70 |
71 | [#2 "Android /WebGL cannot load data from StreamingAssets Path"](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues/2)
72 |
73 | Releases:
74 | [Package release v1.0.1](https://github.com/BuildingVolumes/Geometry_Sequence_Player_Package/releases/tag/v1.0.1)
75 |
76 | ### Version 1.0.0
77 |
78 | Initial Release, this plugin supersedes the [Pointcloud Player Package](https://github.com/ExperimentalSurgery/Unity_Geometry_Sequence_Player)
79 |
80 | [Converter release v1.0.0](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/releases/tag/v1.0.0)
81 | [Package release v1.0.1](https://github.com/BuildingVolumes/Geometry_Sequence_Streaming_Package/releases/tag/v1.0.0)
82 |
--------------------------------------------------------------------------------
/docs/content/docs/about/license-credits.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "License and credits"
3 | description: ""
4 | lead: ""
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "about"
12 | weight: 430
13 | toc: true
14 | ---
15 |
16 | ## Open source license
17 |
18 | The open source Unity package, the Converter tool, the example data and this website is licensed under the [***Creative Commons Attribution-NonCommercial 4.0 International.***](https://creativecommons.org/licenses/by-nc/4.0/)
19 |
20 | **If you use this package in a non-commercial project, please be sure to credit us properly with the following text:**
21 |
22 | > Geometry Sequence playback is provided by the 'Geometry Sequence Player' package for Unity: tinyurl.cc/GSGIT © Christopher Remde
23 |
24 | ## Unity Asset Store license
25 |
26 | The Unity Asset Store version of the package is licensed under the [Unity Standard Asset Store license](https://unity.com/legal/as-terms)
27 |
28 | ## Credits
29 |
30 | The sequences in the showreel, from the landing page and on Github, were created by:
31 |
32 | ["A Windy Day2 by Loic Norgeot](https://sketchfab.com/3d-models/a-windy-day-fb78f4cc938144e6902dd5cff354d525)
33 |
34 | ["Galactic Incident2 by Loic Norgeot](https://sketchfab.com/3d-models/galactic-incident-397b266af9604b9fbf0a4e5446cf864b)
35 |
--------------------------------------------------------------------------------
/docs/content/docs/help/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Help"
3 | description: "GSS Help"
4 | lead: ""
5 | date: 2020-10-06T08:49:15+00:00
6 | lastmod: 2020-10-06T08:49:15+00:00
7 | draft: false
8 | images: []
9 | weight: 200
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/content/docs/help/contact.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Contact"
3 | description: ""
4 | lead: ""
5 | date: 2020-11-12T13:26:54+01:00
6 | lastmod: 2020-11-12T13:26:54+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "help"
12 | weight: 320
13 | toc: true
14 | ---
15 |
16 | > 🆘 Do you need help with the package? [Please see here](/Unity_Geometry_Sequence_Player/docs/help/support/)
17 |
18 | For anything besides support, like Pull Requests, collaborations, or special feature requests, please contact us here:
19 |
20 | 📧 [Send a mail to the author (Christopher Remde):](mailto:hey@chrisrem.de) hey [at] chrisrem.de
21 |
22 | 👾 [Join us in our BuildingVolumes community discord server](https://discord.gg/BvQdJdJqu6)
23 |
--------------------------------------------------------------------------------
/docs/content/docs/help/issues.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Support"
3 | description: ""
4 | lead: ""
5 | date: 2020-10-06T08:49:31+00:00
6 | lastmod: 2020-10-06T08:49:31+00:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "help"
12 | weight: 310
13 | toc: true
14 | ---
15 |
16 | #### ⭐ Priority support (Unity Asset Store version)
17 |
18 | If you've bought the package on the Unity Asset Store, you can always contact us to get help quickly! Please click on the **Get Support** button inside the **Geometry Sequence Player component** to see how to contact us! 
19 |
20 | #### General support
21 |
22 | For the open-source and free version, please feel free to ask anything in our:
23 |
24 | [Unity Forums thread](https://forum.unity.com/threads/released-geometry-sequence-streaming.1453765/).
25 |
26 | Bugs and issues can also be reported [here in the main Github repository](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/issues) 🪲
27 |
28 | >💡 Do a quick search first, if your issue has already been reported. If not, please open a new one, and we'll get back to you!
29 |
--------------------------------------------------------------------------------
/docs/content/docs/help/support.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/help/support.png
--------------------------------------------------------------------------------
/docs/content/docs/quickstart/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Quickstart"
3 | description: "GSS Quickstart"
4 | lead: ""
5 | date: 2020-10-06T08:48:45+00:00
6 | lastmod: 2020-10-06T08:48:45+00:00
7 | draft: false
8 | images: []
9 | weight: 10
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/content/docs/quickstart/own-data-usage/Converter_Start_Threads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/quickstart/own-data-usage/Converter_Start_Threads.png
--------------------------------------------------------------------------------
/docs/content/docs/quickstart/own-data-usage/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Use your own sequences"
3 | description: "Summary of how to get your own sequences into Unity"
4 | lead: "Summary of how to get your own sequences into Unity"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "quickstart"
12 | weight: 30
13 | toc: true
14 | ---
15 |
16 | > ⤴️ Sequences that were created before package version 1.1.0 are not compatible with the current package. Please re-convert these files with the latest Converter.
17 |
18 | ## Convert your sequence
19 |
20 | 1. Ensure that in your input sequence, each frame file is numbered in an ascending order
21 |
22 | 2. Almost all commonly used pointcloud (.ply, .xyz, ect), mesh (.fbx, .obj, .gltf, etc) and image (.jpeg .png .tga, ect.) formats can be used as source material. Ensure that your sequence is in such a format
23 |
24 | 3. Download the latest converter [binaries for windows here](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/releases) (The file named Geometry_Sequence_Converter_Win64.zip)
25 |
26 | 4. Unzip, open the converter, and set the **input folder** to the folder containing your sequence. You can optionally set an output folder, otherwise a new folder will be automatically created. Click on **Start Conversion**.
27 |
28 | 
29 |
30 | [More infos](/Unity_Geometry_Sequence_Player/docs/tutorials/preparing-your-sequences/)
31 |
32 | ## Playback your sequence
33 |
34 | 1. Open your project and scene in Unity.
35 |
36 | 2. Add a **GeometrySequencePlayer** component to any gameobject.
37 |
38 | 3. Click on **Open Sequence** and open the ***sequence.json*** file contained in the converted sequence folder (the output folder).
39 |
40 | 4. Click on Play in Unity.
41 |
42 | [More infos](/Unity_Geometry_Sequence_Player/docs/tutorials/playback/)
43 |
--------------------------------------------------------------------------------
/docs/content/docs/quickstart/quick-start/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Quick Start"
3 | description: "One page summary of how to playback your first sequence"
4 | lead: "One page summary of how to playback your first sequence"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "quickstart"
12 | weight: 20
13 | toc: true
14 | ---
15 |
16 | > 👉 The package has recently been renamed from _Unity Geometry Sequence Streamer_ to _Unity Geometry Sequence Player_.
17 | If you still have the old version, we recommend to remove it and then reinstall the new version
18 |
19 | ## Install the package
20 |
21 | > 👇 For installation of the Unity Store Version, see section below
22 |
23 | 1. Open your Unity project, and in the **toolbar** go to **Windows –> Package Manager**.
24 |
25 | 2. In the **Package Manager window**, go into the upper left corner and click on the **"+" Button –> Add package from Git URL**.
26 |
27 | 3. Copy and paste the following URL into the field and click **Add**: `https://github.com/BuildingVolumes/Geometry_Sequence_Player_Package.git`
28 |
29 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/installation/)
30 |
31 | ### Install the package (From Unity Store)
32 |
33 | 1. Open your Unity project, and in the **toolbar** go to **Windows –> Package Manager**.
34 |
35 | 2. In the **Package Manager window**, go to **My Assets** and select the **Geometry Sequence Player** package.
36 |
37 | 3. Click on the **Install** Button.
38 |
39 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/installation/#package-installation-unity-store-version)
40 |
41 | ## Play a sample sequence
42 |
43 | 1. Open the Package Manager (Window -> Package Manager)
44 |
45 | 2. Select the **In Project** category on the left side. Select the **Geometry Sequence Player package** and open the **Sample foldout**. Then click on **Import**. The samples are now being imported into your projects asset folder.
46 |
47 | 3. In your assets folder, go to `Samples -> Geometry Sequence Player -> 1.X.X -> Streaming Samples` and open the Sample scene **01_Basic_Example**
48 |
49 | 3. Click on the **"Play"-Button** in Unity. You should now see an animated blob.
50 |
51 | 
52 |
53 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/samples/)
54 |
--------------------------------------------------------------------------------
/docs/content/docs/quickstart/quick-start/package_manager_git.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/quickstart/quick-start/package_manager_git.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/_index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title : "Tutorials"
3 | description: "GSS Tutorials"
4 | lead: ""
5 | date: 2020-10-06T08:48:45+00:00
6 | lastmod: 2020-10-06T08:48:45+00:00
7 | draft: false
8 | images: []
9 | weight: 100
10 | ---
11 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/distribution/create_streamingassets.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/distribution/create_streamingassets.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/distribution/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Distribution & Platforms"
3 | description: "Build and playback on other devices"
4 | lead: "Build and playback on other devices"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 170
13 | toc: true
14 | ---
15 |
16 | ## Build and ship
17 |
18 | If you intent to distribute your Application built with the Unity Geometry Sequence Player, you need to consider where you store your geometry sequence.
19 | In Unity, you need to store all assets loaded at runtime in a [**Streamingassets**](https://docs.unity3d.com/Manual/StreamingAssets.html) folder ([except for Android Builds](#android)), located inside of the Asset path root, and store all geometry sequences in there. This folder will be copied into your build as-is.
20 |
21 | 1. Inside of the Unity project view, go to the "Assets" folder and create a **Streamingsassets** folder there:
22 |
23 | 
24 |
25 | 2. Copy all your geometry sequences into this folder
26 |
27 | 3. In your Geometry Sequence Player, either set the sequence via **Open Sequence** and then choose the folder inside of your streamingassets path *or* set the **Path Relation** to **Relative to Streamingassets** and then enter the path to your sequence, relative to the Streamingassets folder:
28 |
29 | 
30 |
31 | 4. Test your changes and path in play mode, then you can build and distribute your application as usual.
32 |
33 | ## Android
34 |
35 | On Android, the StreamingAssets path is a special case. Data stored into this path, will be compressed into the .apk and needs to be decompressed on load. For large files, like geometry sequences, this will make a noticeable impact on playback performance, therefore we don't support the Streamingassets path. On Android, you have to use the applications [**Persistent Data Path**](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html). The persistent data path is a special path, reserved for application data on the device. Unlike the StreamingAssets path, Unity won't copy your files automatically to the persistent data path, instead, you have to **copy them manually**, or on distribution in the Play Store, let your application download them from a server.
36 |
37 | > ⚠️The persistent data path will only be generated on the applications first run on the device. So you need to run the application once, then copy the files and then run the application again, or let the app download the files onto the device before the Geometry Sequence Player runs.
38 |
39 | 1. Inside of your Geometry Sequence Player, set the **Path Relation** to **Relative to Persistent Data Path** and enter the relative path in which you later want to store your sequence, in this example we choose *"Sequence/MySequence"*.
40 |
41 | 
42 |
43 | 2. Build the android app, install it on your Android device and run it, then quit the app. The Geometry Sequence won't be playing at this point.
44 |
45 | 3. Connect your device to your PC via USB, enable File transfer and then go to the following path on the device:
46 | *"\Android\data\com.myCompanyName.myProductName\files"*. This is your applications **Persistent Data Path**.
47 |
48 | 4. Copy your sequence files in the same relative path you set in the Geometry Sequence Player. In our example, the geometry files would be copied into this folder *"\Android\data\com.myCompanyName.myProductName\files\Sequence\MySequence"*
49 |
50 | 5. Now run your app again, you should now see the sequence streaming successfully.
51 |
52 | ## Apple Vision Pro
53 |
54 | Unity Apps can run in three distinct modes on the Apple Vision Pro: A **flat 2D mode**, where apps appear on a virtual screen, the **bounded mode**, and the **immersive mode**.
55 | All modes are supported by this plugin. While the **flat mode** runs like an IPhone or IPad application, there are stark differences between the **bounded** and **immersive** mode.
56 | We generally recommended to use the **immersive** mode whenever you can, due to it's much higher performance capabilities.
57 |
58 | ### Bounded mode
59 |
60 | The bounded mode lets the users run an app along other apps, inside a limited volume, comparable to a 3D window. Apps running in this mode face many restrictions, including not being able to render their content natively. Unity needs to translate all meshes, textures, materials and shaders to RealityKit equivalents, this is called the **PolySpatial** pipeline. Due to these restrictions, playback performance suffers and works only for smaller sequences. Pointclouds sequences should stay under **50.000 points per frame**, mesh sequences under **30.000 polygons per frame**, and textures at or under **2048x2048 texture resolution** per frame. Additionally, there might be a performance ditch when the sequence starts, especially for pointcloud sequences. These are gradually streamed in to not overload the system.
61 |
62 | Bounded mode should be detected automatically by the package. If it does not work and you get playback errors while running on the device, you need to have a volume camera component inside your scene.
63 |
64 | > ☝️ Due to some lower level code in this package, the playback might not work correctly in the AVP simulator
65 |
66 | ### Immersive mode
67 |
68 | Immersive mode lets the application take over the full rendering on the Apple Vision Pro, which is much more comparable to how apps are run on other headsets, such as the Meta Quest. While no other content than the application can exist in the same space, this mode **increases performance** by a huge margin compared to the bounded mode. We were able to run sequences with 1.5 millions points per frame and more! Please ensure that **no volume camera exists** in your scene if you use this mode, otherwise the bounded rendering path might get erroneously activated by the package.
69 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/distribution/set_persistentdata_path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/distribution/set_persistentdata_path.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/distribution/set_streamingassets_path.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/distribution/set_streamingassets_path.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_add_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_add_component.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_fps.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_fps.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_gameobject.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_gameobject.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_open_sequence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_open_sequence.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_player_component.afphoto:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_player_component.afphoto
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_player_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_player_component.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/editor_playback_stream_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/editor-playback/editor_playback_stream_component.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/editor-playback/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Playback"
3 | description: "Fast playback of your sequences in the editor"
4 | lead: "Easy and quick playback of your sequences"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 140
13 | toc: true
14 | ---
15 |
16 |
17 | ## Intro
18 |
19 | After you've prepared and converted your sequence, you can now play them back in Unity! This section shows you how to use the streaming and playback components inside of the editor and how to setup a simple playback scene.
20 |
21 | > 💡 All of the features explained here in this tutorial can also be found in the Sample Scene [01_Basic_Sample](/Unity_Geometry_Sequence_Player/docs/tutorials/samples/#sample-01-basic-playback)
22 |
23 | ## Playback
24 |
25 | 1. Open your Unity scene in which you want to implement the playback. We recommend that you create a new Gameobject, onto which you can attach the playback components, but you can use any Gameobject of your choice.
26 | 
27 |
28 | 2. In the inspector, click on **"Add Component"**, search for **"Geometry Sequence Player"** and add this component.
29 | 
30 |
31 | 3. You should now see a Geometry Sequence Player and Geometry Sequence Stream component attached to your Gameobject. Click on **"Open Sequence"** in the Player script, and open the **sequence.json** from the folder in which your converted sequence is stored. It is strongly recommended to store your sequence on the fastest drive available, preferably an SSD.
32 | > ⚠️ When you're just testing, or you don't intent to distribute your app to other PCs than your own, it's fine to store the sequence anywhere on disk. However, if you plan to distribute your application, [please take a look here](/Unity_Geometry_Sequence_Player/docs/tutorials/distribution-platforms/)!
33 |
34 | 
35 |
36 | 4. The first frame of your sequence should now appear in the scene / game view. If you can't see anything, try pressing ***F*** to focus on your sequence. Sometimes, it might be scaled surprisingly small or large.
37 |
38 | 5. Set the **playback framerate** of your sequence. The framerate is not automatically detected, so you need to set it every time. The default is 30 FPS.
39 | 
40 |
41 | 6. Click Play. Your sequence should automatically start playing back once the play mode has been entered!
42 |
43 | ## Controls & Settings explained
44 |
45 | Detailed explanation of all the settings and controls inside of the player and stream scripts
46 |
47 | ### Player component
48 |
49 | 
50 |
51 | **Path relation:** Choose if your path to the sequence is relative to the [Data path](https://docs.unity3d.com/ScriptReference/Application-dataPath.html), [Persistent Data Path](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html), [Streaming Assets path](https://docs.unity3d.com/Manual/StreamingAssets.html), or is an **absolute path**. This gets set automatically if you open a sequence with the **Open Sequence** button. If you enter the path yourself, you need to set this field manually!
52 |
53 | **Path to sequence:** Enter your relative or absolute path to the folder containing the sequence
54 |
55 | **Open Sequence / Clear Sequence:** Use the file explorer to choose the folder where your converted sequence is located, or clear the path from the player.
56 |
57 | **Target Playback FPS:** This is the framerate at which you want to playback your sequence.
58 |
59 | **Play at Start:** Should the playback of the sequence start directly when the scene is started/you entered play mode? If deactivated, you need to start the sequence manually via script or the editor controls.
60 |
61 | **Loop playback:** If activated, repeats the animation indefinitely
62 |
63 | **Events:** With this Unity Event control, you can assign scripts that should receive events from the player. [More on Events](/Unity_Geometry_Sequence_Player/docs/tutorials/scripting-api/#events)
64 |
65 | **Playback controls:** Use the slider to skip to any time in the sequence, just like in a regular video player. On the right, you can see at which frame the playback is right now, and how many frames there are in total in the sequence. Use the **|<** Button to go back to the start of the sequence, the **<<** and **>>** to scroll forwards/backwards for a few frames, the **Stop** Button to stop playback and the **Play/Pause** button to pause/resume the playback. These controls are only available in the editor.
66 |
67 | ### Stream component
68 |
69 | 
70 |
71 | **Pointcloud Settings:** These settings only affect pointcloud based sequences.
72 |
73 | - **Point Size:** Set the size of the individual points with the modifier (in Unity units).
74 | - **Point Type:** Set the shape of the points. They can either be displayed as **Quads**, **Circles** or **Splats** (experimental, not recommended)**.
75 |
76 | **Mesh Settings:** These settings only affect mesh based sequences.
77 |
78 | - **Mesh Material:** Set an alternative material for your mesh sequence. If left empty, a default unlit material will be used.
79 | - **Material slots:** Set to which material slots the texture of your sequence should apply. Options are **Main texture**, **Emissive** and **Detail**
80 | - **Custom texture slots:** If the material should apply to other slots, add them here. Add the name of the texture slot as defined in the shader.
81 |
82 | **Buffer options:** Advanced settings for optimizing the performance, especially in regard to the playback buffer.
83 |
84 | - **Buffer Size:** The higher the buffer size, the more frames are preloaded. Increasing this value can improve playback performance, at the cost of higher memory usage.
85 | - **Use All Threads:** All worker threads can be used by the streamer. If you use other scripts heavily dependent on the job system, you can try to disable this option to free some threads, at the cost of playback performance
86 | - **Thread Count:** If **Use all threads** is disabled, you can set the amount of threads used by the playback system here. More threads usually increase performance.
87 |
88 | **Frame Info:** Various performance metrics
89 |
90 | **Frame Debugger:** If your sequence doesn't perform well, or as expected, you can use the frame debugger to analyze the playback performance.
91 |
92 | - **Attach Debugger (Editor only):** Enable this option, to show the frame debugger on screen when the sequence is playing. Only works in the Editor
93 | - **Manually attach debugger:** You can optionally use the **GSFrameDebugger Prefab** found in the package files to manually place the frame debugger in your scene. Helpful in case you need to place it in the world space, or in your XR scenes. By setting this value, you attach the debugger to your sequence.
94 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/installation/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Installation"
3 | description: "Install the Unity package into your project"
4 | lead: "Install the Unity package into your project"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 110
13 | toc: true
14 | ---
15 |
16 | > 👉 The package has recently been renamed from _Unity Geometry Sequence Streamer_ to _Unity Geometry Sequence Player_.
17 | If you still have the old version, we recommend to remove it and then reinstall the new version
18 |
19 | ## Package Installation
20 |
21 | > ⭐ For installation of the Unity Store Version, see section below
22 |
23 | 1. Open your Unity project, and in the toolbar, go to **Windows --> Package Manager**
24 |
25 | 2. In the Package Manager window, go into the upper left corner and click on the **"+" Button --> Add package from Git URL** 
26 |
27 | 3. Copy and paste the following URL and click **Add**: `https://github.com/BuildingVolumes/Geometry_Sequence_Player_Package.git` 
28 |
29 | 4. Unity now installs the package, and after a short time it should show up in your manager. Done! We strongly recommend that you also install the [Samples](/Unity_Geometry_Sequence_Player/docs/tutorials/unity-package-installation/#importing-the-samples)
30 |
31 | ## Package Installation (Unity Store Version)
32 |
33 | 1. Open your Unity project, and in the toolbar, go to **Windows --> Package Manager**.
34 |
35 | 2. In the Package Manager window, go to **My Assets**, select the **Geometry Sequence Player Package** and click on **Install** 
36 |
37 | 3. Unity now installs the package, and after a short time it should show up in your manager. Done! We strongly recommend that you also install the [Samples](/Unity_Geometry_Sequence_Player/docs/tutorials/samples)
38 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/installation/package_manager_add.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/installation/package_manager_add.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/installation/package_manager_git.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/installation/package_manager_git.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/installation/package_manager_install_storebought.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/installation/package_manager_install_storebought.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/Converter_Options.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/prepare-data/Converter_Options.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/Converter_SelectFolder_newfolder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/prepare-data/Converter_SelectFolder_newfolder.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/Converter_SelectInput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/prepare-data/Converter_SelectInput.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/Converter_SelectOutput.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/prepare-data/Converter_SelectOutput.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/Converter_Start_Threads.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/prepare-data/Converter_Start_Threads.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/prepare-data/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Preparing your sequences"
3 | description: "How to convert your own sequences into the right format"
4 | lead: "How to convert your own sequences into the right format"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 130
13 | toc: true
14 | ---
15 |
16 | ## Intro
17 |
18 | To guarantee high realtime performance, the Geometry Sequence Player can only read sequences that are in a certain file format (.ply for meshes/pointclouds, .dds/.astc for textures). However, to support a broad spectrum of input formats and make the usage of this plugin as easy as possible, we provide a small converter tool which takes in almost all widely used mesh and image formats, and converts them into the correct format for the plugin.
19 |
20 | > 👉🏻 Even when your files are already in the .ply/.dds format, they might need to be run through the converter to be encoded correctly!
21 | >
22 | > ⤴️ Sequences that were created before package version 1.1.0 are not compatible with the current package. Please re-convert these files with the latest Converter
23 |
24 | ## Preparation for the conversion
25 |
26 | ### Naming
27 |
28 | In general, you should export your animated mesh or pointcloud sequences from your tool of choice in a way, that each frame of it is saved in a single, independent file. The files should be numbered in some kind of ascending order. This applies to both your models and also textures, if you have any. Save all files into one folder, without subfolders. Example:
29 |
30 | ```txt
31 | frame_1.obj
32 | frame_2.obj
33 | frame_3.obj
34 | ...
35 |
36 | frame_00001.obj
37 | frame_00002.obj
38 | frame_00003.obj
39 | ...
40 |
41 | 1_image.png
42 | 2_image.png
43 | 3_image.png
44 | ...
45 | ```
46 |
47 | Ensure that the matching images and models for each frame have the same number!
48 |
49 | ### Supported file formats
50 |
51 | The format in which you export your sequence shouldn't matter too much, as a wide variety of the most commonly used formats is supported.
52 | These are all supported file formats for pointclouds/meshes:
53 |
54 | ```txt
55 | .3ds .asc .bre .ctm .dae .e57 .es .fbx .glb .gltf .obj .off .pdb .ply .pts .ptx .qobj .stl .tri vmi .wrl .x3d .xyz
56 | ```
57 |
58 | And for images:
59 |
60 | ```txt
61 | .jpg .png .tga
62 | ```
63 |
64 | ## Converting your sequences
65 |
66 | ### Installing the converter
67 |
68 | 1. Download the latest version of the [converter tool from here](https://github.com/BuildingVolumes/Unity_Geometry_Sequence_Player/releases). (File named "Geometry_Sequence_Converter_Win64.zip") Currently only windows is supported.
69 | 2. Unpack the file
70 | 3. Open the converter. Go into the unpacked folder and open "GeometrySequenceConverter.exe". Windows might throw a warning that it prevented the app from running, in this case click on "Run anyway" or "More info" and then "Run anyway".
71 |
72 | ### Using the converter
73 |
74 | 1. Click on ***Select Input Directory*** and select the folder containing the files. 
75 |
76 | 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. 
77 |
78 | 3. The converter provides some settings which can be used to modify the sequence: 
79 |
80 | - **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.
81 | - **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.
82 | - **Convert to SRGB profile:** Activate when your textures look noticably darker / brighter after the conversion
83 | - **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 |
85 | 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. 
86 |
87 | 5. The converter will now process your files and show a progress bar. If you want to cancel the process, click on ***Cancel***. Cancelling might take a bit of time. When the process is done, you'll have the converted sequence inside of the output folder.
88 |
89 | ## For developers: Format specification
90 |
91 | If you want to export your data into the correct format directly, without using the converter, you can do so! The format used here is not proprietory, but uses the open [*Stanford Polygon File Format* (.ply)](http://paulbourke.net/dataformats/ply/ ) for meshes and pointclouds and the [*DirectDraw Surface* (.dds)*](https://en.wikipedia.org/wiki/DirectDraw_Surface), as well as [*Adaptive Scalable texture compression*](https://en.wikipedia.org/wiki/Adaptive_scalable_texture_compression) file format for textures/images. However, all formats allow a large variety of encoding settings, and the Geometry Sequence Player expects a special encoding. Additionally, the Player needs to be supplied with a ***sequence.json*** file, which contains metadata about the sequence. The following sections assume that you are a bit familiar with all formats.
92 |
93 | ### Pointcloud .ply files
94 |
95 | 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:
96 |
97 | ```ply
98 | ply
99 | format binary_little_endian 1.0
100 | comment How the header of a correctly formated .ply file with a pointcloud looks like
101 | element vertex 50000
102 | property float x
103 | property float y
104 | property float z
105 | property uchar red
106 | property uchar green
107 | property uchar blue
108 | property uchar alpha
109 | end_header
110 | ```
111 |
112 | 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:
113 |
114 | ```ply
115 | 0.323434 0.55133 1.44322 255 255 255 0
116 | ```
117 |
118 | ### Mesh .ply files
119 |
120 | 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.
121 | 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.
122 | An example header of a correctly formatted mesh ply file with UV-coordinates would look like this:
123 |
124 | ```ply
125 | ply
126 | format binary_little_endian 1.0
127 | comment Exported for use in Unity Geometry Streaming Plugin
128 | element vertex 73200
129 | property float x
130 | property float y
131 | property float z
132 | property float s
133 | property float t
134 | element face 138844
135 | property list uchar uint vertex_indices
136 | end_header
137 | ```
138 |
139 | The data for a single vertex (line) would look like this. Three XYZ-float values, followed by two float values for the UV-coordinates:
140 |
141 | ```ply
142 | 0.323434 0.55133 1.44322 0.231286 0.692901
143 | ```
144 |
145 | The data for a single indice (line) in the index list could look like this:
146 |
147 | ```ply
148 | 3 56542 56543 56544
149 | ```
150 |
151 | ### Textures/Images
152 |
153 | The textures should be encoded with **BC1/DXT1** encoding and **no mip-maps** for the *.dds format* and the **6x6 blocks** and **linear LDR color profile** for .astc textures. Please ensure that the resolution and encoding stays consistent for all textures in one sequence.
154 |
155 | ### Sequence.json
156 |
157 | The sequence.json file contains information about your sequence in the following format and should be saved in the sequence folder:
158 |
159 | ```JSON
160 |
161 | //This is an example sequence.json for a textured mesh sequence with
162 | //three frames
163 |
164 | {
165 | "geometryType": 2, //0 = Pointcloud, 1 = Mesh, 2 = Textured Mesh
166 | "textureMode": 2, //0 = No Textures, 1 = One texture, 2 = Per Frame textures
167 | "DDS": true, //Does this sequence have .dds textures?
168 | "ASTC": false, //Does this sequence have .astc textures?
169 | "hasUVs": true, //If using a mesh, does it have UVs?
170 | "maxVertexCount": 26545, //The vertice count of the mesh/pointcloud with the highest vertice count in the whole sequence
171 | "maxIndiceCount": 55423, //The indice count of the mesh/pointcloud with the highest indice count in the whole sequence
172 | "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
173 | "textureWidth": 512, //The width of the texture(s)
174 | "textureHeight": 512, //The hight of the texture(s)
175 | "textureSizeDDS": 2097152, //The size of a single .dds texture in bytes
176 | "textureSizeASTC": 0, //The size of a single .astc texture in bytes
177 | "headerSizes": [260, 260, 260], //The size of the .ply header in bytes, for each frame
178 | "verticeCounts": [25434, 26545, 24554], //The vertice counts of each frame
179 | "indiceCounts": [55423, 54543, 45443] //The indice counts of each frame
180 | }
181 | ```
182 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/samples/API-Example.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/samples/API-Example.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/samples/index.bck:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Example Scenes"
3 | description: "Get to know the package through sample scenes"
4 | lead: "Get to know the package through sample scenes"
5 | date: 2025-06-25T13:59:39+01:00
6 | lastmod: 2025-06-25T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 115
13 | toc: true
14 | ---
15 |
16 | ## Importing the samples
17 |
18 | The samples contain a short demo sequence and some scenes, that you can refer to for how to set up your own scenes and playback your own sequences. If you've never used the plugin before, we strongly recommend to take a look at the samples!
19 |
20 | To install the samples, select the **Geometry Sequence Player** Package in the **In Projects** tab and open the **Samples** tab. Then click on **import**. 
21 |
22 | The sample data is now in your Unity assets folder. You can open the sample scenes to take a look how _mesh playback_, _pointcloud playback_, _timeline playback_ and the _scripting API_ works. When you open the scene, you should now either see an animated blob mesh, or a winking cat pointcloud!
23 |
24 | 
25 |
26 | 
27 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/samples/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: Samples
3 | description: "Get to know the package through sample scenes"
4 | lead: "Get to know the package through sample scenes"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 120
13 | toc: true
14 | ---
15 |
16 | The samples contain demo scenes, that you can refer to for how to set up your own scenes and playback your own sequences. If you've never used the plugin before, we highly recommend to take a look at the samples!
17 |
18 | ## Importing the samples
19 |
20 | As this package is distributed as a UPM package, you need to install the samples into your projects first:
21 |
22 | 1: Open the Package Manager from **Window -> Package Manager**
23 |
24 | 2: Click on **In Project** on the left side of the window, and then select the **Geometry Sequence Player** package.
25 |
26 | 3: Click on the **Samples** tab to the right
27 |
28 | 4: **Import** the Sequence Samples. They will now be installed in your projects Asset Directory in the **Assets -> Samples** folder.
29 |
30 | 
31 |
32 | You can now open the sample scenes to take a look how [mesh playback](#sample-01-basic-playback), [pointcloud playback](#sample-02-pointcloud-playback), [timeline playback](#sample-03-timeline-playback) and the [scripting API](#sample-04-scripting-api) works.
33 |
34 | ## Samples
35 |
36 | ### Sample 01: Basic Playback
37 |
38 | 
39 |
40 | This scene contains a simple mesh sequence with per frame textures. When you open the scene, you should see a static 3D thumbnail of the first frame of the sequence in the editor viewport. Press Play in Unity to enter the game mode and start playback of the sequence. In the game window, you can move the camera around the sequence by clicking and holding the left mouse button and moving the mouse, and zoom with the scrollwheel. The scene setup includes:
41 |
42 | - A Gameobject **Sequence Player** which contains the **Geometry Sequence Player** and **Geometry Sequence Stream** components neccessary for playback
43 | - The **path to the sequence** has already been added to the **Geometry Sequence Player** component
44 | - The **Play at start** and **Loop** options have been enabled in the **Geometry Sequence Player** component
45 |
46 | You can inspect the sequence that has been used at:
47 |
48 | `Assets\Samples\Geometry Sequence Player\1.1.0\Sequence Samples\ExampleData\TexturedMesh_Sequence_Sample`
49 |
50 | > Try playing around with the media controls on the **Geometry Sequence Player** component
51 |
52 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/playback/)
53 |
54 | ### Sample 02: Pointcloud Playback
55 |
56 | 
57 |
58 | The pointcloud playback sample is identical in setup to the basic playback scene, the only difference is that a **pointcloud sequence** instead of a mesh sequence has been used.
59 |
60 | You can inspect the sequence at:
61 |
62 | `Assets\Samples\Geometry Sequence Player\1.1.0\Sequence Samples\ExampleData\Pointcloud_Sequence_Sample`
63 |
64 | > Try changing the **point size** and **point type** options on the **Geometry Sequence Stream** component
65 |
66 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/playback/)
67 |
68 | ### Sample 03: Timeline Playback
69 |
70 | 
71 |
72 | This scene shows how to setup and control sequence playback from the Unity Timeline. Open the Unity timeline window and select the **Sequence Player** to see how the timeline is setup. Press the **Play** Button to go into game mode and see the timeline playback in action. The scene contains:
73 |
74 | - A Gameobject **Sequence Player** which contains a **Geometry Sequence Stream** component (**but not a Geometry Sequence Player** component!)
75 | - This gameobject also contains a **Playable Director** component, to which the timeline is attached (the playable director is automatically added when a new Timeline asset is created from the timeline window)
76 | - A **Geometry Sequence Track** has been added to the timeline, and the **Sequence Player** Gameobject has been assigned to the track
77 | - A **Geometry Sequence Clip** was added to the **Geometry Sequence Track**. The sample mesh sequence from the [basic playback sample](#sample-01-basic-playback) is being used in this clip
78 |
79 | > Try adding the pointcloud sequence to the timeline, so that it plays after the mesh sequence has finished
80 |
81 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/timeline-integration/)
82 |
83 |
84 | ### Sample 04: Scripting API
85 |
86 | 
87 |
88 | This scene is mostly identical to the [basic playback scene](#sample-01-basic-playback), but the **Sequence Player** Gameobject additionally contains the **Geometry Sequence API Example** script, which shows how to use the Scripting API for playback control and how to listen to playback events. The script is well-commented, so we recommend to read it to see how the playback API works. Press **Play** to enter the game mode. The sequence should play halfway three times before stopping, just as programmed in the script.
89 |
90 | [More info](/Unity_Geometry_Sequence_Player/docs/tutorials/scripting-api/)
91 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/samples/package_manager_samples.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/samples/package_manager_samples.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/samples/timeline-playback.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/samples/timeline-playback.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/scripting-api/api_disable_startloop.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/scripting-api/api_disable_startloop.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/scripting-api/editor_playback_add_event.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/scripting-api/editor_playback_add_event.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/scripting-api/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Scripting API"
3 | description: "Advanced control of your playback via script"
4 | lead: "Advanced control of your playback via script"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 160
13 | toc: true
14 | ---
15 |
16 | ## Intro
17 |
18 | Besides playback from the timeline and the editor controls, this package also features a API, so that you can control playback from your own scripts. This is for example useful, if you want to let the user control playback via UI buttons, or you want to interactively integrate the player into your experience!
19 |
20 | > 💡 All of the features explained here in this tutorial can also be found in the Sample Scene [04_API_Example](/Unity_Geometry_Sequence_Player/docs/tutorials/samples/#sample-04-scripting-api)
21 |
22 | ## Setup
23 |
24 | To use the Scripting API, you need to have a gameobject in the scene that has the **Geometry Sequence Player** and **Geometry Sequence Stream** components attached to it.
25 |
26 | First, include the BuildingVolumes namespace inside your script with:
27 |
28 | ```C#
29 | using BuildingVolumes.Player;
30 | ```
31 |
32 | In your script, you then have to get the **Geometry Sequence Player** component, ideally directly in the start function:
33 |
34 | ```C#
35 | void Start()
36 | {
37 | //Get our player.
38 | player = GetComponent();
39 | }
40 | ```
41 |
42 | Then, we recommend that you disable **Play at Start** and **Loop Playback** either directly through in the **Geometry Sequence Player** component:
43 |
44 | 
45 |
46 | or via script inside of the start function:
47 |
48 | ```C#
49 | void Start()
50 | {
51 | //Get our player.
52 | player = GetComponent();
53 |
54 | //Disable automatic looping and automatic playback.
55 | player.SetLoopPlay(false);
56 | player.SetAutoStart(false);
57 | }
58 | ```
59 |
60 | This ensures that you have full control over when and how you want to play your sequence.
61 | You can the load your sequence with the **OpenSequence()** function at any point:
62 |
63 | ```C#
64 | //Load our sequence from an absolute path, set its framerate to 30 and play it directly after loading
65 | player.OpenSequence("C:\MySequences\MyOwnSequence\", GeometrySequencePlayer.PathType.AbsolutePath, 30, true);
66 | ```
67 |
68 | 👉 For an overview about the API Features, take a look at the [Scripting Reference](/Unity_Geometry_Sequence_Player/docs/tutorials/scripting-api/#scripting-reference)
69 |
70 | ## Events
71 |
72 | Events can be used to react to certain actions of the Playback, such as when Playback has started, stopped, or buffering has finished.
73 |
74 | ### Receive events
75 |
76 | To receive an event, you need to define a function in your code, which can receive a `GeometrySequencePlayer` object and a `GeometrySequencePlayer.GSPlayerEvents` enum. Use the `GSPlayerEvents` enum to receive the information which event has been triggered, and the player object to determine which player has fired the event.
77 |
78 | ```C#
79 | //A sample event receiver
80 | public void PlaybackEventListener(GeometrySequencePlayer player, GeometrySequencePlayer.GSPlayerEvents events)
81 | {
82 | switch (events)
83 | {
84 | case GeometrySequencePlayer.GSPlayerEvents.PlaybackFinished:
85 | print("Playback Finished!");
86 | break;
87 | case GeometrySequencePlayer.GSPlayerEvents.SequenceChanged:
88 | print("Sequence has been changed!");
89 | break;
90 | }
91 | }
92 | ```
93 |
94 | To actually receive the events, you need to subscribe to them. You can either do this by adding a reference to your function inside the GeometrySequencePlayer **in the editor**, or subscribing to a Players events **inside your script (recommended)**.
95 |
96 | ### Subscribe to event in Editor
97 |
98 | To subscribe to events via the Editor, go to your GeometrySequencePlayer into the events foldout, click on **+** and drag and drop your script into the event subscription box. Now, select your function.
99 |
100 | 
101 |
102 | ### Subscribe to event in Code
103 |
104 | To subscribe to an event via code, get a reference to the player you want to subscribe to, and then add a Listener to the event. Don't forget to unsubscribe when the script gets destroyed/disabled!
105 |
106 | ```C#
107 |
108 | void Start()
109 | {
110 | //Get our player reference
111 | player = GetComponent();
112 |
113 | //Subscribe to the player events
114 | player.playbackEvents.AddListener(PlaybackEventListener);
115 | }
116 |
117 | //Event receiver
118 | void PlaybackEventListener(GeometrySequencePlayer player, GeometrySequencePlayer.GSPlayerEvents events)
119 | {
120 | //Do stuff with your event
121 | }
122 |
123 | void OnDisable()
124 | {
125 | player.playbackEvents.RemoveListener(PlaybackEventListener);
126 | }
127 |
128 | ```
129 |
130 | ## Scripting Reference
131 |
132 | ### OpenSequence()
133 |
134 | `OpenSequence(string path, PathType relativeTo, float playbackFPS , (optional) bool autoplay = false, (optional) bool buffer = true)`
135 | Loads a sequence from the specified path, and start playback if autoplay is enabled.
136 | Parameters:
137 |
138 | - `path`: The relative or absolute path to the folder containing the directory. Should end with a slash
139 | - `relativeTo`: Is the path relative to the [Data path](https://docs.unity3d.com/ScriptReference/Application-dataPath.html), [Persistent Data Path](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html), [Streaming Assets path](https://docs.unity3d.com/Manual/StreamingAssets.html), or is an absolute path?
140 | - `playbackFPS`: The framerate in which your animated sequence was exported in.
141 | - `autoplay` : Optional parameter, start playback directly after it has been loaded
142 | - `buffer` : Optional parameter, immediately start buffering the first frames of the sequence after opening it
143 |
144 | Returns:
145 |
146 | - **True** when sequence could successfully be loaded, **false** when an error has occurred while loading. Take a look in the Unity console in this case
147 |
148 | ### LoadCurrentSequence()
149 |
150 | `LoadCurrentSequence((optional) bool autoplay = false, (optional) bool buffer = true)`
151 | (Re)loads the sequence which is currently set in the player, optionally starts playback.
152 |
153 | - `autoplay` : Optional parameter, if set to true, playback starts directly after it has been loaded
154 | - `buffer` : Optional parameter, immediately start buffering the first frames of the sequence after opening it
155 |
156 | Returns:
157 |
158 | - **True** when sequence could successfully be loaded, **false** when an error has occurred while loading. Take a look in the Unity console in this case
159 |
160 | ### SetPath()
161 |
162 | `SetPath(string path, PathType relativeTo)`
163 | Set a new path in the player, but don't load the sequence. Use `LoadCurrentSequence()` to actually load it, or LoadSequence() to do both at once.
164 | Parameters:
165 |
166 | - `path`: The relative or absolute path to the folder containing the directory. Should end with a slash
167 | - `relativeTo`: Is the path relative to the [Data path](https://docs.unity3d.com/ScriptReference/Application-dataPath.html), [Persistent Data Path](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html), [Streaming Assets path](https://docs.unity3d.com/Manual/StreamingAssets.html), or is an absolute path?
168 |
169 | ### ClearSequence()
170 |
171 | `void ClearSequence()`
172 | 'Ejects' the sequence from the player. If a sequence is currently played, it is stopped and then disposed.
173 |
174 | ### Play()
175 |
176 | `void Play()`
177 | Start Playback from the current location.
178 |
179 | ### Pause
180 |
181 | `void Pause()`
182 | Pause current playback
183 |
184 | ### Stop
185 |
186 | `void Stop()`
187 | Stops the current playback, and resets the player to the first frame
188 |
189 | ### SetLoopPlay()
190 |
191 | `void SetLoopPlay(bool enabled)`
192 | Activate or deactivate looped playback
193 |
194 | Parameters:
195 |
196 | - `enabled` : Set to true/false to enable/disable looped playback
197 |
198 | ### SetAutoStart()
199 |
200 | `void SetAutoStart(bool enabled)`
201 | Activate or deactivate automatic playback (when the scene starts)
202 |
203 | Parameters:
204 |
205 | - `enabled` : Set to true/false to enable/disable automatic playback when the scene has started
206 |
207 | ### PlayFromStart()
208 |
209 | `bool PlayFromStart()`
210 | Seeks to the start of the sequence and then starts playback
211 |
212 | Returns:
213 |
214 | - `True`, when the sequence could be started from the beginning `False` when there has been an error.
215 |
216 | ### GoToFrame()
217 |
218 | `bool GoToFrame(int frame)`
219 | Goes to a specific frame. Use GetTotalFrames() to check how many frames the clip contains
220 |
221 | Parameters:
222 |
223 | - `enabled`
224 |
225 | Returns:
226 |
227 | - `True` when skipping was successful `False` if there has been an error, or the desired frame index was out of range
228 |
229 | ### GoToTime()
230 |
231 | `void GoToTime(float timeInSeconds)`
232 | Goes to a specific time in a clip. The time is dependent on the framerate e.g. the same clip at 30 FPS is twice as long as at 60 FPS.
233 |
234 | Parameters:
235 |
236 | - `timeInSeconds` : The desired timestamp of the sequence to which you want to jump.
237 |
238 | ### Hide()
239 |
240 | `void Hide()`
241 | Hides the currently playing mesh sequence (disables the mesh renderer). The sequences will continue playing.
242 |
243 | ### Show()
244 |
245 | `void Show()`
246 | Shows the currently playing mesh sequence (enables the mesh renderer).
247 |
248 | ### GetAbsoluteSequencePath()
249 |
250 | `string GetAbsoluteSequencePath()`
251 | Gets the absolute path to the folder containing the sequence
252 |
253 | Returns:
254 |
255 | - The absolute path to the Sequence currently used
256 |
257 | ### GetRelativeSequencePath()
258 |
259 | `string GetRelativeSequencePath()`
260 | Gets the relative path to the folder containing the sequence. Use `GetRelativeTo()` to see which path it is relative to.
261 |
262 | Returns:
263 |
264 | - The relative path to the Sequence currently used, relative to the path in `GetRelativeTo()`
265 |
266 | ### GetRelativeTo()
267 |
268 | `GeometrySequenceStream.PathType GetRelativeTo()`
269 | Get the location to to which the relativePath is relative to. Use [Application.datapath](https://docs.unity3d.com/ScriptReference/Application-dataPath.html), [Application.persistentDataPath](https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html) or [Application.streamingAssetsPath](https://docs.unity3d.com/Manual/StreamingAssets.html) to get the actual path string, depending on the return type.
270 |
271 | Returns
272 |
273 | - The relative location
274 |
275 | ### IsInitialized()
276 |
277 | `bool IsInitialized()`
278 | Is a sequence currently loaded and ready to play?
279 |
280 | Returns:
281 |
282 | - `True` if a sequence is initialized and ready to play, `False` if not
283 |
284 | ### IsPlaying()
285 |
286 | `bool IsPlaying()`
287 | Is the current clip playing?
288 |
289 | Returns:
290 |
291 | - `True` if the clip is playing `False` if it is paused, stopped or not loaded
292 |
293 | ### GetLoopingEnabled()
294 |
295 | `bool GetLoopingEnabled()`
296 | Is looped playback enabled?
297 |
298 | Returns:
299 |
300 | - `True` if the playback is enabled `False` if it is disabled
301 |
302 | ### GetCurrentFrameIndex()
303 |
304 | `int GetCurrentFrameIndex()`
305 | At which frame is the playback currently?
306 |
307 | Returns:
308 |
309 | - The frame index which is currently being played/shown
310 |
311 | ### GetCurrentTime()
312 |
313 | `float GetCurrentTime()`
314 | At which time is the playback currently in seconds?
315 | Note that the time is dependent on the framerate e.g. the same clip at 30 FPS is twice as long as at 60 FPS.
316 |
317 | Returns:
318 |
319 | - The current timestamp of the clip in seconds
320 |
321 | ### GetTotalFrames()
322 |
323 | `int GetTotalFrames()`
324 | How many frames are there in total in the whole sequence?
325 |
326 | Returns:
327 |
328 | - The total number of frames in the sequence
329 |
330 | ### GetTotalTime()
331 |
332 | `float GetTotalTime()`
333 | How long is the sequence in total?
334 | Note that the time is dependent on the framerate e.g. the same clip at 30 FPS is twice as long as at 60 FPS.
335 |
336 | Returns:
337 |
338 | - The length of the sequence in seconds
339 |
340 | ### GetTargetFPS()
341 |
342 | `float GetTargetFPS()`
343 | The target fps is the framerate we _want_ to achieve in playback. However, this is not guaranteed, if system resources
344 | are too low. Use GetActualFPS() to see if you actually achieve this framerate
345 |
346 | Returns:
347 |
348 | - The playback framerate used currently for this clip
349 |
350 | ### GetActualFPS()
351 |
352 | `float GetActualFPS()`
353 | What is the actual current playback framerate? If the framerate is much lower than the target framerate,
354 | consider reducing the complexity of your sequence, and don't forget to disable any V-Sync (VSync, FreeSync, GSync) methods!
355 |
356 | Returns:
357 |
358 | - The actual FPS at which your sequence is playing.
359 |
360 | ### GetFrameDropped()
361 |
362 | `bool GetFrameDropped()`
363 | Check if there have been frame drops since you last checked this function. You should pull this data every frame.
364 | Too many frame drops mean the system can't keep up with the playback
365 | and you should reduce your Geometric complexity or framerate.
366 |
367 | Returns:
368 |
369 | - `True` When there has been a frame dropped since the last time you checked it, `False` if there has been no frame drop
370 |
371 | ### IsCacheFilled()
372 |
373 | `bool GetCacheFilled()`
374 | Checks if the playback cache has been filled and is ready to play. If it is, playback starts immediately once you call Play()
375 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/index.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Timeline integration"
3 | description: "Control playback via the Unity Timeline"
4 | lead: "Control playback via the Unity Timeline"
5 | date: 2020-11-16T13:59:39+01:00
6 | lastmod: 2020-11-16T13:59:39+01:00
7 | draft: false
8 | images: []
9 | menu:
10 | docs:
11 | parent: "tutorials"
12 | weight: 150
13 | toc: true
14 | ---
15 |
16 | ## Intro
17 |
18 | For playback scenarios, where a precise control of the playback, or cohesive animation with other objects is needed, the package also supports the playback from the Unity Timeline.
19 |
20 | > 💡 All of the features explained here in this tutorial can also be found in the Sample Scene [03_Timeline_Example](/Unity_Geometry_Sequence_Player/docs/tutorials/samples/#sample-03-timeline-playback)
21 |
22 | ## Setting up a timeline clip
23 |
24 | 1. Open the timeline window by going to **Window --> Sequencing --> Timeline** in the main toolbar 
25 |
26 | 2. Create a new empty gameobject, or select the one you want to attach the timeline to. 
27 |
28 | 3. Add a **"Geometry Sequence Stream"** component to the gameobject.
29 | > ⚠️ Check that there is no "Geometry Sequence Player" component attached to the gameobject, when you use the Geometry Sequence Stream component for timeline playback!
30 |
31 | 
32 |
33 | 4. Go into the Timeline window and click on **Create**. Save the timeline director file anywhere in your assets folder. 
34 |
35 | 5. Add a geometry sequence track by clicking on the **"+"-Button** in the top left corner. Click on **GeomeotrySequence.Streaming --> Geometry Sequence Track** 
36 |
37 | 6. Drag and drop the gameobject that contains your Geometry Sequence Stream component into the empty field on the track 
38 |
39 | 7. Right-click anywhere on the empty track field and add a clip by clicking on **Geometry Sequence Clip** 
40 |
41 | 8. With the new clip still selected, go into the inspector and click on **Open Sequence**. Choose the folder, where your converted sequence is stored in. 
42 |
43 | 9. Due to a missing feature in Unity, the clip doesn't auto-adjust it's length, so the clip might be (a lot) shorter or longer than it actually is. Adjust the duration of the clip manually by dragging on it's end cap, or set the duration in the inspector. 
44 |
45 | 10. Done! The clip will only playback when you're in play mode, so if you want to see your sequence, you need to go into it first.
46 |
47 | 11. You can now add more clips on the same track, or play two clips at the same time, by adding a **second Geometry Sequence Stream** component, and assigning it to a second track.
48 |
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline-newgo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline-newgo.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline-open.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline-open.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_add_Clip.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_add_Clip.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_add_component.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_add_component.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_adjust_duration.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_adjust_duration.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_assign_stream.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_assign_stream.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_create.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_create.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_create_track.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_create_track.png
--------------------------------------------------------------------------------
/docs/content/docs/tutorials/timeline-integration/timeline_open_sequence.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/content/docs/tutorials/timeline-integration/timeline_open_sequence.png
--------------------------------------------------------------------------------
/docs/content/versions.md:
--------------------------------------------------------------------------------
1 | ---
2 | title: "Versions"
3 | description: ""
4 | lead: "An appendix of hosted documentation for nearly every release of Doks, from v0 through v3."
5 | date: 2021-09-24T08:50:23+02:00
6 | lastmod: 2021-09-24T08:50:23+02:00
7 | draft: true
8 | images: []
9 | layout: versions
10 | url: "/docs/versions/"
11 | ---
12 |
--------------------------------------------------------------------------------
/docs/data/docs-versions.yml:
--------------------------------------------------------------------------------
1 | # - group: v1.x
2 | # baseurl: "https://getbootstrap.com"
3 | # description: "Every minor and patch release from v1 is listed below."
4 | # versions:
5 | # - v: "1.0.0"
6 | # - v: "1.1.0"
7 | # - v: "1.1.1"
8 | # - v: "1.2.0"
9 | # - v: "1.3.0"
10 | # - v: "1.4.0"
11 | #
12 | # - group: v2.x
13 | # baseurl: "https://getbootstrap.com"
14 | # description: "Every minor and patch release from v2 is listed below."
15 | # versions:
16 | # - v: "2.0.0"
17 | # - v: "2.0.1"
18 | # - v: "2.0.2"
19 | # - v: "2.0.3"
20 | # - v: "2.0.4"
21 | # - v: "2.1.0"
22 | # - v: "2.1.1"
23 | # - v: "2.2.0"
24 | # - v: "2.2.1"
25 | # - v: "2.2.2"
26 | # - v: "2.3.0"
27 | # - v: "2.3.1"
28 | # - v: "2.3.2"
29 | #
30 | # - group: v3.x
31 | # baseurl: "https://getbootstrap.com/docs"
32 | # description: "Every minor and patch release from v3 is listed below. Last update was v3.4.1."
33 | # versions:
34 | # - v: "3.3"
35 | # - v: "3.4"
36 | #
37 | # - group: v4.x
38 | # baseurl: "https://getbootstrap.com/docs"
39 | # description: "Our previous major release with its minor releases. Last update was v4.6.0."
40 | # versions:
41 | # - v: "4.0"
42 | # - v: "4.1"
43 | # - v: "4.2"
44 | # - v: "4.3"
45 | # - v: "4.4"
46 | # - v: "4.5"
47 | # - v: "4.6"
48 |
49 | - group: v0.x
50 | baseurl: "/docs"
51 | description: "Current major release. Last update was v0.2.0."
52 | versions:
53 | - v: "0.1"
54 | - v: "0.2"
55 |
56 | - group: v1.x
57 | baseurl: "/docs"
58 | description: "Every minor and patch release from v1 is listed below. Last update was v1.0.0."
59 | versions:
60 | - v: "1.0"
61 |
--------------------------------------------------------------------------------
/docs/functions/hi-from-lambda.js:
--------------------------------------------------------------------------------
1 | exports.handler = (event, context, callback) => {
2 | callback (null, {
3 | statusCode: 200,
4 | headers: {
5 | 'Content-Type': 'application/json',
6 | },
7 | body: JSON.stringify({
8 | message: 'Hi from Lambda.',
9 | }),
10 | });
11 | }
12 |
--------------------------------------------------------------------------------
/docs/hugo_stats.json:
--------------------------------------------------------------------------------
1 | {
2 | "htmlElements": {
3 | "tags": [
4 | "a",
5 | "article",
6 | "aside",
7 | "b",
8 | "base",
9 | "blockquote",
10 | "body",
11 | "button",
12 | "circle",
13 | "code",
14 | "details",
15 | "div",
16 | "em",
17 | "figcaption",
18 | "figure",
19 | "footer",
20 | "form",
21 | "g",
22 | "h1",
23 | "h2",
24 | "h3",
25 | "h4",
26 | "h5",
27 | "head",
28 | "header",
29 | "html",
30 | "iframe",
31 | "img",
32 | "input",
33 | "kbd",
34 | "label",
35 | "li",
36 | "line",
37 | "link",
38 | "main",
39 | "meta",
40 | "nav",
41 | "noscript",
42 | "ol",
43 | "p",
44 | "path",
45 | "pre",
46 | "script",
47 | "section",
48 | "small",
49 | "span",
50 | "strong",
51 | "style",
52 | "summary",
53 | "svg",
54 | "template",
55 | "time",
56 | "title",
57 | "ul"
58 | ],
59 | "classes": [
60 | "DocSearch-Label",
61 | "active",
62 | "anchor",
63 | "bg-dots",
64 | "border-0",
65 | "btn",
66 | "btn-close",
67 | "btn-cta",
68 | "btn-lg",
69 | "btn-link",
70 | "btn-primary",
71 | "card",
72 | "card-body",
73 | "card-list",
74 | "categories",
75 | "chroma",
76 | "col-lg-10",
77 | "col-lg-11",
78 | "col-lg-12",
79 | "col-lg-5",
80 | "col-lg-8",
81 | "col-lg-9",
82 | "col-md-12",
83 | "col-xl-3",
84 | "col-xl-4",
85 | "col-xl-8",
86 | "col-xl-9",
87 | "container",
88 | "container-fluid",
89 | "container-lg",
90 | "content",
91 | "contributors",
92 | "created-date",
93 | "d-flex",
94 | "d-lg-block",
95 | "d-lg-none",
96 | "d-md-block",
97 | "d-md-none",
98 | "d-none",
99 | "d-xl-block",
100 | "d-xl-none",
101 | "docs",
102 | "docs-content",
103 | "docs-links",
104 | "docs-sidebar",
105 | "docs-toc",
106 | "doks-sidebar",
107 | "dropdown",
108 | "dropdown-item",
109 | "dropdown-menu",
110 | "dropdown-toggle",
111 | "error404",
112 | "expressive-code",
113 | "feather",
114 | "feather-github",
115 | "flex-column",
116 | "flex-grow-1",
117 | "flex-lg-row",
118 | "flex-md-row",
119 | "flex-row",
120 | "flex-sm-row",
121 | "flex-xl-nowrap",
122 | "footer",
123 | "form-control",
124 | "form-control-lg",
125 | "frame",
126 | "fs-5",
127 | "h-auto",
128 | "h4",
129 | "h5",
130 | "header",
131 | "highlight",
132 | "home",
133 | "icon",
134 | "icon-tabler",
135 | "icon-tabler-arrow-left",
136 | "icon-tabler-arrow-right",
137 | "icon-tabler-brand-unity",
138 | "icon-tabler-chevron-down",
139 | "icon-tabler-dots-vertical",
140 | "icon-tabler-menu",
141 | "icon-tabler-search",
142 | "icon-tabler-x",
143 | "icons-tabler-outline",
144 | "justify-content-between",
145 | "justify-content-center",
146 | "justify-content-end",
147 | "justify-content-start",
148 | "lead",
149 | "list",
150 | "list-inline",
151 | "list-inline-item",
152 | "list-nested",
153 | "list-unstyled",
154 | "list-view",
155 | "m-2",
156 | "mb-0",
157 | "me-2",
158 | "me-auto",
159 | "me-lg-3",
160 | "message",
161 | "meta",
162 | "modal",
163 | "modal-body",
164 | "modal-content",
165 | "modal-dialog",
166 | "modal-dialog-scrollable",
167 | "modal-footer",
168 | "modal-fullscreen-md-down",
169 | "modal-header",
170 | "modal-title",
171 | "ms-2",
172 | "ms-3",
173 | "ms-auto",
174 | "mt-3",
175 | "mt-n3",
176 | "mx-2",
177 | "mx-auto",
178 | "my-3",
179 | "nav",
180 | "nav-item",
181 | "nav-link",
182 | "navbar",
183 | "navbar-brand",
184 | "navbar-expand-lg",
185 | "navbar-nav",
186 | "not-content",
187 | "offcanvas",
188 | "offcanvas-body",
189 | "offcanvas-end",
190 | "offcanvas-header",
191 | "offcanvas-start",
192 | "offcanvas-title",
193 | "order-3",
194 | "order-lg-4",
195 | "p-0",
196 | "p-2",
197 | "page-footer-meta",
198 | "page-links",
199 | "page-nav",
200 | "pb-3",
201 | "px-0",
202 | "query-no-results",
203 | "rounded",
204 | "rounded-pill",
205 | "row",
206 | "search-form",
207 | "search-input",
208 | "search-loading",
209 | "search-no-recent",
210 | "search-no-results",
211 | "search-result",
212 | "search-results",
213 | "search-text",
214 | "section",
215 | "section-features",
216 | "section-md",
217 | "section-nav",
218 | "shadow",
219 | "single",
220 | "social-link",
221 | "status",
222 | "sticky-top",
223 | "stretched-link",
224 | "submitted",
225 | "tags",
226 | "taxonomy",
227 | "text-body-secondary",
228 | "text-center",
229 | "text-decoration-none",
230 | "text-end",
231 | "text-lg-end",
232 | "text-lg-start",
233 | "text-muted",
234 | "text-reset",
235 | "title",
236 | "title-submitted",
237 | "toc-mobile",
238 | "visually-hidden",
239 | "w-100",
240 | "wrap"
241 | ],
242 | "ids": [
243 | "-priority-support-unity-asset-store-version",
244 | "TableOfContents",
245 | "android",
246 | "apple-vision-pro",
247 | "bounded-mode",
248 | "build-and-ship",
249 | "clearsequence",
250 | "controls--settings-explained",
251 | "convert-your-sequence",
252 | "converting-your-sequences",
253 | "credits",
254 | "doks-docs-nav",
255 | "events",
256 | "for-developers-format-specification",
257 | "general-support",
258 | "getabsolutesequencepath",
259 | "getactualfps",
260 | "getcurrentframeindex",
261 | "getcurrenttime",
262 | "getframedropped",
263 | "getloopingenabled",
264 | "getrelativesequencepath",
265 | "getrelativeto",
266 | "gettargetfps",
267 | "gettotalframes",
268 | "gettotaltime",
269 | "gotoframe",
270 | "gototime",
271 | "h-rh-i-0",
272 | "h-rh-i-1",
273 | "h-rh-i-2",
274 | "h-rh-i-3",
275 | "h-rh-i-4",
276 | "h-rh-i-5",
277 | "h-rh-i-6",
278 | "h-rh-i-7",
279 | "h-rh-i-8",
280 | "hide",
281 | "immersive-mode",
282 | "importing-the-samples",
283 | "install-the-package",
284 | "install-the-package-from-unity-store",
285 | "installing-the-converter",
286 | "intro",
287 | "iscachefilled",
288 | "isinitialized",
289 | "isplaying",
290 | "loadcurrentsequence",
291 | "mesh-ply-files",
292 | "naming",
293 | "offcanvasNavMain",
294 | "offcanvasNavMainLabel",
295 | "offcanvasNavSection",
296 | "offcanvasNavSectionLabel",
297 | "open-source-license",
298 | "opensequence",
299 | "package-installation",
300 | "package-installation-unity-store-version",
301 | "pause",
302 | "play",
303 | "play-a-sample-sequence",
304 | "playback",
305 | "playback-your-sequence",
306 | "player-component",
307 | "playfromstart",
308 | "pointcloud-ply-files",
309 | "preparation-for-the-conversion",
310 | "query",
311 | "receive-events",
312 | "sample-01-basic-playback",
313 | "sample-01-mesh-playback",
314 | "sample-02-pointcloud-playback",
315 | "sample-03-timeline-playback",
316 | "sample-04-scripting-api",
317 | "samples",
318 | "scripting-reference",
319 | "search-form",
320 | "searchModal",
321 | "searchModalLabel",
322 | "searchResults",
323 | "searchToggleDesktop",
324 | "searchToggleMobile",
325 | "sequencejson",
326 | "setautostart",
327 | "setloopplay",
328 | "setpath",
329 | "setting-up-a-timeline-clip",
330 | "setup",
331 | "show",
332 | "socialMenu",
333 | "stop",
334 | "stream-component",
335 | "subscribe-to-event-in-code",
336 | "subscribe-to-event-in-editor",
337 | "supported-file-formats",
338 | "texturesimages",
339 | "the-samples",
340 | "toc",
341 | "unity-asset-store-license",
342 | "using-the-converter",
343 | "version-100",
344 | "version-101-package-only",
345 | "version-102",
346 | "version-103",
347 | "version-110"
348 | ]
349 | }
350 | }
351 |
--------------------------------------------------------------------------------
/docs/i18n/en.yaml:
--------------------------------------------------------------------------------
1 | - id: get-started
2 | translation: "Get Started"
3 |
4 | - id: on-this-page
5 | translation: "On this page"
6 |
7 | - id: search-text
8 | translation: "Search docs..."
9 |
10 | - id: 404-title
11 | translation: "Page not found :("
12 |
13 | - id: 404-text
14 | translation: "The page you are looking for doesn't exist or has been moved."
15 |
16 | - id: browse
17 | translation: "Browse"
18 |
--------------------------------------------------------------------------------
/docs/layouts/index.html:
--------------------------------------------------------------------------------
1 | {{ define "main" }}
2 |
3 |
4 |
5 |
{{ "Geometry Sequence Player" }}
6 |
7 |
8 |
{{ "Pointcloud and mesh sequence playback for the Unity game engine" | safeHTML }}
9 |
VIDEO
10 |
This package is provided open-source and free for non-commercial projects. If you want to use the package in a commercial project , or support the development , you can buy also the package in the Unity Asset Store.
11 |
Get Started now
12 |
______________________________________
13 |
14 |
Buy in Unity Asset Store
15 |
Thank you very much for your support 💚
16 | {{ .Content }}
17 |
18 |
19 |
20 | {{ end }}
21 |
22 | {{ define "sidebar-prefooter" }}
23 | {{ if site.Params.doks.backgroundDots -}}
24 |
27 | {{ end -}}
28 | {{ if eq $.Site.Language.LanguageName "English" }}
29 |
30 |
31 |
32 |
33 |
Pointclouds
34 |
35 |
36 |
37 |
Meshes
38 |
39 |
40 |
41 |
Textured Meshes
42 |
43 |
44 |
45 |
Credits
46 |
47 |
48 |
49 | {{ end }}
50 | {{ end }}
51 |
52 | {{ define "sidebar-footer" }}
53 | {{ if site.Params.doks.sectionFooter -}}
54 |
62 | {{ end -}}
63 | {{ end }}
64 |
--------------------------------------------------------------------------------
/docs/layouts/partials/footer/script-footer-custom.html:
--------------------------------------------------------------------------------
1 | {{/* Put your custom tags here */}}
2 |
3 | {{/* EXAMPLE - only load script for production
4 | {{ if eq (hugo.Environment) "production" -}}
5 | {{ partial "footer/esbuild" (dict "src" "js/instantpage.js" "load" "async" "transpile" false) -}}
6 | {{ end -}}
7 | */}}
8 |
9 | {{/* EXAMPLE - only load script for a page type e.g. contact or gallery
10 | {{ if eq .Type "gallery" -}}
11 | {{ partial "footer/esbuild" (dict "src" "js/gallery.js" "load" "async" "transpile" false) -}}
12 | {{ end -}}
13 | */}}
14 |
--------------------------------------------------------------------------------
/docs/layouts/partials/head/custom-head.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/layouts/partials/head/script-header.html:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/docs/netlify.toml:
--------------------------------------------------------------------------------
1 | [build]
2 | publish = "public"
3 | functions = "functions"
4 |
5 | [build.environment]
6 | NODE_VERSION = "16.16.0"
7 | NPM_VERSION = "8.11.0"
8 |
9 | [context.production]
10 | command = "npm run build"
11 |
12 | [context.deploy-preview]
13 | command = "npm run build -- -b $DEPLOY_PRIME_URL"
14 |
15 | [context.branch-deploy]
16 | command = "npm run build -- -b $DEPLOY_PRIME_URL"
17 |
18 | [context.next]
19 | command = "npm run build"
20 |
21 | [context.next.environment]
22 | HUGO_ENV = "next"
23 |
24 | [[plugins]]
25 | package = "netlify-plugin-submit-sitemap"
26 |
27 | [plugins.inputs]
28 | baseUrl = "https://doks-child-theme.netlify.app/"
29 | sitemapPath = "/sitemap.xml"
30 | ignorePeriod = 0
31 | providers = [
32 | "google",
33 | "yandex"
34 | ]
35 |
36 | [dev]
37 | framework = "#custom"
38 | command = "npm run start"
39 | targetPort = 1313
40 | port = 8888
41 | publish = "public"
42 | autoLaunch = false
43 |
--------------------------------------------------------------------------------
/docs/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "doks",
3 | "version": "1.6.2",
4 | "description": "Doks theme",
5 | "author": "Hyas",
6 | "license": "MIT",
7 | "scripts": {
8 | "dev": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost --noHTTPCache",
9 | "dev:drafts": "exec-bin node_modules/.bin/hugo/hugo server --bind=0.0.0.0 --disableFastRender --baseURL=http://localhost --noHTTPCache --buildDrafts",
10 | "create": "exec-bin node_modules/.bin/hugo/hugo new",
11 | "lint": "npm run lint:scripts && npm run lint:styles && npm run lint:markdown",
12 | "lint:scripts": "eslint --cache assets/js",
13 | "lint:styles": "stylelint --cache \"assets/scss/**/*.{css,sass,scss}\"",
14 | "lint:markdown": "markdownlint-cli2 \"*.md\" \"content/**/*.md\"",
15 | "test": "echo \"Error: no test specified\" && exit 1",
16 | "build": "exec-bin node_modules/.bin/hugo/hugo --minify",
17 | "preview": "http-server --gzip --brotli --ext=html --cors",
18 | "clean": "npm run clean:build && npm run clean:lint && npm run clean:install",
19 | "clean:build": "shx rm -rf public resources .hugo_build.lock",
20 | "clean:install": "shx rm -rf node_modules package-lock.json yarn.lock pnpm-lock.yaml",
21 | "clean:lint": "shx rm -rf .eslintcache .stylelintcache",
22 | "preinfo": "npm version",
23 | "info": "npm list",
24 | "postinfo": "exec-bin node_modules/.bin/hugo/hugo version",
25 | "postinstall": "hugo-installer --version otherDependencies.hugo --extended --destination node_modules/.bin/hugo"
26 | },
27 | "dependencies": {
28 | "@hyas/doks-core": "^1.6.1",
29 | "@hyas/images": "^3.2.0",
30 | "@hyas/inline-svg": "^1.0.5",
31 | "@hyas/seo": "^2.3.0",
32 | "@tabler/icons": "^2.47.0",
33 | "exec-bin": "^1.0.0",
34 | "gethyas": "^2.2.2",
35 | "hugo-installer": "^4.0.1"
36 | },
37 | "devDependencies": {
38 | "shx": "^0.3.4"
39 | },
40 | "otherDependencies": {
41 | "hugo": "0.121.1"
42 | },
43 | "overrides": {
44 | "semver": "^7.5.4"
45 | },
46 | "engines": {
47 | "node": ">=18.14.1",
48 | "pnpm": ">=8.10.0"
49 | },
50 | "packageManager": "pnpm@8.12.0"
51 | }
52 |
--------------------------------------------------------------------------------
/docs/static/Unity_Package_OpenGraph_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/BuildingVolumes/Unity_Geometry_Sequence_Player/f8940008f4b8df640407530ceec5afd6b4785966/docs/static/Unity_Package_OpenGraph_logo.png
--------------------------------------------------------------------------------
/docs/theme.toml:
--------------------------------------------------------------------------------
1 | name = "Doks child theme"
2 | license = "MIT"
3 | licenselink = "https://github.com/h-enk/doks/blob/master/LICENSE"
4 | description = "Hugo theme helping you build modern documentation websites that are secure, fast, and SEO-ready — by default."
5 |
6 | homepage = "https://github.com/h-enk/doks-child-theme"
7 | demosite = "https://doks-child-theme.netlify.app"
8 |
9 | tags = ["landing page", "documentation", "blog", "minimal", "modern", "customizable", "search", "dark mode", "bootstrap"]
10 | features = ["security aware", "fast by default", "seo-ready", "development tools", "bootstrap framework", "netlify-ready", "full text search", "page layouts", "dark mode"]
11 |
12 | [author]
13 | name = "Henk Verlinde"
14 | homepage = "https://henkverlinde.com"
15 |
--------------------------------------------------------------------------------