{"id":13660552,"url":"https://github.com/naelstrof/UnityJigglePhysics","last_synced_at":"2025-04-24T19:31:19.582Z","repository":{"id":44750728,"uuid":"389060120","full_name":"naelstrof/UnityJigglePhysics","owner":"naelstrof","description":"A unity addon for adding stretchy bouncy physics to bones and meshes.","archived":false,"fork":false,"pushed_at":"2024-10-24T08:01:57.000Z","size":76025,"stargazers_count":284,"open_issues_count":9,"forks_count":33,"subscribers_count":13,"default_branch":"main","last_synced_at":"2024-10-25T04:26:37.616Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"ShaderLab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/naelstrof.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-07-24T09:49:20.000Z","updated_at":"2024-10-24T08:02:01.000Z","dependencies_parsed_at":"2024-10-24T10:59:37.436Z","dependency_job_id":"bdda9fff-e627-4760-81cd-8cb9ea4deb32","html_url":"https://github.com/naelstrof/UnityJigglePhysics","commit_stats":null,"previous_names":[],"tags_count":78,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2FUnityJigglePhysics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2FUnityJigglePhysics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2FUnityJigglePhysics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/naelstrof%2FUnityJigglePhysics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/naelstrof","download_url":"https://codeload.github.com/naelstrof/UnityJigglePhysics/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250693551,"owners_count":21472274,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T05:01:22.928Z","updated_at":"2025-04-24T19:31:14.572Z","avatar_url":"https://github.com/naelstrof.png","language":"ShaderLab","readme":"# Unity JigglePhysics\n\n[![openupm](https://img.shields.io/npm/v/com.naelstrof.jigglephysics?label=openupm\u0026registry_uri=https://package.openupm.com)](https://openupm.com/packages/com.naelstrof.jigglephysics/)\n\nA relativistic squash-and-stretch jigglebone physics solution for characters in Unity.\n\n[Video demo on youtube.](https://www.youtube.com/watch?v=WHCv2lXbbTk)\n\n## Features\n\n* Supports per-bone squash and stretch, as well as per-vertex squash and stretch.\n\n![SquishyDemo](https://github.com/naelstrof/UnityJigglePhysics/raw/main/squashNstretch.gif)\n\n* Realistically relativistic! Elevators, trains, and vehicles won't leave jigglebones permanently trailing behind.\n\n![RelativisticDemo](https://github.com/naelstrof/UnityJigglePhysics/raw/main/relativistic.gif)\n\n* Works seamlessly on physics objects without jitter, with no configuration!\n\n* Supports animated skeletons, JigglePhysics uses it as a target reference pose.\n\n* Realtime rig scaling support, freely change character proportions on the fly.\n\n![ProportionDemo](https://github.com/naelstrof/UnityJigglePhysics/raw/main/proportion.gif)\n\n* ScriptableObject-based configuration, share settings across projects and prefabs.\n\n![ScriptableObjectDemo](https://github.com/naelstrof/UnityJigglePhysics/raw/main/ScriptableObjectExample.png)\n\n\n## Usage\n\nA unity repository full of examples can be found here: https://github.com/naelstrof/UnityJigglePhysics. If anything below doesn't make sense, download the examples!\n\n## How to Jiggle a Rig\n\n1. Have a cool model attached to a bunch of transforms. SkinnedMeshRenderers look best!\n\n![A model of a purple lady](https://github.com/naelstrof/UnityJigglePhysics/raw/main/model_example.png)\n\n2. Create a JiggleRigBuilder Monobehaviour on the object, and select the root bones you want to jiggle by adding them to the list of JiggleRigs.\n\n![Unity inspector animation of adding a jiggle rig and dragging a tail in.](https://github.com/naelstrof/UnityJigglePhysics/raw/main/CreateJiggleRig.gif)\n\n3. Create a JiggleSettings ScriptableObject in the project through the `Create-\u003eJigglePhysics-\u003eSettings` menu. Then make sure that each JiggleRig has a reference to a JiggleSetting.\n\n![Unity inspector animation of creating a jiggle setting and dragging it into the JiggleRigBuilder.](https://github.com/naelstrof/UnityJigglePhysics/raw/main/CreateJiggleSettings.gif)\n\n4. Play! You can adjust the jiggle settings during play mode and see changes live-- And when you exit play mode, the settings should stick!\n\n## How to Jiggle a Skin (Advanced)\n\n1. Have a cool skinned model, doesn't need very many transforms, but does need to be a SkinnedMeshRenderer.\n\n![The cutest little blob of a model.](https://github.com/naelstrof/UnityJigglePhysics/raw/main/SlimeGuy.png)\n\n2. (Optional) Make sure the model has some sort of mask. By default the shaders use the Red vertex color channel to mask out the motion. I like to use Blender and Vertex Color Master for this.\n\n![A blob with the most jiggly parts being redder than the non-jiggly parts.](https://github.com/naelstrof/UnityJigglePhysics/raw/main/JiggleMask.png)\n\n3. Create a JiggleSkin-supported shader with either Amplify Shader Editor, or Shader Graph for your specified shader pipeline.\n\nWith ASE, there should be a custom node automatically added to your list of available nodes: `Jiggle Physics Softbody`.\n\n![A simple example graph using ASE](https://github.com/naelstrof/UnityJigglePhysics/raw/main/ASEexample.png)\n\nWith ShaderGraph, you must use a CustomFunction node, and use the hlsl file found at `JigglePhysics/Shaders/JigglePhysicsSoftbodyShaderGraph.hsl`.\n\n![A simple example graph using Shader Graph](https://github.com/naelstrof/UnityJigglePhysics/raw/main/ShaderGraphExample.png)\n\n4. Add a JiggleSkin MonoBehavior to the object, and add the desired list of JiggleZones, with their specified JiggleSettings.\n\n![A Unity Editor animation of setting up the JiggleSkin MonoBehaviour](https://github.com/naelstrof/UnityJigglePhysics/raw/main/JiggleSkinSetup.gif)\n\n5. Ensure the target skins have a JiggleSkin-supported shader applied, then Play!\n\n![A jiggly blob](https://github.com/naelstrof/UnityJigglePhysics/raw/main/SlimeGuyJiggle.gif)\n\n\n## Installation\n\nYou can install Jiggle Physics with OpenUPM by checking out the badge above. Otherwise...\n\nSimply add `https://github.com/naelstrof/UnityJigglePhysics.git#upm` as a package using the package manager.\n\nOr if that doesn't work, add it to the manifest.json like so.\n\n```\n{\n  \"dependencies\": {\n    \"com.naelstrof.jigglephysics\": \"https://github.com/naelstrof/UnityJigglePhysics.git#upm\",\n  }\n}\n```\n","funding_links":[],"categories":["Open Source Repositories","ShaderLab"],"sub_categories":["Physic"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaelstrof%2FUnityJigglePhysics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnaelstrof%2FUnityJigglePhysics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnaelstrof%2FUnityJigglePhysics/lists"}