{"id":24151090,"url":"https://github.com/vincent-devine/inverse_kinematics","last_synced_at":"2025-09-19T18:31:05.274Z","repository":{"id":263642802,"uuid":"858359763","full_name":"Vincent-Devine/Inverse_Kinematics","owner":"Vincent-Devine","description":"Custom IK system using CCD in Unity, developed for a 4th-year Master's at ISART DIGITAL.","archived":true,"fork":false,"pushed_at":"2024-11-26T10:00:28.000Z","size":94850,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-01T18:16:35.908Z","etag":null,"topics":["ccd","csharp","inverse-kinematics","unity"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Vincent-Devine.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-09-16T18:56:54.000Z","updated_at":"2024-12-26T19:40:13.000Z","dependencies_parsed_at":"2024-11-19T17:38:57.638Z","dependency_job_id":null,"html_url":"https://github.com/Vincent-Devine/Inverse_Kinematics","commit_stats":null,"previous_names":["vincent-devine/inverse_kinematics"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Vincent-Devine/Inverse_Kinematics","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vincent-Devine%2FInverse_Kinematics","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vincent-Devine%2FInverse_Kinematics/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vincent-Devine%2FInverse_Kinematics/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vincent-Devine%2FInverse_Kinematics/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Vincent-Devine","download_url":"https://codeload.github.com/Vincent-Devine/Inverse_Kinematics/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Vincent-Devine%2FInverse_Kinematics/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":275982539,"owners_count":25564149,"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","status":"online","status_checked_at":"2025-09-19T02:00:09.700Z","response_time":108,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["ccd","csharp","inverse-kinematics","unity"],"created_at":"2025-01-12T09:13:53.708Z","updated_at":"2025-09-19T18:31:00.260Z","avatar_url":"https://github.com/Vincent-Devine.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Inverse Kinematic\nThis project focuses on creating a custom inverse kinematics (IK) system within \na chosen game engine. The implementation will utilize one of two\nalgorithms: Cyclic Coordinate Descent (CCD) or Jacobian Inverse Kinematics. \u003cbr\u003e\nDeveloped as part of a 4th-year Master's in Game Programming at ISART DIGITAL.\n\n## Table of content\n- [Getting Started](#getting-started)\n- [Usage Guide](#usage-guide)\n- [Known Issues](#known-issues)\n- [Technology](#technology)\n- [Credit](#credit)\n\n## Getting Started\nClone from [Github](https://github.com/Vincent-Devine/Inverse_Kinematics) *by ssh*\n```bash\ngit clone git@github.com:Vincent-Devine/Inverse_Kinematics.git\n```\n\n## Usage Guide\nIK algorithms: **CCD** \u003cbr\u003e\n\nTo configure the CCD settings, select the Player object from the Hierarchy. In the Inspector panel, locate the CCD script,\nwhere you can **enable or disable bone constraints** *(enabled by default)*.\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./Screenshot/ik_constraint.png\" alt=\"drawing\" width=\"200\"/\u003e\n\u003c/p\u003e\n\nScript:\u003cbr\u003e\n- **CCD**: responsible for **calculating IK** on the bones\n- **PlayerTouchWall**: switches the hand closest to a wall from animation to IK, using the CCD script to control its movement.\nIt also handles smooth transitions between the animation and IK systems.\n\n### Demonstration \u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./Screenshot/ik_demonstration.gif\" alt=\"drawing\"/\u003e\n\u003c/p\u003e\n\nScene: **Scenes/Demonstration** \u003cbr\u003e\nStart the scene to demonstrate inverse kinematics in action. When the player gets near a wall, their hand automatically reaches out to touch it.\u003cbr\u003e\nThis interaction works only when the player is within touching range but not too close.\u003cbr\u003e\n\nPlayer controls: **W, A, S, D** for movement and the **mouse** for camera rotation.\u003cbr\u003e\n\n### Free trial \u003cbr\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003cimg src=\"./Screenshot/ik_free_trial.gif\" alt=\"drawing\"/\u003e\n\u003c/p\u003e\n\nScene: **Scenes/FreeTrial** \u003cbr\u003e\nStart the scene and navigate to the Scene view to **manually move the target** *(red dot)*.\u003cbr\u003e\nThe player's hand will follow to align with the target's position.\u003cbr\u003e\n\n## Known Issues\n1. Bone constraints \u003cbr\u003e\n\nThe bone constraints are tailored for the demonstration scenario (touching the wall at shoulder height).\nDuring free trial, limitations become apparent, such as the inability to raise the hand above shoulder height.\n\n## Technology\n- Engine: **Unity** *v2022.3.34f1*\n- IDE: **Visual Studio** 2022\n- Versionning: [Github](https://github.com/Vincent-Devine/Inverse_Kinematics)\n\n## Credit\nAuthor: **Vincent DEVINE**\u003cbr\u003e\nProject start: 16/09/2024 \u003cbr\u003e\nProject end: 09/12/2024 \u003cbr\u003e\n\n### Specials Thanks\n- Benjamin TRAN","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvincent-devine%2Finverse_kinematics","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvincent-devine%2Finverse_kinematics","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvincent-devine%2Finverse_kinematics/lists"}