Giter Club home page Giter Club logo

avatarmenucreaterforma's Introduction

AvatarMenuCreatorForMA

AvatarMenuCreator for Modular Avatar

概要

Modular Avatarでアバターのメニューを構成出来るようにする補助ツールです。

アバターのメニュー1項目をModular Avatarの1コンポーネントまたは1プレハブとして作成します。

・オブジェクト・BlendShape・シェーダーパラメーターのトグル制御(BoolでのToggle) ・オブジェクト・BlendShape・シェーダーパラメーター・マテリアルの選択制御(Intでの複数Toggle) ・BlendShape・シェーダーパラメーターの無段階調整(FloatのRadial Puppet)

等が可能です。

NDMF(Modular Avatar 1.8.0以降)のコンポーネントによる非破壊操作に対応していますが、Modular Avatar 1.7.7以前のバージョンでも動作します(この場合プレハブ生成機能のみ)。

インストール

VCCによる方法

  1. https://vpm.narazaka.net/ から「Add to VCC」ボタンを押してリポジトリをVCCにインストールします。
  2. VCCでSettings→Packages→Installed Repositoriesの一覧中で「Narazaka VPM Listing」にチェックが付いていることを確認します。
  3. アバタープロジェクトの「Manage Project」から「AvatarMenuCreatorForMA」をインストールします。

unitypackageによる方法

  1. Modular Avatar https://modular-avatar.nadena.dev/ をインストールします。
  2. Releaseページ から net.narazaka.vrchat.avatar-menu-creater-for-ma-*.*.*-novcc.zip をダウンロード&解凍し、unitypackageをアバタープロジェクトにインストールします。

使い方

使い方の解説スライド資料があります→Modular Avatarで着せ替えメニューを作ろう! Avatar Menu Creator for MA +α の解説

  1. 「Tools」→「Modular Avatar」→「AvatarMenuCreator for Modular Avatar」をクリックし、ツールを立ち上げます。

  2. アバターをツールに設定し、アバター以下の制御したいオブジェクトを選択した状態でツールで処理を設定します。

  3. 「Create!」ボタンを押して保存名を選択すれば、コンポーネントまたはModular AvatarのPrefabが出来上がります。

  4. コンポーネントはアバターの中に生成されているためそのままで動作します。保存されたPrefabはアバターの中(直下でなくても良い)に置けば、Modular Avatarによってメニューが統合されます。

更新履歴

  • 1.19.5
    • 選択肢が多いときにスクロールするように
  • 1.19.4
    • 更新履歴などのURLをマニフェストに追加
  • 1.19.3
    • 選択式メニューでTransformの数値をエディタで一度も変更しなかった項目がある場合にビルドエラーが起きる問題を修正
  • 1.19.2
    • メニュー生成がされない場合の用途を注意書きに追加
  • 1.19.1
    • MA Menu Group配下の時にMA Menu Installerがないという警告を出さないように
  • 1.19.0
    • UIを改善
      • 一部プロパティを複数コンポーネント一括で編集可能に
      • メニュー種別の選択をタブ式に
      • パラメーター初期値を強調
  • 1.18.0
    • 無段階制御メニューで変化する領域を指定できるように
      • 0~50%でBlendShape Aを動かしてからさらに50%~100%でBlendShape Bを動かす事などが可能になりました。
    • Transformを操作できるように
      • Unityのアニメーションの制約によりXYZの組のみでの指定です。
  • 1.17.1
    • Unity 2019でコンパイルエラーになる問題を修正
  • 1.17.0
    • NDMF 1.4.0 Parameter Providerに対応
  • 1.17.0-rc.1
    • NDMF 1.4.0-rc.x Parameter Provider対応2
  • 1.17.0-rc.0
    • NDMF 1.4.0-rc.x Parameter Provider対応
  • 1.16.1
    • fix typo
  • 1.16.0
    • 選択式メニューコンポーネントの子に別メニューを設定可能に
    • 1.9.0以降のバージョンで、MA1.5.0未満と使用した場合にコンパイルエラーになっていた問題を修正。
  • 1.15.1
    • ビルド失敗する問題を修正
  • 1.15.0
    • なんちゃって英語対応
      • Modular Avatar 1.8.0以降で利用可能です
      • Modular Avatarでの言語選択と同期します
  • 1.14.1
    • 高度な設定内の文言を修正
  • 1.14.0
    • ON/OFFメニューに「高度な設定」を追加
      • ONのみまたはOFFのみアニメーション制御することが可能になりました
    • 選択肢の順番が入れ替え可能に
    • Shader Parameterの説明をPopupに出すように
    • VCCでのUnity 2022プロジェクトへのインストールでUnityバージョン警告がでないように
    • Modular Avatar 1.9.0での「パラメーター内部値」の名称変更対応
  • 1.13.0
    • ON/OFFメニューでマテリアル切り換え可能に
  • 1.12.1
    • コンポーネントで「同名パラメーターや同マテリアルスロットを一括設定」がチェックと同期しない問題を修正
  • 1.12.0
    • コンポーネントでオブジェクトパス変更ができるように
  • 1.11.3
    • エディタでアバターが指定できなくなる問題を修正
  • 1.11.2
    • 変化時間%が0だとエラーになるのでUI側で0を指定できないように修正
  • 1.11.1
    • 古いバージョンで作ったアセットの復元が出来なかった問題を修正
  • 1.11.0
    • 新機能
      • 生成されたアセットからコンポーネントの復元をサポート
      • オブジェクト名と異なるパラメーター名を指定可能に
      • MA Parametersの「内部値」を指定可能に
    • UI/UX改善
      • 各項目にオブジェクトの参照を出すように
      • 現在のアバターに存在しないがコンポーネント設定内には含まれるパスの設定を表示するように
    • バグ修正
      • ON/OFFメニューの「徐々に変化」で線形に値が推移するように
      • ON/OFFメニューでGameObject設定せずに「徐々に変化」を設定し、変化待機が0%でないか変化時間が100%でない場合、変化時間が正しくならなかった問題を修正
      • マテリアル変更がSkinnedMeshRendererにしか適用されなかった問題を修正
  • 1.11.0-rc.3
    • PC/AndroidでAnimatorのみ生成しないオプションを追加(回避可能であるため1.11.0で廃止)
  • 1.11.0-rc.2
    • AvatarParametersDriver連携をパラメーター名別指定に対応
  • 1.11.0-rc.1
    • パラメーター名を別指定可能に
    • 内部値を指定可能に
  • 1.11.0-rc.0
    • 各項目にオブジェクトの参照を出すように
    • コンポーネント設定に含まれる存在しないパスを表示するように
  • 1.11.0-beta.4
    • マテリアル変更がSkinnedMeshRendererにしか適用されなかった問題を修正
  • 1.11.0-beta.3
    • 想定外エラーを低減
  • 1.11.0-beta.2
    • ON/OFFメニューでGameObject設定せずに「徐々に変化」を設定し、変化待機が0%でないか変化時間が100%でない場合、変化時間が正しくならなかった問題を修正
    • ON/OFFメニューの「徐々に変化」で線形に値が推移するように
  • 1.11.0-beta.1
    • アセットからコンポーネントの復元をサポート
  • 1.10.0
    • 複数メニュー一括生成をサポート(ON/OFF・無段階調整メニューにおいて/「コンポーネントを保持」の場合)
    • 1.7.0以降「同パラメーターや同マテリアルスロットを一括設定」がONなのにそう動作しない場合があったのを修正
  • 1.9.2
    • AvatarParametersDriver 2.x系に対応
  • 1.9.1
    • 互換性のない上限バージョンをインストールしないように修正
  • 1.9.0
    • コンポーネントでMenuInstallerを削除するとMenuItemとして振る舞うように
  • 1.8.1
    • Avatar Optimizerの警告を削減
  • 1.8.0
    • AvatarParametersDriver連携を追加(コンポーネントに設定したパラメーターが出るようになります)
  • 1.7.1
    • Meshが空のSkinnedMeshRendererでエラーになる問題を修正(AAO Merge SkinnedMesh 等でエラーにならなくなります)
  • 1.7.0
    • 新機能
      • NDMFに対応
        • コンポーネントを追加することでアセット生成なしにメニューが生成されます。
        • NDMFは必須ではなく、従来通りModular Avatar 1.7.x 以前でも使えます。
      • NDMF環境でデフォルト保存モードを新しい「コンポーネントとして保持」に
      • パラメーター初期値・パラメーター保存・アイコンを最初から指定可能に
    • UI/UX改善
      • 事前生成時にも設定コンポーネントが保持されるように
        • 設定を調整しての再生成が可能に
      • プロパティの追加・一覧を便利に
        • 「+」ボタンから1項目ずつ追加できます
      • ON/OFF制御と追加削除も一括制御するように
      • prefab側で変更したMenuInstallerのインストール先が保持されるように
      • 選択式でマテリアルスロット1番目の選択肢にデフォルトのマテリアルをセットするように
      • Undoに対応
    • バグ修正
      • パッケージ名のスペルミスを修正(idは変更されません)
      • マテリアル一括設定がエラーになる場合がある問題を修正
      • 空マテリアルスロットでエラーになる問題を修正
  • 1.7.0-rc.5
    • NDMF環境でデフォルト保存モードを「コンポーネントとして保持」に
  • 1.7.0-rc.4
    • アセット事後生成に対応
    • コンポーネントをアバター外に出したときにエラーにならないように
  • 1.7.0-rc.3
    • ON/OFF制御と追加削除も一括制御するように
  • 1.7.0-rc.2
    • アイコン対応
    • 選択式でマテリアルスロット1番目の選択肢にデフォルトのマテリアルをセットするように
    • マテリアル一括設定がエラーになる場合がある問題を修正
    • 空マテリアルスロットでエラーになる問題を修正
  • 1.7.0-rc.1
    • プロパティの追加・一覧を便利に
    • rc.0で選択式のGameObject制御の表示が不安定だったのを修正
  • 1.7.0-rc.0
    • NDMFに対応
      • コンポーネントを追加することでアセット生成なしにメニューが生成されます。
      • NDMFは必須ではなく、Modular Avatar 1.7.x 以前でも使えます。
    • Undoに対応
    • 初期値とSavedを最初から指定可能に
    • prefab側で変更したMenuInstallerのインストール先などが保持されるように
    • パッケージ名のスペルミスを修正(idは変更されません)
  • 1.6.2
    • Shader ParameterがSkinnedMeshRendererにしか適用されなかった問題を修正
  • 1.6.1
    • 遷移時間を指定した場合デフォルトでない変数状態でアバター読み込みをした場合最初に遷移アニメーションが流れてしまう問題を修正
  • 1.6.0
    • 無段階制御に無効領域を設定出来るように
  • 1.5.1
    • 無段階調整のカーブが線形になるように修正
  • 1.5.0
    • 選択肢式でGameObjectを複数選択肢で有効化可能に
  • 1.4.0
    • 複数スロットの同一ソースマテリアルを統合的にいじれるUIを追加
  • 1.3.2
    • asmdef修正
  • 1.3.1
    • 保存時の場所を保持するように修正
    • まとめる形式で上書きした場合にメニューアセットが増殖しないように修正
    • キャンセルで空のオブジェクトが出来てしまう問題を修正
  • 1.3.0
    • 選択肢メニュー機能を追加
    • 選択肢メニューでマテリアルを変更可能に
    • 同名パラメーター等を一括変更できるように
    • パフォーマンス改善
  • 1.2.0
    • ON/OFFメニューで徐々に変化する機能
      • シェーダーパラメーター利用のフェード等が可能に
    • アセットをまとめられるように保存形式選択可能に
  • 1.1.3
    • VCCでアバター用に表示されるように
  • 1.1.2
    • VPM化
  • 1.1.1
    • 1メッシュにマテリアルが2つ以上ある場合にエラーになる問題を修正
  • 1.1.0
    • シェーダーパラメーターを設定する機能追加
  • 1.0.0
    • リリース

License

Zlib License

avatarmenucreaterforma's People

Contributors

narazaka avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

avatarmenucreaterforma's Issues

Multiple object addition in one go

It would be great to be able to select multiple object in one drag and drop action when you have lots of objects to toggle on and off.

For now when i need to do that i merge my objects together with AAO Merge Skined Mesh, but for some use cases i can't, and add all my items and then use the batch change option would be way quicker.

PS: sorry for making my issues in English, i can translate them if needed in the future.

Advance Menu only apears for first object

I was trying to use the Advanced option to be able to toggle two kinds of shirts, so when i toggle one, the other one is off, but if i turn it off, it doesn't turn on the other one.

But the advanced menu only appears for the first object
image

Also mentioning the translation turns into "Anvanced" instead of "Advanced"

EN Translation

I'm using this tool as my main modular toogle tool, but having to pull my translating app for every menu is a bit of pain. May i require a translation of the tool in english ?

[1.17.0]Unity2019でコンパイルエラーが起きる模様

タイトル通りです。

コンソールエラー:

Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Components\Editor\ParameterProviders\AvatarMenuCreatorBaseParameterProvider.cs(22,70): error CS0122: 'AllowNullAttribute' is inaccessible due to its protection level

Transform設定時のinternal error

とても便利なツールをありがとうございます。Transform設定時のinternal errorに遭遇したので報告します。

