Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: googlevr/tilt-brush-toolkit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: icosa-foundation/open-brush-toolkit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: main
Choose a head ref
Able to merge. These branches can be automatically merged.
  • 16 commits
  • 65 files changed
  • 3 contributors

Commits on Oct 19, 2021

  1. Tilt > Open and fix links

    andybak authored Oct 19, 2021
    Copy the full SHA
    460744e View commit details

Commits on Jan 5, 2023

  1. readme updates regarding render pipeline support (#6)

    * readme updates regarding render pipeline support
    DeepChallengerVR authored Jan 5, 2023
    Copy the full SHA
    445c2ef View commit details

Commits on Jan 19, 2023

  1. Update to Unity 2019.4.25

    andybak committed Jan 19, 2023
    Copy the full SHA
    2dd3b19 View commit details
  2. Merge branch 'master'

    andybak committed Jan 19, 2023
    Copy the full SHA
    27f639b View commit details
  3. Copy the full SHA
    06f6a00 View commit details
  4. Ignore Rider files

    andybak committed Jan 19, 2023
    Copy the full SHA
    721cc9a View commit details
  5. Copy the full SHA
    ff1e0f1 View commit details
  6. Copy the full SHA
    d8411df View commit details
  7. Copy the full SHA
    03f11b2 View commit details

Commits on Aug 23, 2024

  1. Copy the full SHA
    0dca11f View commit details

Commits on Jan 4, 2025

  1. Copy the full SHA
    d4f4771 View commit details

Commits on Jan 8, 2025

  1. Support both glb and gltf

    andybak committed Jan 8, 2025
    Copy the full SHA
    2193827 View commit details
  2. Copy the full SHA
    e410aa1 View commit details
  3. Add "Mesh to Strokes" tool to allow working with original strokes (#10)

    * install Burst
    
    Burst is being installed because it will be used to make the "Mesh to strokes" tool fast
    
    * Add MathematicsUtils.cs to help with Unity.Mathematics
    
    * implement initial functionality for "Mesh to Strokes" tool
    
    Todo:
    
    - optimize, e.g if you have multiple meshes selected and you use the tool, it'll run MeshToStroke() for each of them synchronously, one by one.
    
    - fix bugs. e.g some brushes scale gets messed up when using this tool.
    
    * Add progress bar
    
    * fix name of Undo operation
    
    * optimize MeshToStrokes's asset creation
    
    The AssetDatabase.StartAssetEditing() and AssetDatabase.StopAssetEditing() methods disable importing of assets that we create in GetMeshSubset, and we instead do it all at once after the assets have been created. The performance gain is <= 2x
    
    * make sure submesh assets are saved to a common folder
    
    * add proper error handling to MeshToStrokes
    
    * make sure new meshes also get the timestamp data
    
    the new meshes need the uv2 timestamp data if you wanna use it in e.g shaders.
    
    * fix: make sure only a subset of uv2 gets copied to new mesh
    
    * fix uv stuff
    
    This commit does 2 things:
    
    1. change variable naming to the correct timestamp uv channel: uv2 -> uv3 (texcoord2)
    
    2. make sure both uv2 and uv3 are copied to the new meshes
    
    (2) fixes issue where e.g Dots shader doesn't work because uv2 data doesn't get copied to the new mesh
    
    * Implement method for safe copying of mesh attributes
    
    * make sure that mesh assets have unique names
    
    * add proper error handling for no timestamp data
    
    * fix issue with modified transforms
    
    This commit fixes an issue where if the user has modified the transform of a mesh they are separating (e.g scaled it by 2), the 'Mesh To Strokes' tool wouldn't create the new meshes with the 2x scale taken into account. The resulting meshes would be the original size
    
    * change name MeshToStrokes -> SplitMeshByStroke
    
    We decided to change the name as this is more accurate for what the tool does.
    
    * Change name SeparateStrokesByBrushColor -> SplitMeshByColor
    
    This name describes the tool more accurately
    eeropomell authored Jan 8, 2025
    Copy the full SHA
    23231fa View commit details

Commits on Jan 10, 2025

  1. Copy the full SHA
    a5aad8b View commit details

Commits on Jan 15, 2025

  1. Fix a potential null error

    andybak committed Jan 15, 2025
    Copy the full SHA
    eef9643 View commit details
Showing with 4,345 additions and 1,520 deletions.
  1. +2 −1 .gitignore
  2. +13 −10 README.md
  3. +1 −1 UnitySDK/.gitignore
  4. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Bubbles/maintexture.png.meta
  5. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/CelVinyl/main.png.meta
  6. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/CoarseBristles/leaves.png.meta
  7. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/DotMarker/maintexture.png.meta
  8. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Dots/maintexture.png.meta
  9. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/DuctTape/main.png.meta
  10. +73 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Embers/maintexture.png.meta
  11. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Fire/fire.png.meta
  12. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Highlighter/maintexture.png.meta
  13. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/HyperGrid/maintexture.png.meta
  14. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Hypercolor/main.png.meta
  15. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Ink/maintexture.png.meta
  16. +76 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Leaves/leaves.png.meta
  17. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Light/maintexture.png.meta
  18. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Marker/maintexture.png.meta
  19. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/OilPaint/main.png.meta
  20. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Paper/main.png.meta
  21. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Snow/maintexture.png.meta
  22. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/SoftHighlighter/maintexture.png.meta
  23. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Splatter/main.png.meta
  24. +74 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Stars/maintexture.png.meta
  25. +29 −10 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Streamers/main.png.meta
  26. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/Taffy/main.png.meta
  27. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/TaperedFlat/maintexture.png.meta
  28. +74 −15 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/TaperedMarker/maintexture.png.meta
  29. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/ThickPaint/streakystroke.png.meta
  30. +77 −16 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/VelvetInk/maintexture.png.meta
  31. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/WetPaint/main.png.meta
  32. +72 −14 UnitySDK/Assets/TiltBrush/Assets/Brushes/Basic/WigglyGraphite/main.png.meta
  33. +319 −13 UnitySDK/Assets/TiltBrush/Scripts/Editor/EditorUtils.cs
  34. +5 −0 UnitySDK/Assets/TiltBrush/Scripts/Editor/Glb1Importer.cs
  35. +76 −71 UnitySDK/Assets/TiltBrush/Scripts/Editor/Glb2Importer.cs
  36. +4 −1 UnitySDK/Assets/TiltBrush/Scripts/Gltf/GlbParser.cs
  37. +490 −461 UnitySDK/Assets/TiltBrush/Scripts/Gltf/GltfMaterialConverter.cs
  38. +276 −276 UnitySDK/Assets/TiltBrush/Scripts/Gltf/GltfSchemaCommon.cs
  39. +8 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs.meta
  40. +55 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/TriangleArrayCopyJob.cs
  41. +11 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/TriangleArrayCopyJob.cs.meta
  42. +38 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/TriangleCountJob.cs
  43. +11 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/TriangleCountJob.cs.meta
  44. +53 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/VertexMapJob.cs
  45. +11 −0 UnitySDK/Assets/TiltBrush/Scripts/Jobs/VertexMapJob.cs.meta
  46. +16 −0 UnitySDK/Assets/TiltBrush/Scripts/MathematicsUtils.cs
  47. +3 −0 UnitySDK/Assets/TiltBrush/Scripts/MathematicsUtils.cs.meta
  48. +6 −3 UnitySDK/Assets/TiltBrush/Scripts/TiltBrushToolkitRuntime.asmdef
  49. +35 −2 UnitySDK/Packages/manifest.json
  50. +343 −0 UnitySDK/Packages/packages-lock.json
  51. +3 −1 UnitySDK/ProjectSettings/AudioManager.asset
  52. +7 −2 UnitySDK/ProjectSettings/DynamicsManager.asset
  53. +1 −0 UnitySDK/ProjectSettings/EditorBuildSettings.asset
  54. +22 −8 UnitySDK/ProjectSettings/EditorSettings.asset
  55. +4 −2 UnitySDK/ProjectSettings/GraphicsSettings.asset
  56. +0 −8 UnitySDK/ProjectSettings/NetworkManager.asset
  57. +38 −0 UnitySDK/ProjectSettings/PackageManagerSettings.asset
  58. +22 −3 UnitySDK/ProjectSettings/Physics2DSettings.asset
  59. +2 −1 UnitySDK/ProjectSettings/PresetManager.asset
  60. +183 −171 UnitySDK/ProjectSettings/ProjectSettings.asset
  61. +2 −1 UnitySDK/ProjectSettings/ProjectVersion.txt
  62. +143 −41 UnitySDK/ProjectSettings/QualitySettings.asset
  63. +7 −7 UnitySDK/ProjectSettings/UnityConnectSettings.asset
  64. +1 −0 UnitySDK/ProjectSettings/VFXManager.asset
  65. +10 −0 UnitySDK/ProjectSettings/XRSettings.asset
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
*.pyc
*.DS_Store
*.DS_Store
UnitySDK/.idea/.idea.UnitySDK/.idea/*
23 changes: 13 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,40 @@
# Tilt Brush Toolkit
# Open Brush Toolkit

The Tilt Brush Toolkit is a collection of scripts and assets that allow you to use [Tilt Brush](http://g.co/tiltbrush) data in your creative projects. If you simply want to import Tilt Brush geometry into Unity, this package is mostly superseded by [Poly Toolkit](https://github.com/googlevr/poly-toolkit-unity).
The Open Brush Toolkit is a collection of scripts and assets that allow you to use [Open Brush](https://openbrush.app/) data in your creative projects.

## Contents

### Unity SDK

![Unity SDK](http://i.imgur.com/UdJg4Tz.gif)

Scripts, shaders and tools for importing and manipulating Tilt Brush .fbx exports in [Unity](http://unity3d.com/). Unless you specifically need to use .fbx -- for instance, because Maya is part of your workflow -- try Poly Toolkit first.
Scripts, shaders and tools for importing and manipulating Open Brush .gltf/.glb exports in [Unity](http://unity3d.com/).

* Easily import sketches into Unity
* Brush shaders and materials
* Audio reactive features
* Examples and reusable scripts to create animations and add interactivity

**Click [here](../../releases) to download the latest version of the Tilt Brush Unity SDK**
**Click [here](../../releases) to download the latest version of the Open Brush Unity SDK**

Check out the [Documentation](https://docs.google.com/document/d/1YID89te9oDjinCkJ9R65bLZ3PpJk1W4S1SM2Ccc6-9w) to get started !
Check out the [Documentation](https://docs.openbrush.app/user-guide/open-brush-unity-sdk) to get started !

![Unity SDK](http://i.imgur.com/VLWEkV6.png?1)

### Command Line Tools
Python 2.7 code and scripts for advanced Tilt Brush data manipulation.
Python 2.7 code and scripts for advanced Open Brush data manipulation.

* `bin` - command-line tools
* `dump_tilt.py` - Sample code that uses the tiltbrush.tilt module to view raw Tilt Brush data.
* `dump_tilt.py` - Sample code that uses the tiltbrush.tilt module to view raw Open Brush data.
* `geometry_json_to_fbx.py` - Sample code that shows how to postprocess the raw per-stroke geometry in various ways that might be needed for more-sophisticated workflows involving DCC tools and raytracers. This variant packages the result as a .fbx file.
* `geometry_json_to_obj.py` - Sample code that shows how to postprocess the raw per-stroke geometry in various ways that might be needed for more-sophisticated workflows involving DCC tools and raytracers. This variant packages the result as a .obj file.
* `tilt_to_strokes_dae.py` - Converts .tilt files to a Collada .dae containing spline data.
* `unpack_tilt.py` - Converts .tilt files from packed format (zip) to unpacked format (directory) and vice versa, optionally applying compression.
* `Python` - Put this in your `PYTHONPATH`
* `tiltbrush` - Python package for manipulating Tilt Brush data.
* `tiltbrush` - Python package for manipulating Open Brush data.
* `export.py` - Parse the legacy .json export format. This format contains the raw per-stroke geometry in a form intended to be easy to postprocess.
* `tilt.py` - Read and write .tilt files. This format contains no geometry, but does contain timestamps, pressure, controller position and orientation, metadata, and so on -- everything Tilt Brush needs to regenerate the geometry.
* `unpack.py` - Convert .tilt files from packed format to unpacked format and vice versa.
* `tilt.py` - Read and write .tilt files. This format contains no geometry, but does contain timestamps, pressure, controller position and orientation, metadata, and so on -- everything Open Brush needs to regenerate the geometry.
* `unpack.py` - Convert .tilt files from packed format to unpacked format and vice versa.
### Render pipeline support
* This repo currently has built in render pipleline support.
* [This fork has URP support.](https://github.com/kijai/tilt-brush-toolkit)
2 changes: 1 addition & 1 deletion UnitySDK/.gitignore
Original file line number Diff line number Diff line change
@@ -4,7 +4,7 @@
/Build/
/Library/
/Logs/

/UserSettings/
# mono debugging files, automatically created by UnityVS
*.dll.mdb
*.dll.mdb.meta

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading