All Projects → unity3d-jp → Blendshapebuilder

unity3d-jp / Blendshapebuilder

Licence: mit
tweak vertices and generate blend shapes in Unity

Labels

Projects that are alternatives of or similar to Blendshapebuilder

Melonloader
The World's First Universal Mod Loader for Unity Games that is Compatible with both Il2Cpp and Mono
Stars: ✭ 306 (-6.71%)
Mutual labels:  unity
Messagepack Csharp
Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin). / msgpack.org[C#]
Stars: ✭ 3,668 (+1018.29%)
Mutual labels:  unity
Vcontainer
The extra fast, minimum code size, GC-free DI (Dependency Injection) library running on Unity Game Engine.
Stars: ✭ 308 (-6.1%)
Mutual labels:  unity
Handui
UI elements and prototyping tools for hands
Stars: ✭ 313 (-4.57%)
Mutual labels:  unity
Unity Mulligan Renamer
Mulligan Renamer tool for the Unity Editor allows for quick and safe renaming of many assets and gameobjects at once
Stars: ✭ 315 (-3.96%)
Mutual labels:  unity
Raindropeffect
RainDropEffect for the Unity Asset Store
Stars: ✭ 320 (-2.44%)
Mutual labels:  unity
Tf Lite Unity Sample
TensorFlow Lite Samples on Unity
Stars: ✭ 306 (-6.71%)
Mutual labels:  unity
Vrtk
*Beta* - An example of how to use the Tilia packages to create great content with VRTK v4.
Stars: ✭ 3,422 (+943.29%)
Mutual labels:  unity
Moon
A cross-platform,lightweight,scalable game server framework written in C++, and support Lua Script
Stars: ✭ 313 (-4.57%)
Mutual labels:  unity
Command terminal
Unity Command Terminal: In-Game Console
Stars: ✭ 320 (-2.44%)
Mutual labels:  unity
Spheredissolve
Customizable procedural spherical dissolve shader for Unity3D, for all your customizable procedural spherical dissolve needs!
Stars: ✭ 311 (-5.18%)
Mutual labels:  unity
Gpu Particles
A GPU Particle System for Unity
Stars: ✭ 313 (-4.57%)
Mutual labels:  unity
Facemoji
😆 A voice chatbot that can imitate your expression. OpenCV+Dlib+Live2D+Moments Recorder+Turing Robot+Iflytek IAT+Iflytek TTS
Stars: ✭ 320 (-2.44%)
Mutual labels:  unity
Unity Ui Rounded Corners
This components and shaders allows you to add rounded corners to UI elements!
Stars: ✭ 307 (-6.4%)
Mutual labels:  unity
Monomod
A C# modding swiss army knife, powered by cecil.
Stars: ✭ 322 (-1.83%)
Mutual labels:  unity
Mapssdk Unity
This repository contains samples, documentation, and supporting scripts for Maps SDK, a Microsoft Garage project.
Stars: ✭ 307 (-6.4%)
Mutual labels:  unity
Dotsui
Unity engine DOTS UI solution
Stars: ✭ 319 (-2.74%)
Mutual labels:  unity
Dungeongenerator
A dungeon generator for Unity
Stars: ✭ 324 (-1.22%)
Mutual labels:  unity
Skyboxplus
Basic skybox extensions for Unity
Stars: ✭ 324 (-1.22%)
Mutual labels:  unity
Unitygraphicsprogramming
書籍「UnityGraphicsProgramming vol.1」のサンプルコードリポジトリ
Stars: ✭ 321 (-2.13%)
Mutual labels:  unity

Blend Shape Builder & Vertex Tweaker

English (by Google Translate)
demo

Unity 上で blend shape を作成するツールです。既存のモデルの合成はもちろん、Unity 上で頂点を編集してそれを blend shape 化することもできます。
また、頂点の位置だけ、法線だけの合成といった特殊な blend shape ターゲットも生成でき、既存の blend shape をターゲットごとに別個の Mesh として書き出す機能なども備えています。

Unity 2017.1 系以上、Windows (64bit) or Mac、D3D11 世代以降の Graphics API の環境で動作します。 (ターゲットプラットフォームが Standalone ではない場合、D3D9 世代に機能が限定されて正常動作しなくなることがあるのでご注意ください)

使い方

  • BlendShapeBuilder.unitypackage をプロジェクトにインポート

    • Unity 2018.3 以降の場合、このリポジトリを直接インポートすることもできます。プロジェクト内にある Packages/manifest.json をテキストエディタで開き、"dependencies" に以下の行を加えます。

    "com.utj.blendshapebuilder": "https://github.com/unity3d-jp/BlendShapeBuilder.git",

  • Window メニューに "Blend Shape Builder" と "Blend Shape Inspector" と "Vertex Tweaker" が追加されます。
    Blend Shape Builder が blend shape をオーサリングするツール、Vertex Tweaker が頂点の編集を行うツール、Blend Shape Inspector は既存の blend shape を調べたりデータを抽出したりするツールです。

Blend Shape Builder

Blend Shape Builder のウィンドウを開いた状態で MeshRenderer もしくは SkinnedMeshRenderer を持つオブジェクトを選択すると "Add BlendShapeBuilder" というボタンが出てくるので、それでコンポーネントを追加します。
BlendShapeBuilder

blend shape のターゲットとなるオブジェクトは、Mesh アセットもしくは MeshRenderer か SkinnedMeshRenderer を持つ GameObject を設定します。(頂点数が同じである必要があります)

  • "Find Targets" ボタンを押すと、現在のシーン内にある Base Mesh と同じ頂点数のモデルを探して選択状態にします。

  • "BlendShapes" にモーフターゲットとなるオブジェクトを指定していきます。

    • 既存の Mesh をターゲットに登録したい場合、それらを Drag & Drop します。 "▼ BlendShapes" の部分にオブジェクトを Drag & Drop すると、放り込んだオブジェクト毎に BlendShape が生成されます。
      各 BlendShape のフォールド部分 (上図の "▼ NewBlendShape0" など) にオブジェクトを Drag & Drop するとその BlendShape のフレームとして登録されます。

    • "+" ボタンでフレームを追加すると、フレームが追加されると共にそれに対応する Mesh が生成されます。

    • "Edit" を押すと、そのフレームの Mesh の編集に移行します。(後述の Vertex Tweaker が開きます)

    • V,N,T のチェックは Vertex, Normal, Tangent の略で、その要素を含めるかの指定になります。例えば Normal のみをチェックした場合、頂点の移動はせず法線だけが変わる BlendShape になります。

  • "Update Mesh" を押すと現在の Mesh を直接更新します。 "Generate New Asset" は現在の Mesh には手を加えず、新しいアセットとしてエクスポートします。 "Preserve Existing BlendShapes" をチェックしておくと、Mesh が既に blend shape を持っていた場合にそれを持ち越しつつ追加します。(同名の BlendShape があった場合新しい方で上書きします)

Vertex Tweaker

頂点を編集するツールです。Skinning された Mesh の編集もサポートしており、blend shape 用に限らずモデルを微調整したい場合全般に使えます。ただし、できるのはあくまで頂点の移動のみであり、頂点の増減など (いわゆるトポロジーが変化する操作) はできません。

  • Edit -> Move, Rotate, Scale はその名の通り頂点の移動、回転、拡縮を行うモードです

  • Edit -> Assign はいわゆる数値入力です。XYZ 軸別にマスクをかけられるので、例えば球体の下半分を選択し Y だけチェックして 0 を入力することで半球にする、といった使い方ができます。

  • Edit -> Projection は他のモデルに対して頂点の投影を行うモードです。各頂点からレイを飛ばし、対象モデルに当たった地点に移動させます。頂点数が全く合わないモデルに対するモーフィングを実現できます。

  • Select は頂点の選択に関するオプションです。矩形選択、投げ縄選択、ブラシ選択といった一般的な選択方法や、選択中の頂点と繋がった頂点郡 (Connected)、ポリゴンの切れ目上にある頂点 (Edge, Hole) の選択なども備えています。

  • Misc -> Mirroring で方向を選択すると、ミラーリングが有効になります。(対称なモデルである必要があります)

  • Misc -> Normals および Tangents は法線と接線の再計算のオプションです。手動で編集した法線があってそれを維持したい場合、"Manual" に変えて自動計算は行わないようにする必要があるでしょう。そうでない場合はデフォルトで問題ないはずです。

  • Shift を押しながらの選択は選択の足し算、Ctrl を押しながらだと選択の引き算になります。

注意点

  • インポートした Mesh に対する編集
    fbx ファイルなどからインポートした Mesh はプロジェクトを開くたびに再生成が行われます。このため、インポートした Mesh に対する編集は、そのままではプロジェクトを開き直すとリセットされてしまいます。
    この対策として、インポートした Mesh を含む GameObject に "Add BlendShapeBuilder" した場合、元の Mesh のコピーを作成して MeshRenderer や SkinnedMeshRenderer の mesh をそれに差し替えます。 また、Blend Shape Builder の "Generate New Asset" や Vertex Tweaker の "Export -> Export .asset" は、編集中のモデルを独立したアセットとしてエクスポートします。元の Mesh を変えたくない場合はこのコマンドで一度別アセットとして保存し、そちらを編集するといいでしょう。

  • DCC ツール上では一致していた頂点数が Unity 上では一致しない場合
    Blend Shape のターゲットは頂点の数と順番が元モデルと一致している必要があります。しかし、DCC ツール上では一致していても Unity にインポートする際に変換処理によって変わってしまうことがあります。これは主に以下のような場合に起こりえます:

    • 不連続な法線 (=ハードエッジ) がある
    • UV がモデル毎に異なり、かつ不連続な UV がある
    • 面毎に違うマテリアルを割り当てている

    例えばメタセコイアの場合、これを回避するには、スムージング の 角度 を 180 にしてハードエッジを回避し、全モデルで同じ UV を使用し (そもそも Unity の Blend Shape は UV の変化はサポートしていません)、マテリアルは 1 オブジェクトにつき 1 種のみにする必要があります。

関連ツール

  • NormalPainter - 法線を編集するツールです。
  • FbxExporter - Mesh を fbx 形式でエクスポートするツールです。skinning や blend shape もサポートしています。

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].