症状

ビルド時に以下のエラーが発生します。

System.Collections.Generic.KeyNotFoundException: The given key '0' was not present in the dictionary.
  at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <27124aa0e30a41659b903b822b959bc7>:0 
  at net.narazaka.avatarmenucreator.editor.CreateAvatarChooseMenu.SetTransformCurve (System.Collections.Generic.List`1[T] choices, System.String path, System.String property, net.narazaka.avatarmenucreator.collections.instance.IntVector3Dictionary value) [0x00007] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Editor\CreateAvatarChooseMenu.cs:187 
  at net.narazaka.avatarmenucreator.editor.CreateAvatarChooseMenu.CreateAssets (System.String baseName, System.Collections.Generic.IEnumerable`1[T] children) [0x0045c] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Editor\CreateAvatarChooseMenu.cs:69 
  at net.narazaka.avatarmenucreator.components.editor.AvatarMenuCreatorPlugin+<>c.<Configure>b__4_0 (nadena.dev.ndmf.BuildContext ctx) [0x0001c] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Components\Editor\AvatarMenuCreatorPlugin.cs:23 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00000] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00000] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00124] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:350 
  at System.Collections.Generic.Dictionary`2[TKey,TValue].get_Item (TKey key) [0x0001e] in <27124aa0e30a41659b903b822b959bc7>:0 
  at net.narazaka.avatarmenucreator.editor.CreateAvatarChooseMenu.SetTransformCurve (System.Collections.Generic.List`1[T] choices, System.String path, System.String property, net.narazaka.avatarmenucreator.collections.instance.IntVector3Dictionary value) [0x00007] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Editor\CreateAvatarChooseMenu.cs:187 
  at net.narazaka.avatarmenucreator.editor.CreateAvatarChooseMenu.CreateAssets (System.String baseName, System.Collections.Generic.IEnumerable`1[T] children) [0x0045c] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Editor\CreateAvatarChooseMenu.cs:69 
  at net.narazaka.avatarmenucreator.components.editor.AvatarMenuCreatorPlugin+<>c.<Configure>b__4_0 (nadena.dev.ndmf.BuildContext ctx) [0x0001c] in .\Packages\net.narazaka.vrchat.avatar-menu-creater-for-ma\Components\Editor\AvatarMenuCreatorPlugin.cs:23 
  at nadena.dev.ndmf.AnonymousPass.Execute (nadena.dev.ndmf.BuildContext context) [0x00000] in .\Packages\nadena.dev.ndmf\Editor\API\Fluent\Pass.cs:42 
  at nadena.dev.ndmf.ConcretePass.Execute (nadena.dev.ndmf.BuildContext context) [0x00000] in .\Packages\nadena.dev.ndmf\Editor\API\Solver\PluginResolver.cs:36 
  at nadena.dev.ndmf.BuildContext.RunPass (nadena.dev.ndmf.ConcretePass pass) [0x00124] in .\Packages\nadena.dev.ndmf\Editor\API\BuildContext.cs:350 

再現条件

  1. ねこアイマスク(無料です)をヒエラルキーのアバターの下に追加
  2. AvatarMenuCreatorを開き下記画像の設定でCreate
  3. Unityの再生ボタンを押してPlayモードに入る

※Transformの数値(特に末尾要素、画像で言うとOption2)に0が多いと起きがちな気がします。

設定

要望:相対指定モード(ルートの参照を衣装などからにできるオプションを追加して、衣装の名前変更などのトラブルに対応)

二つ衣装出したときとかプレハブの名前合わせが地味にしんどいので、MAと同じような親元を指定しての相対指定モードがあると嬉しいです
指定した親から外のオブジェクトを選択した場合は、通常通りアバタールートから選択する挙動で大丈夫です
(そういうのは本来ならばパラメーターで連携しないといけないため)

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.