{"id":22032367,"url":"https://github.com/vaiorabbit/perfume_dance","last_synced_at":"2026-05-05T12:34:12.581Z","repository":{"id":146727331,"uuid":"152265144","full_name":"vaiorabbit/perfume_dance","owner":"vaiorabbit","description":"A BVH motion parser and playback implementation written in Ruby","archived":false,"fork":false,"pushed_at":"2023-10-08T12:56:48.000Z","size":641,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-23T11:44:11.451Z","etag":null,"topics":["character-animation","motion","opengl","ruby"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/vaiorabbit.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":"2018-10-09T14:24:50.000Z","updated_at":"2022-09-01T14:10:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"97048ee3-ea04-475b-b1ce-614758525a38","html_url":"https://github.com/vaiorabbit/perfume_dance","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/vaiorabbit/perfume_dance","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaiorabbit%2Fperfume_dance","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaiorabbit%2Fperfume_dance/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaiorabbit%2Fperfume_dance/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaiorabbit%2Fperfume_dance/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vaiorabbit","download_url":"https://codeload.github.com/vaiorabbit/perfume_dance/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vaiorabbit%2Fperfume_dance/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32649604,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-05T11:29:49.557Z","status":"ssl_error","status_checked_at":"2026-05-05T11:29:48.587Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["character-animation","motion","opengl","ruby"],"created_at":"2024-11-30T08:27:46.193Z","updated_at":"2026-05-05T12:34:12.562Z","avatar_url":"https://github.com/vaiorabbit.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Perfume Dance #\n\n*   Created : 2014-05-12\n*   Last modified : 2023-10-08\n\n\u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_00.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_01.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_02.png\" width=\"200\"\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_03.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_04.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_05.png\" width=\"200\"\u003e\n\n\u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_06.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_07.png\" width=\"200\"\u003e \u003cimg src=\"https://raw.githubusercontent.com/vaiorabbit/perfume_dance/master/doc/perfume_dance_08.png\" width=\"200\"\u003e\n\n\nA BVH motion parser and playback implementation used to make the video:\n\n* Perfume BVH playback test\n  * [![](http://img.youtube.com/vi/byxKHVvCwt0/mqdefault.jpg)](https://www.youtube.com/watch?v=byxKHVvCwt0a)\n\n\n## Prerequisites ##\n\n*   OpenGL 4.1 capable GPU\n\n*   Ruby OpenGL Bindings Version 2 ( https://github.com/vaiorabbit/ruby-opengl )\n    *   $ gem install opengl-bindings2\n\n*   GLFW DLL\n    *   https://www.glfw.org (Windows)\n    *   $ brew install glfw3 (macOS)\n\n*   3D math module\n    *   Use rmath3d_plain ( https://rubygems.org/gems/rmath3d_plain ) . No building processes are required.\n        *   $ gem install rmath3d_plain\n    *   If you can build and install ruby C extension, consider using rmath3d instead ( https://rubygems.org/gems/rmath3d ) for speeding up this application.\n        *   $ gem install rmath3d\n\n## How to run ##\n\n1.  Get the archive of motion data 'bvhfiles.zip' via http://perfume-dev.github.io\n2.  Copy BVH files (aachan.bvh, kashiyuka.bvh and nocchi.bvh) into ./data\n3.  Put glfw3.dll (Windows) / libglfw.dylib (macOS) here\n    *   or specify path to the GLFW DLL as the argument of 'GLFW.load_lib()'. See perfume_dance.rb\n        *   ex.) GLFW.load_lib('libglfw3.dylib', '/usr/local/lib')  (macOS)\n4.  $ ruby perfume_dance.rb\n\n\n## Operation ##\n\n*   Esc       : quit.\n*   Mouse L/R : move eye position.\n\n\n## License ##\n\nAll source codes are available under the terms of the zlib/libpng license.\n\n    Perfume Dance\n    Copyright (c) 2014-2023 vaiorabbit\n\n    This software is provided 'as-is', without any express or implied\n    warranty. In no event will the authors be held liable for any damages\n    arising from the use of this software.\n\n    Permission is granted to anyone to use this software for any purpose,\n    including commercial applications, and to alter it and redistribute it\n    freely, subject to the following restrictions:\n\n        1. The origin of this software must not be misrepresented; you must not\n        claim that you wrote the original software. If you use this software\n        in a product, an acknowledgment in the product documentation would be\n        appreciated but is not required.\n\n        2. Altered source versions must be plainly marked as such, and must not be\n        misrepresented as being the original software.\n\n        3. This notice may not be removed or altered from any source\n        distribution.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaiorabbit%2Fperfume_dance","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvaiorabbit%2Fperfume_dance","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvaiorabbit%2Fperfume_dance/lists"}