diff --git a/README.md b/README.md index ad35024..8cbdd90 100644 --- a/README.md +++ b/README.md @@ -1,23 +1,30 @@ # Burst Skinning for Unity ### Fast Mesh Skinning on the CPU using Linear Blend (LBS) and Dual Quaternion (DQS) utilizing the Unity Jobs system and Burst compilation +Requires Unity 2022.2 and newer. --- -This repository is currently a WIP. The code is fully functional but not yet well documented, and may or may not be expanded upon in the future. +#### Installation (via Package Manager) +* Click "Add package from git URL..." +* Enter `https://github.com/TriceHelix/BurstSkinning.git` and click "Add" +* Done! -To get started, add a `BurstSkinner` component to a GameObject and configure it. Alternatively implement the interface `IBurstSkinnable` and pass deriving instances to `BurstSkinningUtility.Skin()` for more customizable skinning. - -This code was developed and tested in Unity 2022.2+, older versions technically work but are not officially supported. - ---- - -##### Dependencies (Unity Package Manager): +*NOTE: This will install the following dependencies:* * Unity.Burst * Unity.Collections * Unity.Mathematics --- +#### Getting Started +Add a `BurstSkinner` component to a GameObject and configure it. (Add Component -> Mesh -> Burst Skinner) + +Alternatively you can implement the interface `IBurstSkinnable` and pass deriving instances to `BurstSkinningUtility.Skin()` for more customizable skinning. + +This repository is still a major WIP and is currently used internally for a larger project. More Documentation will be added in the future. + +--- + ##### References * Ladislav Kavan - https://skinning.org/direct-methods.pdf \ No newline at end of file diff --git a/Editor.meta b/TriceHelix.BurstSkinning.Editor.meta similarity index 77% rename from Editor.meta rename to TriceHelix.BurstSkinning.Editor.meta index 05d8dfc..a631a7a 100644 --- a/Editor.meta +++ b/TriceHelix.BurstSkinning.Editor.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 68e9d0b173ef78f4ba79741ae4e775e0 +guid: f7d1e031fd8a4054ba2f00922b725f98 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Editor/BurstSkinnerEditor.cs b/TriceHelix.BurstSkinning.Editor/BurstSkinnerEditor.cs similarity index 100% rename from Editor/BurstSkinnerEditor.cs rename to TriceHelix.BurstSkinning.Editor/BurstSkinnerEditor.cs diff --git a/Editor/BurstSkinnerEditor.cs.meta b/TriceHelix.BurstSkinning.Editor/BurstSkinnerEditor.cs.meta similarity index 100% rename from Editor/BurstSkinnerEditor.cs.meta rename to TriceHelix.BurstSkinning.Editor/BurstSkinnerEditor.cs.meta diff --git a/Editor/TriceHelix.BurstSkinning.Editor.asmdef b/TriceHelix.BurstSkinning.Editor/TriceHelix.BurstSkinning.Editor.asmdef similarity index 100% rename from Editor/TriceHelix.BurstSkinning.Editor.asmdef rename to TriceHelix.BurstSkinning.Editor/TriceHelix.BurstSkinning.Editor.asmdef diff --git a/Editor/TriceHelix.BurstSkinning.Editor.asmdef.meta b/TriceHelix.BurstSkinning.Editor/TriceHelix.BurstSkinning.Editor.asmdef.meta similarity index 100% rename from Editor/TriceHelix.BurstSkinning.Editor.asmdef.meta rename to TriceHelix.BurstSkinning.Editor/TriceHelix.BurstSkinning.Editor.asmdef.meta diff --git a/TriceHelix.BurstSkinning.meta b/TriceHelix.BurstSkinning.meta new file mode 100644 index 0000000..8f743f6 --- /dev/null +++ b/TriceHelix.BurstSkinning.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: ef96e5e76b63e9644bfbb93336f16939 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/BurstSkinner.cs b/TriceHelix.BurstSkinning/BurstSkinner.cs similarity index 100% rename from BurstSkinner.cs rename to TriceHelix.BurstSkinning/BurstSkinner.cs diff --git a/BurstSkinner.cs.meta b/TriceHelix.BurstSkinning/BurstSkinner.cs.meta similarity index 100% rename from BurstSkinner.cs.meta rename to TriceHelix.BurstSkinning/BurstSkinner.cs.meta diff --git a/BurstSkinningUtility.cs b/TriceHelix.BurstSkinning/BurstSkinningUtility.cs similarity index 100% rename from BurstSkinningUtility.cs rename to TriceHelix.BurstSkinning/BurstSkinningUtility.cs diff --git a/BurstSkinningUtility.cs.meta b/TriceHelix.BurstSkinning/BurstSkinningUtility.cs.meta similarity index 100% rename from BurstSkinningUtility.cs.meta rename to TriceHelix.BurstSkinning/BurstSkinningUtility.cs.meta diff --git a/Core.meta b/TriceHelix.BurstSkinning/Core.meta similarity index 100% rename from Core.meta rename to TriceHelix.BurstSkinning/Core.meta diff --git a/Core/Bone.cs b/TriceHelix.BurstSkinning/Core/Bone.cs similarity index 100% rename from Core/Bone.cs rename to TriceHelix.BurstSkinning/Core/Bone.cs diff --git a/Core/Bone.cs.meta b/TriceHelix.BurstSkinning/Core/Bone.cs.meta similarity index 100% rename from Core/Bone.cs.meta rename to TriceHelix.BurstSkinning/Core/Bone.cs.meta diff --git a/Core/Bounds.cs b/TriceHelix.BurstSkinning/Core/Bounds.cs similarity index 100% rename from Core/Bounds.cs rename to TriceHelix.BurstSkinning/Core/Bounds.cs diff --git a/Core/Bounds.cs.meta b/TriceHelix.BurstSkinning/Core/Bounds.cs.meta similarity index 100% rename from Core/Bounds.cs.meta rename to TriceHelix.BurstSkinning/Core/Bounds.cs.meta diff --git a/Core/DQS.cs b/TriceHelix.BurstSkinning/Core/DQS.cs similarity index 100% rename from Core/DQS.cs rename to TriceHelix.BurstSkinning/Core/DQS.cs diff --git a/Core/DQS.cs.meta b/TriceHelix.BurstSkinning/Core/DQS.cs.meta similarity index 100% rename from Core/DQS.cs.meta rename to TriceHelix.BurstSkinning/Core/DQS.cs.meta diff --git a/Core/DualQuaternion.cs b/TriceHelix.BurstSkinning/Core/DualQuaternion.cs similarity index 100% rename from Core/DualQuaternion.cs rename to TriceHelix.BurstSkinning/Core/DualQuaternion.cs diff --git a/Core/DualQuaternion.cs.meta b/TriceHelix.BurstSkinning/Core/DualQuaternion.cs.meta similarity index 100% rename from Core/DualQuaternion.cs.meta rename to TriceHelix.BurstSkinning/Core/DualQuaternion.cs.meta diff --git a/Core/IBurstSkinnable.cs b/TriceHelix.BurstSkinning/Core/IBurstSkinnable.cs similarity index 100% rename from Core/IBurstSkinnable.cs rename to TriceHelix.BurstSkinning/Core/IBurstSkinnable.cs diff --git a/Core/IBurstSkinnable.cs.meta b/TriceHelix.BurstSkinning/Core/IBurstSkinnable.cs.meta similarity index 100% rename from Core/IBurstSkinnable.cs.meta rename to TriceHelix.BurstSkinning/Core/IBurstSkinnable.cs.meta diff --git a/Core/LBS.cs b/TriceHelix.BurstSkinning/Core/LBS.cs similarity index 100% rename from Core/LBS.cs rename to TriceHelix.BurstSkinning/Core/LBS.cs diff --git a/Core/LBS.cs.meta b/TriceHelix.BurstSkinning/Core/LBS.cs.meta similarity index 100% rename from Core/LBS.cs.meta rename to TriceHelix.BurstSkinning/Core/LBS.cs.meta diff --git a/Core/StridedData.cs b/TriceHelix.BurstSkinning/Core/StridedData.cs similarity index 100% rename from Core/StridedData.cs rename to TriceHelix.BurstSkinning/Core/StridedData.cs diff --git a/Core/StridedData.cs.meta b/TriceHelix.BurstSkinning/Core/StridedData.cs.meta similarity index 100% rename from Core/StridedData.cs.meta rename to TriceHelix.BurstSkinning/Core/StridedData.cs.meta diff --git a/TriceHelix.BurstSkinning.asmdef b/TriceHelix.BurstSkinning/TriceHelix.BurstSkinning.asmdef similarity index 100% rename from TriceHelix.BurstSkinning.asmdef rename to TriceHelix.BurstSkinning/TriceHelix.BurstSkinning.asmdef diff --git a/TriceHelix.BurstSkinning.asmdef.meta b/TriceHelix.BurstSkinning/TriceHelix.BurstSkinning.asmdef.meta similarity index 100% rename from TriceHelix.BurstSkinning.asmdef.meta rename to TriceHelix.BurstSkinning/TriceHelix.BurstSkinning.asmdef.meta diff --git a/package.json b/package.json new file mode 100644 index 0000000..fd53351 --- /dev/null +++ b/package.json @@ -0,0 +1,24 @@ +{ + "name": "com.tricehelix.burstskinning", + "version": "0.2.0", + "displayName": "Burst Skinning", + "description": "Fast Mesh Skinning on the CPU using Linear Blend (LBS) and Dual Quaternion (DQS) utilizing the Unity Jobs system and Burst compilation", + "unity": "2022.2", + "documentationUrl": "https://github.com/TriceHelix/BurstSkinning", + "changelogUrl": "https://github.com/TriceHelix/BurstSkinning", + "license": "LICENSE.txt", + "licensesUrl": "https://github.com/TriceHelix/BurstSkinning/blob/master/LICENSE.txt", + "dependencies": { + "com.unity.burst": "1.8.0", + "com.unity.collections": "2.1.0" + }, + "keywords": [ + "burst", + "mesh skinning" + ], + "author": { + "name": "Trice Helix", + "email": "trice.helix@gmail.com", + "url": "https://github.com/TriceHelix" + } + } \ No newline at end of file diff --git a/package.json.meta b/package.json.meta new file mode 100644 index 0000000..7430a8f --- /dev/null +++ b/package.json.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: b43dce186e8844d40a68e48d30f912a0 +TextScriptImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: