投稿記事

龍野あずむ 2021/07/13 22:21

VRChat向けアバター着せ替え支援ツールを3点公開しました

ポージング共有サービスを作るつもりだったのですが、少し停滞中。
他の縁があって、ここ10日ほどVRChat向けのツール類を作り続けていました。
いずれもVRChatアバターへの利用を想定したUnityEditor拡張ですが、
Unityを使う人ならVRChat知らなくても使えるかもです。

すまんなUE4、ターゲット層の問題でUnityに浮気しているよ。


Cloth2U - HumanoidなモデルやVRoidから衣装を転送して着せるツール。


Petang - 小物アクセサリーをマウス操作でペタペタ貼り付けるツール。


Sometarou - マテリアルカラー一括編集ツール。

3点ともにこちらからアクセスできます。
https://azm-tatsuno.booth.pm

そこそこいいねがついたりもしてるんですが、
何の反響コメントも頂けていないため他の環境で動いてるかどうかすら不明

ツール作りの辛い所ですね。
何なら数年経ってから実は動いてなかったんだけどとか言われる(実体験)。

色々書きたい事やお伝えしたいTipsなどあるんですが、
コーディングしすぎで頭回らなくなってきたので今回はこの辺で。

開発支援は常に求めています。今のところ一銭にもなっていません!
↓からのチップなども歓迎です。

(色染めツールの名前が染太郎って良くない?染之助と大分迷った)

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

龍野あずむ 2021/07/04 03:35

ランダムポーズ表示機能のみ版をBoothで配布[PoseUltimate]

前回に引き続き、PoseUltimateを開発中です。
お絵描き支援ポージング統合ソフトです。

ランダム表示機能が安定してきたので、Boothで配布開始しました。
小規模から開始してPoseUltimateとして完成させていくつもりでしたが、
結局ランダムポーズ機能のみ版をRandomPoserという名前で出しました。

https://azm-tatsuno.booth.pm/items/3094739

基本無料ですが、500円から投げ銭も可能です。

投げ銭いただけると開発・メンテに割ける時間が増えます。

とりあえず報告のみですが今回は以上です。
本当はWPFホストのネイティブUIにしたかったのですが、諦めました。
諦めた経緯などはまた記事にできればと思ってます。それでは。

記事へのチップ↓も歓迎しております。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

龍野あずむ 2021/06/30 22:38

ランダムポーズ表示まで試作、unityroomで公開[PoseUltimate]

はじめに

前回に引き続き、PoseUltimateを開発中です。
お絵描き支援ポージング統合ソフトです。

簡単なランダム表示機能まで出来たのでunityroomで公開中。
Web広告のあるサイトですが、無償で試遊できます。

https://unityroom.com/games/poseultimate_demo

ポージングアセット

今回、ランダムポーズとして下記のポーズ集を利用させて頂きました。
VRChat向けに用意されたものですが、用途は限定されないようです。
ライセンスが明確に記載されているので安心して使えるかと思います。

ポーズ詰め合わせ(ねここや)
https://booth.pm/ja/items/1634088

約100種類の、手付けと思われる自然なポージングが含まれます。

Unityでハマったこと諸々

Unityの仕様でいくつかハマったので、参考にメモを残します。

スクリプトからSetPoseしても反映されない

一回はUpdateの通過を待機する必要があります。
Updateされる前にポーズを再設定などするとおかしくなります。

スクリプトからSetPoseしたらメッシュの一部が消える

SkinnedMeshRendererのUpdateWhenOffscreenをONに。
このチェックを入れることで直りました。原理は知らない。

スクリプトからSetPoseしたらカメラのLookAtがずれる

カメラはUpdateでなくLateUpdateで調整しないとダメみたいです。
Updateの中で姿勢が計算されて更新されるため。

Animatorにアニメーション停止関数が無い

基本speed=0とするしか現状では手が無いみたいです。
AnimationControllerで変数を設定する方法もありますが、原理は同じ。

AnimationClipをスクリプトから動的に設定したい

