2018年06月26日

小ネタ (PMXエディタ)

たまには小ネタでも。内容的には今更な話ばかりですが、何故か未だに周知されていない不思議...

■ パーツ選択表示
まずはダメパターンから
●チェックリストからポチポチやる
0102.jpg

リストから一つ一つ探すのは非常に効率が悪い操作です。リストチェックから選択するのは "対象が判明している場合" だけにしておきましょう。

※PMXエディタは OS標準の(古い) UIを使って全て実装していますが、チェックリストUIはあまり触りたくない標準UIです (イベント挙動が謎?/カスタマイズが面倒etc)

●推奨操作1
0103.jpg

面選択を使った昔ながらの絞り込み方法。面の選択により対象材質の確認もすぐにできます。複数材質でも問題ありません。

●推奨操作2
0104.jpg

最近の PMXエディタなら対象面は選択頂点でも反応します。[除]→[反] は Shift+なら一度の [除] 操作だけで OKです。こちらも複数材質でも問題ありません。

※そもそもの話、MMDでの描画パフォーマンスを最適化するなら、材質数はできるだけ少ない方が望ましいです。PMXはエディタでの仕様上、材質をパーツ単位として個別に取り扱えるようにしていますが、本来は細かく分ける必要はありません。エディタの基本機能でも [同一材質の結合] などが用意されているので、テスクチャUVや透過判定等問題なければ (リリース時などに) 結合して最適化しておくとよいでしょう。


■ 選択補助

0105.jpg


■ 視点操作設定の場所 (カメラリセット関連など)

0106.jpg

視点操作関係は右上操作アイコン内から表示されるメニュー内 (右クリック) に配置されています。通常のメニュー内にあるのは回転中心関連だけなので、リセットや操作ロックなどはこちらから設定する必要があります。


■ ボーン系列選択

0107.jpg


■ 100%ウェイト設定

0108.jpg

ユーザー方の動向を見ていると "ウェイトは塗るもの" みたいな固定観念をたまに感じますが、別にそんなことはないです。

単一ボーンへの全振り(100%)ウェイトなら、対象の頂点/ボーンを双方選んで Ctrl+M を押すだけで完了します (PmxViewメニュー:[ウェイト関連]-[選択頂点を近位置ボーンでウェイト設定]-[ボーン軸基準])

一々ウェイト描画状態にして → ボーンを選択して → 頂点を範囲ドラッグ... みたいな面倒な基本操作を経由する必要はありません。

対象ボーンが選択しづらい場合は絞込み表示や、本体リストからのボーン選択 (View側がボーン選択不可でも選択可) などを併用するとよいでしょう。


■ ボーン軸ウェイト設定

0109.jpg

ボーン軸ウェイト設定 (Ctrl+M) で複数のボーンが選択されていた場合は、ボーン列からできる空間軸にしたがってウェイトが自動配置されます。

※元々の機能がこっちで、全振りはそれを特定状況で利用している形です。

機能としては、腕や指、髪などの円筒状に対して系列ボーンが内包されるような形状を想定しています。さらにこの状態から接合部に対してのブレンド描画([>>>])で、ざっくりとウェイト設定ができるようになっています。

0110a.jpg

0110b.jpg


とりあえず動けば十分、という程度のウェイト付けならこの手順だけで OKです。

●ブレンド描画 :
指定範囲の開始位置と終了位置に一番近い頂点のウェイト (と指定方向) を基準にして、範囲内を連続的な混合ウェイトに設定します。

画像の例だと 水色と青 がそれぞれ 100%で交差している範囲を指定しているので、互いが 0〜100% になるような、なだらかなウェイト変化に設定されます。

100%ウェイト以外でも使用できますが、あまり望ましい結果にはならないと思います (想定は、ボーン軸ウェイト設定との組み合わせで簡素なウェイト設定が楽にできるように、という程度)

なお、同 [>>>] 枠内の [ウェイト範囲] と同じように、指定位置によっては意図しない頂点に編集が及ぶことがあるので、その場合は絞込みや選択頂点によるマスキングなどで対応する必要があります。ブレンドの場合は対応ボーンが異なっていれば一応大丈夫なはずではありますが...


■ 2ボーン同時ウェイト描画

2ボーンウェイト (BDEF2) の場合、下地を 1ボーン分塗って、次のボーンにしてさらにウェイトを上から塗って... とか、そういう旧来の編集方式に従う必要はありません。

0111.jpg

元々 BDEF4用として拡張した機能ですが、ウェイト値を直接指定できるケースはこの機能だけでだいたい賄えます。

最近の PMXエディタなら各部位のボーン選択は以下のような仕様になっています (ボーンリスト欄上での右メニューから Indexコピーでも選択可)

0112a.jpg

0112b.jpg


■ モーフ編集時のアーカイブ利用

モーフ編集方式変更後、アーカイブが利用できなくなった? という話をどこぞやで見た気がしますが、特別に考える必要もなく単に本体側のアーカイブ機能を使えばいいだけです。

モーフ編集や変形同期など、PmxViewの現在の状態が特定の編集状態になる場合、本体側の操作は "その編集状態に対して適用される" という仕組みです。

0113.jpg



とりあえずこんなところで...(キリガナイ

エディタ関係の使い方を調べても古い時代 (PMDエディタ) の情報が真っ先に出てきてしまい、後に効率化された機能 (PMXエディタやプラグインなど) への更新はなかなか進みません。

まあ編集ツールに限った話ではありませんが、個別の機能ヘルプをネットの検索システムに頼る弊害の一つかもしれませんね。

なおエディタに限らず、やたら古いverで TIPSや機能解説をしている場面がたまにありますが、正直意図がよくわかりません。情報を発信する前にそのときの最新版なのか確認した方がよいでしょう (特に過去版に対して悪態なんかついていたりすると...)


以上

posted by - at 20:17| PMX | 更新情報をチェックする

2018年05月20日

過去は...

とある(リ)ツイで見かけたもので、

"(前略) 昔、ぶっこ抜きや無許可PMD化モデルに溢れてたMMD界隈が、それらを排除して自給自足を始めた流れに良く似ているので、すごい期待してる"

こんな内容のものがありましたが、どうも自分の憶えている過去とは異なります。記憶違いでしょうかね?


■"ぶっこ抜きや無許可PMD化モデルに溢れてた"

溢れるぐらい一般のモデルデータ (特にキャラクターモデル) が公開されてればもっと色々楽だったんですけどね、残念ながら...

ということで MMD(PMD)は当初から自給自足せざるえない状況でした。

MMDに興味のありそうなモデラーさんに声掛けしたりとか(SNSへご招待)、モデリング初めての方に懇切丁寧に教授して頂いたりとか、そういう地道な活動を頑張ってくれた方たちのおかげで、MMD用のモデルがたくさん作られるようになりました。

そもそも排除云々するまでもなく、外部からのモデルを PMDへまともに変換できるようになるのが、ずっと後の話だったりします。

※魅力のある高精度なモデルに至っては頂点数の問題などから PMX以降になります。セットアップの面倒さを舐めてはいけない...

順番が全然違いますよ(笑)


というのが自分の憶えている過去の姿となります。

※とりあえず "MMDモデル配布あり" タグで古い順に見てみましたが、上記に該当するような あやしいブツ で溢れているような印象はないですね。

初期の頃から知っている身としては、例えば "そば打ち事件(騒動?)" とか現在のユーザーさんたちには信じられないんじゃないかなぁ、と思うようなこともあったりなど、過去の姿は今考えるようなものとは大きく異なります (ユルくなりましたねホント)

どういう意図で冒頭の内容になったのかは存じませんが、あまり不正確なことを発言されるのは多方面の方の迷惑になるかもしれませんので、ご注意頂きたく思います。

以上

posted by - at 01:15| MMD | 更新情報をチェックする

2018年04月23日

Labo続き

初日はピアノだけ作って中断したので、残りもさくっと全部作成しました。いやーストレスなく制作に没頭できるのは素晴らしいですね。

で、既存 ToyConでの遊びも程々にさっそく Toy-Conガレージへ潜ってきました。

Toy-Conガレージは簡単に言うと 「自分でオリジナルの ToyCon作っちゃおう!」 という奴です。

Switchの各デバイスからの入力をちょっと加工して音や画面、振動機能へ出力することができます。なかなか本格的ですね。

設定画面はいわゆるノードベースというビジュアルプログラミング?的な仕様なので、特定のプログラミング言語などを憶える必要もなく、直感的に動作の設計ができます。
※デザインツールやシェーダ作成(3DCG)、ゲームエンジンなどで使われるようになって久しい気がします。プログラマというよりは主にデザイナ向けですが。

0101.jpg
適当に作った習作 : 数秒毎にネコが鳴きます/タッチでも鳴きます (止まりません)

詳しいことは添付のサンプル (お手本) が充実しているので、そちらを見ればだいたい解るんじゃないかと。

動作としては論理回路によるハードウェア設計に近いものなので (アナログ的な連続値も扱えますが)、既存のプログラミング言語的な構文をベースにしていくには向かないものです。

条件分岐や文字出力、算術演算といった (実際のプログラミングの動作としては) ごく基本的な機能を用意するだけでも結構難儀します。反面デバイスを利用した直接的な操作には十分なので、そのあたり "Toy-Conを作るための機能" という位置付けなんでしょうね。

※これだけでプログラミングの学習が十分! という程では流石にありませんが、最初に触って楽しむ&慣れる環境には最適です。

「子供の頃にこういうおもちゃが欲しかった!」 と思うのは、おそらく自分だけではないでしょう(笑)

余談ですが、自分が初めて触ったプログラミング環境が、家に転がってた "ファミリーベーシック" でした。Laboに触れて育った子供たちが、ソフトにしろハードにしろ将来面白いものを作ってくれるようになるかもしれませんね。

以上、Labo楽しいのお話でした。


■自分用 TIPS メモ

・NULL(なにもしない)ノードは?
0秒タイマか NOTx2 かな? 自己入力や複数入力→複数出力などで重宝します。

・AND はあるのに OR がない?
ノードの入力側にラインを複数繋げばそれが OR になります (最初迷ったのは内緒)
アナログ入力の場合は ANDが小さい方と書いてあるので、多分大きい値の方を選択する気がします (未検証)

・常にひからせたい
ひからせノードの入力に NOT出力を繋いでおく。NOTの入力は解放状態でよい。
要するに 入力なしの NOT=固定値ON(1.0?) として扱える。

posted by - at 07:16| その他 | 更新情報をチェックする