Git Product home page Git Product logo

vrcphysbone-relocator's Introduction

VRCPhysBone-Relocator

Summary/概要

Relocate the PhysBone and PhysBoneCollider Components to the object set in the "Root Transform".
This is useful when the object corresponding to the PhysBone is hard to find (e.g. VRoid Avatar).

PhysBoneコンポーネント類を"Root Transform"に設定されているゲームオブジェクトに再配置します。
1つのゲームオブジェクトに大量のPhysBoneコンポーネント類が含まれていて、対応するゲームオブジェクトが分かりづらい場合などに役に立ちます。(変換直後のVRoid製アバターなど)

How to install/導入方法

Using unitypackage file/unitypackageファイルを使った方法

[EN]

  1. Download the latest version of unitypackage from here.
  2. Import the unitypackage to your project. (Drag&Drop or "Assets → Import → Custom Package..." at the top of the Editor window.)

[JP]

  1. ここから最新バージョンのunitypackageをダウンロードします。
  2. プロジェクトにunitypackageをインポートします。 (ドラッグ&ドロップ、またはエディタ上部の"Assets → Import → Custom Package...")

Using git(through Unity Package Manager)/gitを使った方法(Unity Package Manager経由)

[EN]

  1. Open your unity project.
  2. Open the Package Manager from "Window → Package Manager" at the top of the Editor window.
  3. Click + at the upper left of the Package Manager window , then select Add package from git URL....
  4. Enter https://github.com/Sayamame-beans/VRCPhysBone-Relocator.git , then press "Add".

[JP]

  1. Unityプロジェクトを開きます。
  2. エディタ上部の"Windows → Package Manager"から、Package Managerを開きます。
  3. Package Managerウィンドウの左上の+をクリックし、Add package from git URL...を選択します。
  4. https://github.com/Sayamame-beans/VRCPhysBone-Relocator.gitと入力し、"Add"を押します。

Usage/使い方

  1. Open the window from "Tools → PB Relocator" at the top of the Editor window.
  2. Set the target GameObject, then press "Relocate!"

You can Undo/Redo this operation.

  1. エディタ上部の"Tools → PB Relocator"から、ウィンドウを開きます。
  2. 対象のゲームオブジェクトをセットし、"Relocate!"ボタンを押します。

この操作は元に戻したり、やり直したりする事が出来ます。


Notes/備考

This editor extension is in beta. I will add more features in the future.
I expect this will work properly, but please let me know if you find any problems.

このエディタ拡張はベータ版です。今後、機能を追加したりすると思います。
正常に動作するとは思いますが、不具合があった場合はお知らせください。

Link:

vrcphysbone-relocator's People

Contributors

anatawa12 avatar sayamame-beans avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

anatawa12

vrcphysbone-relocator's Issues

gitが無いと導入出来ない

Unity Package ManagerのAdd package from git URL...は、ユーザー側でインストールされたgitを必要とする(組み込まれていない)ため、gitをインストールしていない環境では導入に失敗してしまう。

Cannot perform upm operation: Unable to add package [https://github.com/Sayamame-beans/VRCPhysBone-Relocator.git]:
  No 'git' executable was found. Please install Git on your system then restart Unity and Unity Hub [NotFound]
UnityEditor.EditorApplication:Internal_CallUpdateFunctions ()

対応が必要であると考える。
なお、現状でも手動での導入は可能である。

アバター全体に対する処理の実行

現在は1つのゲームオブジェクトに含まれるPBコンポーネント類のみ再配置可能であるが、アバター全体のPBコンポーネント類を確認し、全て再配置する機能も別途実装しても良いのではないかと考える。

VPM対応

UPM対応と #10 により、VPM対応のための基礎部分は完了しているといえる。
しかし、vpmDependenciesでのSDKバージョン指定の調整(3.2.x以下は恐らく全て対応している)と、legacyFoldersの追加が必要と考える。
また、VPM Community repositoryを導入したい。

対応するMeshにPB Componentを移動させる機能

Modular Avatar などを用いる際に、メッシュ単位で切り替えてPBも切り替えられると良いと考えた。

文脈: Radial Inventory Systemなどのツールを使用していた場合、メッシュ用GameObjectのみ切り替えてPBが有効のままのケースがあり、これは負荷の原因となっていた。Modular Avatarは非破壊的なツールであるため、Prefab単位で無効化することでPBも無効化出来るが、Prefab内の特定Meshを切り替えたい際は、やはりPBが無効化出来ない…と考えられる。

置換パターンの追加

現在、Root Transformに設定されているGameObjectへの移動にのみ対応しています。
1つのGameObjectにつき1つのPhysBoneコンポーネント類のみ入っている状態への置換にも対応出来ると便利です。(PBReplacerを参考とします)

なお、1つのGameObjectに全てのPhysBoneコンポーネント類が入っている状態への置換の実装は未定です。(本拡張機能はこのパターンからの置換を目的として開発されたため、需要が無さそうだと思っています)

Unity Package Managerへの対応

Unity Package Managerに対応すると良いのではないかという意見を頂きました。
現在、実装の仕方を調べていないため保留しています。

多言語対応の正式な実装

現在、英語と日本語に対応しているが、実装が雑であり、他の言語に対応することが出来ない。
この実装を他言語に対応しやすいように修正することが望ましいと考える。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.