GithubHelp home page GithubHelp logo

vrm4u's Introduction

VRM4U

English Doc

はじめに

VRM4U はVRMファイルのインポーター兼ランタイムローダーです

※配布用のexe作成、モバイル実行には、ソースリポジトリのデータが必要です。 後述の手順を参照ください。

詳細はこちらから https://github.com/ruyo/VRM4U/wiki/VRM4U

特徴

2 2
2 2
  • VRMファイルをインポートできます。
  • アニメーション
    • 骨、Morphtarget・BlendShapeGroup、揺れ骨・コリジョン などが生成されます。
    • 揺れ骨の挙動はVRMSpringBoneかPhysicsAssetを選択できます。
    • Humanoid用のRIGが生成されるので、アニメーションを手軽にリターゲット可能です。
  • マテリアル
    • MToonを再現したマテリアル。影色の指定や、アウトラインの色・太さ調整、MatCapなど一通り適用されます。
    • 既存のPBR背景の中にキャラクタを描画できます。ポストプロセスを利用しません。
  • モバイル
    • BoneMapリダクションを使うことで、公式のUE4エディタからモバイルでSkeletalMeshを利用できます。
    • 描画はForward/Deferred両方に対応しています。

動作環境

  • UE4.20〜UE4.24
  • UE4.19も動きますが、マテリアルは生成されません。

使い方

  • 配布用のexeを作成したり、モバイルで実行する場合は、後述のソースリポジトリからダウンロードしてください。
  • エディタでのみ利用する場合は、releasesより利用するバージョンのプラグインをダウンロードし、 「.uproject」とおなじ場所に「Plugins」フォルダを展開してください。

サンプルマップ

  • VRM4UContent/Maps/VRM4U_sample.umap
  • ContentBrowserに表示されない場合は、以下の項目を確認ください。 3

使い方

  • VRMファイルをドラッグ&ドロップしてください
2
https://www.youtube.com/watch?v=Qlz0bUSLjss

仕組み

詳しく知りたい方はこちら

https://speakerdeck.com/ruyo/vrm4u-wakaru

作った人

@ruyo_h

ライセンス

MIT(VRM4U)

3-clause BSD-License(assimp)

ソース

UE4アカウントの紐づけが必要です。

ライセンスの都合上、念の為EpicGamesアカウント紐付けにしています。手間ですみません。。

https://github.com/ruyo/UnrealEngine_VRM4UPlugin (404エラーページが出る場合はこちらより紐付けをしてください

https://github.com/ruyo/assimp

公開の体裁を含め 多くの方の情報を参考にさせて頂いています。
ありがとうございます。

リリース履歴

  • 2020/02/19
    • Aポーズ時のIKBoneがTポーズ位置のままなのを修正した。
    • Skeletonの複製時にリターゲットモードが初期化されるのを修正した。
  • 2020/02/18
    • 嘘パース機能を追加した。サンプルマップを追加した。
    • AdvancedLocomotionSystem向けの機能を追加した。
    • (IKBone追加、VirtualBoneコピー、UE4Mannequinの骨名でスケルトン作成)
  • 2020/01/14
    • ※要再インポート
    • VRMSpringBoneのメンバ変数名を変更した
    • 出力ファイル名にプレフィクスを追加した(VA_, VM_, VL_ の3種)
    • カスタムアセットのサムネイル表示を追加した
    • コンフィグより任意の拡張子のファイルをassimpでロード可能にした
  • 2019/12/31
    • インポート時に最適化(未使用頂点の削除、同一マテリアルのPrimitiveをマージ)するようにした
    • モバイル用シェーダのLowクオリティ設定を、より軽量化した。
  • 2019/12/11
    • UE4.24に対応した
    • Editorでライトが動作するようにした。
    • ライトサンプルを追加した。
  • 2019/12/01
    • 法線補正をカメラ方向に変更した。(従来はライト方向)
    • エディタモードでキャラライトがカメラ座標を参照して動作するようにした。
    • マテリアル未指定のVRMファイルを読み込むと停止するのを修正した。
  • 2019/11/18
    • UE4.24previewのビルドエラーを修正した
    • RayTracing利用中にインポートすると停止することがあったのを修正した。
    • クリッピング対処のダミーコリジョンを小さくした。
    • assimp最新をマージした。
  • 2019/11/14
    • Springのtypoを修正した。(モデルをインポートしなおす必要あり)
    • 前回の更新でMToonカラーが適用されなくなっていたのを修正した
    • SSAOパラメータを上書きするか、選択できるようにした。
  • 2019/11/05
    • ライトリグとカメラを追加した。LightingChannel1番を利用できるようにした。
    • サブサーフェスの濃さを調整できるようにした。
    • bvhファイルの読み込みでクラッシュするのを修正した
  • 2019/10/21
    • デフォルトリターゲットをA-poseにした。オプションで従来のT-poseに変更できるようにした。
    • クリッピングを防ぐため、ダミーコリジョンを追加した。
    • 法線方向を補正できるようにした。
    • Lit/Unlit切り替え時の停止することがあるのを修正した。
  • 2019/10/16
    • 前回リリースでセルフシャドウが動かなくなっていたのを修正した
  • 2019/10/15
    • アウトラインの太さが0の時にノイズがでるのを修正した
  • 2019/10/14_1
    • 特定のVRMでassimpがクラッシュするのを修正した(Meshを先頭から読むようにした)
    • デバッグ用の骨1本化機能で停止するのを修正した。
    • MorphTargetのNormalを適用しないようにした(オプションで選択可)
  • 2019/10/14
    • BPのみのプロジェクトでパッケージ後にアセットが参照できなくなるのを修正した
    • MorphControlActorによる相対座標での目線の制御を追加した。
  • 2019/10/07
    • Engineのpluginとして配置して場合も動作するようにした
  • 2019/10/02
    • モデルによって、Root骨を整頓すると腰座標がずれてしまうことがあるのを修正した(主にVRChat用モデル)
    • 輪郭線モデルのMorphTargetが動作しないのを修正した。
    • PIEでのランタイムロード時に停止するのを修正した。
    • ランタイムリターゲットで腰位置がずれることがあるのを修正した。
    • AO Shadow に扱いやすいパラメータを追加した。
  • 2019/09/24
    • uv2のインポートに対応した。
    • モデルによって、Root骨がずれてしまうことがあるのを修正した(主にVRChat用モデル)
    • TwoSided用マテリアルを追加した。不要なMaterialOverrideが起きないようにした。
    • VRoidSimpleモデルのリターゲット時、プレビューが出ないのを修正した(Boundsが不正だったのを設定した)
  • 2019/09/16
    • VRMインポート時にモデルのタイトル名を表示できるようにした
    • MorphTargetをコントロールするアクタを追加した
  • 2019/09/05
    • UE4.23に対応した
  • 2019/09/04
    • モバイル向けに軽量シャドウマップを生成できるようにした
    • 特定のVRMインポート時に停止するのを修正した(任意のマテリアル参照順に対応した)
  • 2019/08/19
    • 機能追加
    • 2nd Shade Color を設定できるようにした
    • AO ShadowModelを生成できるようにした
    • bvhリターゲットのマッピングを ある程度自動判別するようにした
  • 2019/07/24
    • bvhファイルのインポートに対応した。
    • モデルによってはリターゲットで顔向きがずれるのを対応した(upperChestが無いVRMの対応をした)
  • 2019/07/13 マテリアルを修正&機能追加
    • ShaderToonyとShaderShiftが本家MToonとずれていたのを修正した。
    • MatCapにシャドウを反映できるようにした
    • Roughnessマップを反映できるようにした。
    • UE4標準のSubsurfaceを利用できるようにした。
    • カスタムのShadowmapサイズを変更できるようにした
  • 2019/06/24
    • RimLight, UVScrollに対応した。
    • モデルのtangentの軸がずれていたのを修正した。
  • 2019/06/15
    • モデル構造によってマテリアルやテクスチャインデックスがずれることがあったのを修正した。
  • 2019/06/10
    • SM4でのマテリアルのエラーを修正した。シェーダQualityを3段階ぶん切り替え可能にした。
    • lookatサンプルを追加した。
    • 他プラグインと依存関係にあるBPをフォルダにまとめた。
  • 2019/06/01
    • AttachActorの設定が戻らないことがあるのを修正した。変更時、対象のSkeletalMeshのマテリアルを初期化するようにした。
  • 2019/05/27
    • OculusQuest(Android)向けにビルドした時のエラーを修正した。
  • 2019/05/24
    • 輪郭線の太さが一定になるようにした。
    • 影がアルファ値を参照していなかったのを、反映するようにした。
    • モバイル向けBoneMapリダクションの骨数最大値を74->75に変更した
  • 2019/05/14
    • VRMSpringBoneの重力方向がずれていたのを修正した。
    • VrmCharacterBaseでSpringBoneを利用できるようにした。
    • 輪郭線が明るい場合があるのを修正した。(輪郭線にもEyeAdaptation補正を追加した)
  • 2019/05/13
    • VRMSpringBoneの重力、外力をワールド座標で反映するようにした。
    • インポート時間を短縮した。不要な処理をスキップした。
  • 2019/04/29
    • AnimBPリターゲット時、停止することがあったのを対処した。
    • CharacterBaseをアタッチベースで作り直した。
    • ランタイムロードサンプルを追加した。
  • 2019/04/24
    • モバイル向けにBoneMapリダクションオプションを追加した。
    • PhysicsAssetの参照骨数がSkeletonより多くなってしまうことがある不具合を修正した。
  • 2019/04/21 MorphTargetのY座標が正負反転していたのを修正した。
  • 2019/04/18 モデル法線を正規化するようにした。モバイルでのマテリアルのエラーを修正した。
  • 2019/04/08 大幅に整頓
    • デフォルトマテリアルをUnlitにした
    • 輪郭線描画をアタッチタイプに統一した。サンプルを置き換えた。
    • 動作が安定したのでAsset強制保存をの機能を外した。
  • 2019/04/04 アタッチで輪郭線描画できるActorを追加した。
  • 2019/03/31 UE4.21のマテリアル編集時に停止するため、パッチ対処した。
    • 停止の仮対処としてAssetを強制保存するようにした。
    • VRMファイルによっては停止することがあったのを、AssImp側で修正した。
  • 2019/03/28 マテリアル最適化時、メモリアクセス違反が起きるのを修正した。
    • VRMSpringBoneがPhysicsCollisionに反応するようにした。
    • リターゲットのプレビューにモデルが表示されないのを修正した。(BoundingBoxをセットした)
  • 2019/03/24 サンプルマップを追加した。
  • 2019/03/23 VRMSpringBoneを仮実装した。輪郭線の描画方法を変更した。
  • 2019/03/05 MotionController,LeapMotionによるトラッキングのAnimBPを追加した
  • これ以前のものはこちら → https://github.com/ruyo/VRM4U/blob/master/CHANGELOG.md

vrm4u's People

Contributors

ruyo avatar

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.