Animator Override Controller を使えば出来ます。
詳細は他で解説が見つかると思うのでググってね。

おわりに

利用ポーズは、最初はMixamoのモーション利用を考えていました。
しかしそうすると、止め絵としてクオリティに欠けます。
今回、ねここやさんのポーズ集を見つけることができて幸いでした。

今回は以上です。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

龍野あずむ 2021/06/28 03:50

唐突ですが、お絵描き支援ツールPoseUltimateの制作を開始します

はじめに

お絵描き人界隈で愛されていたPosemaniacsさんが利用できなくなってしばらく経ちますね。
代替サイトも出ているようですが、私的にちょっと趣向を変えたツールの需要を見出したので、制作に取り掛かろうかと考え、記事にしました。

基本的にはポーマニの要素を引き継いだランダムポーズ表示器なんですが、最終的にはEasyPoseのようなポージングツールにもなる。そんなソフトウェアです。

予定している機能

最初のリリースは、ポーマニに似た最低限の機能が出来た時点で行うつもりです。
予定している機能を箇条書きしてみます。

最初期リリース時の機能
・フリーVRMモデルをランダムなポーズで再生表示
・順送り、逆送り、停止
・残り時間表示
・ポーズはMixamoモーションから切り出し

表示媒体にはUnityを使います。
ただし複雑なUIはUnityによらず、WPFで作るか、Web系のライブラリで作ります。2019年のバージョンから、UnityはWinアプリに組み込めるようになっているらしいので。
Macの人は一旦ごめんなさいですね。

あとポーズの少ない無償版を、インゲームな簡易UIで実装してUnityRoom辺りに投げたい。

最終的には、ポーズ編集機能、ポーズ投稿機能を併合した統合的ポージングソフトにします。

最終リリースで目指す機能
・ユーザ定義モデルの読み込み
・ユーザによるポーズの編集及び投稿
・任意の一般的なモーション(fbx等)の読み込み
・人気ポーズランキングとそれを反映したランダムポーズ表示
・小物を含む複数モデル表示
・機械学習の自動ポーズ推定を用いた画像からのポーズ転写

大きなものはこれくらいでしょうか。あと細々した内容がいくつかあります。

おわりに

いきなり「や〜めた」とか言って辞める可能性も高いですが、
もし興味があり継続して欲しいという方がいらっしゃったら支援して頂ければ幸いです。

今回は以上です。

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

龍野あずむ 2019/02/20 23:19

AutoRigProをUE4で使うにあたってハマったこと

AutoRigProをUE4で使うにあたってハマったこと

こんにちは、龍野あずむです。

今回初回の投稿となりますが、いきなりコアな内容となっております。題して「AutoRigProをUE4で使うにあたってハマったこと」。

タイトルの通り、AutoRigProというBlender用の有償リギングアドオンをUE4向けに使うにあたって、アニメーションのリターゲットがうまくいかず時間を食ってしまった経験から、その解決方法をシェアしようという内容です。

Blender使わないよ、UE4使わないよ、AutoRigPro買ってないよという方はぶっちゃけ見てもわからないと思いますが、AutoRigProの便利なところとかUE4で3Dモデルを扱う際に気にすべきことも含むので、参考になればと思います。

あと!これ重要なんですが、なんとこの記事の最後に有償プラン500円/月の登録者様向けに現在私が制作中の3Dモデルデータ(画像の子)を付与しちゃいます。これ将来的に2000円ほどで売る予定なので、75%お得ですよ(多分)!

※支援プラン見直しにより特典ファイルは無くなりました。申し訳ありません。

では本題、まずはAutoRigProとは何ぞやというところから紹介していきたいと思います。

AutoRigProとは何か

AutoRigProというのはBlender向けの有償アドオン(プラグイン的なやつ)なんですが、これは3Dモデルをアニメーションさせるにあたって「リグ」というアニメーション用の操作できる仕組み及びそのコントローラを作ってくれるものです。

私、実はAutoRigProを使うまで「リグ」の存在を意識したことがありませんでした。アニメーションを作るときは「ボーン」をそのまま動かしてたんですね。もちろんそれでもアニメーションは作れるのですが、専用の「リグ」があると、「複数のボーンを割合で一括操作」などといった操作が簡単に行えるというわけです。

一枚目がARPが生成してくれる「リグ」で二枚目が「リグ」の操作対象となる「ボーン」です(ポーズが異なっていますが気にしない)。

この「リグ」ですが、通常はBlenderの基本的な仕組みをしこしこ組み立てて自分で作るものらしいです。それをこのAutoRigProは独自のテンプレートをもって解決してくれるというわけですね。

AutoRigProはセッティングも簡単で、Smartモードを使えば「首・あご・肩・手首・背骨の根元・足首」の6箇所を平面図上で指定してやるだけで、典型的なアーマチュアを自動でセットアップしてくれます。

これが何と!手動で合わせるのが面倒な指のボーンまで計算して合わせてくれるのでセットアップが本当に楽チンです!手首の位置を指定しただけなのに指まで綺麗に骨が入るのはすごいですね。(手のボーン入れが失敗する時はマーカー位置をずらしたりBlender再起動すると上手くいきます)。

典型的な目まわりや顔のボーン設定もできます。
そんなAutoRigPro、現在の価格は40米ドルですが、似たようなことをするツールとしてはかなり安い方らしいです。

AutoRigProの使い方ひととおり

ここではBlender2.8で人型のモデルをセットアップする方法について紹介します。大体は同じなんですが、安定板の2.79系列と少し差異があるかもしれません。

公式ドキュメントはこちら(英語です)

  1. AutoRigProを購入してBlenderアドオンとして入れる
  2. ナビゲーションパネル(デフォルト画面右のパネル)のタブにARPが出現)
  3. 対象の人体モデルを選択し、Smart欄の「Get Selected Objects」を押す
  4. Add Neckを押してマーカーを首のところへ
  5. 同様にAdd XXX を押してマーカーを該当位置へ
  6. すべて終わったらGo!ボタンを押す(顔の説明は省略します)
  7. アーマチュアが表示されるのでおかしければ手動で調整
  8. 「Match to Rig」でリグを生成
  9. 人体->リグの順に選択し、ARP上部の「スキン」タブで開くパネルの「バインド」を押す
  10. 完了です。リグをポーズモードで動かすと人体が変形します。

UE4でリターゲットして使うために

AutoRigPro自体のセットアップは上記の手順で完了するのですが、そのままfbxファイルへ出力してもUE4のリターゲットは良い感じになってくれません。通常のセットアップに加えて必要な項目は以下です。

  • 「Spineを4つに増やす」必要がある
  • 「出力設定を適切に設定する」必要がある
  • 「基本ポーズをリターゲット元のモデルに合わせる」必要がある
  • 「UE4上でリターゲット設定を適切に設定する」必要がある

ひとつずつ見ていきます。

Spineを4つに増やす

Spine、背骨ですね。これの数がAutoRigProの標準とUE4の標準で異なっています。AutoRigProは3本ですが、UE4は4本です。これの変更方法ですが、ひとまず上記の使い方に従って普通のセットアップは完了しているものとします。

ARPのRigタブの画面にある「Edit Reference Bones」ボタンを押します。リグからアーマチュアの設定に戻る効果のあるボタンですね。これを押して、アーマチュアが見える状態になったら背骨にあたるボーンのいずれかをEditモードで選択します。

背骨のいずれかを選択すると、「Limb Options」ボタンが有効になるので、押します。すると背骨の数が現在3であると表示されます。これを4に変更します。以上で完了です。「Match to Rig」でリグに戻します。

出力設定を適切に設定する

ARPの機能で出力する際のオプションです。Blender標準のfbx出力では上手く出力できないので注意。

  • 出力モード「UE4」->「Humanoid」 を選択
  • 「Transfer Twist」はOFFに (TwistBoneを溶かさず出力する)
  • 「Rename for UE4」はONに (リターゲット時のボーン名をUE4標準に)
  • 「Mennequin Matrix」はONに (Spineを4にしている時だけ設定可能)

以上4点を必ず合わせておきましょう。

基本ポーズをリターゲット元のモデルに合わせる

SK_Mannequin(グレーマン)からリターゲットする場合について考えます。

グレーマンの基本ポーズはAスタンスなので、完全にTスタンスのモデルを無理矢理リターゲットすると、腕が壊れてしまいます。

基本ポーズはBlender上でSK_Mannequin(グレーマン)に合わせておくのが良いかと思います。基本はグレーマンで、リターゲットしたい対象が極端に異なるポーズをとっている場合、その度にBlenderで調整しても良いのですが、UE4のエディタ上でも調整出来るようになっています。

多少の歪みを許容するならそれほどシビアにポーズを合わせる必要はなく、何となくAスタンスっぽくなってるな、くらいでも割とうまくリターゲットされます。

UE4上でリターゲット設定を適切に設定する

さて、ここまでの設定がうまくいっていればおおよそのリターゲットは問題なく動きます。ここから注意する項目は2点です。

  1. 自動マッピングボタンは押さない
  2. 手のリターゲットオプションをAnimationからSkeletonへ

まずリターゲット先のスケルトン(あなたがインポートしたモデルのスケルトン)を開き、リターゲットの設定をするのですが、「リグの設定」からのマッピングで自動マッピングを利用してはいけません。ヒューマノイドの型を使う場合、ヒューマノイドを「選択した時にデフォルトで入る」対応マップをそのまま使います。


ここで上述の「Rename for UE4」オプションにチェックをつけ忘れていると、対応がおかしなことになるので十分注意して下さい。

最後に、私が個人的に一番ハマったところです。上記の設定を間違いなく行っても、「指」(と手首のあたり)のアニメーションがうまくリターゲットされないのです。

これを解決するには、リターゲット先のスケルトンを開き、スケルトンツリーを表示し、Optionsから「リターゲットオプションを表示」を選択してAnimation/Skeletonの表示をONにします。

そして左右のLowerArmを選択、右クリックし、再帰的にSkeletonを設定します。以上で完了です。

これはボーン構造の異なる部分を補完するオプションらしいのですが、何故これでうまくいくのか私はうまく理解できていません(が、私の環境ではとりあえずそれらしく動きました)。

おわりに

今回の内容は以上です。こういった記事を書くのは実質はじめてで、うまく伝わっているか不安はあります。ただ、こういった記録が誰かの何かの助けになればと思っています。わからない箇所やうまくいかない箇所がある場合、余裕があれば相談にのれるのでTwitter(@azm_tatsuno)あたりで気軽にご連絡ください。この記事を見てくれた方なら、特にお金とったりはしないです。

モデルデータ配布

ここからは500円/月の有償会員の方に向けたモデルデータの添付になります。

添付されるデータは自由に利用できますが(詳しくはライセンスを)、作品としては調整中の状態です。

内容物詳細

一般

  • ライセンスファイル
  • 用例Q&Aファイル

for UE4

  • スケルタルメッシュ1点
  • ブループリント2点(キャラクター,アニメーション)
  • アニメーション(グレーマンからリターゲットした歩行,走行,ジャンプ等)
  • 2Kテクスチャ5種x3用途(Hair,Body,Face,Bottoms,Tops)
  • マップ1点(サンプル動作確認用)

for Customize

  • Blender(2.8以降!用)ファイル1点
  • Substance Painter ファイル1点 (全テクスチャに対応)

BlenderファイルはAutoRigPro向けにセットアップされているので、アニメーション出力をカスタムする場合はAutoRigProが必要になるかと思いますのでご注意を。

以上です!

【 500円 】プラン以上限定 支援額:500円

UE4向けに設定した3Dモデルデータです。Blender2.8ファイル付き。

このバックナンバーを購入すると、このプランの2019/02に投稿された限定特典を閲覧できます。 バックナンバーとは?

この記事が良かったらチップを贈って支援しましょう!

チップを贈るにはユーザー登録が必要です。チップについてはこちら

月別アーカイブ

記事を検索