2023年12月06日

Pとか Cとか

※またブログが広告まみれになっているので... (3ヵ月ぐらい新しい記事を書かないと勝手に広告が表示されるようになります。↓の広告欄には180日以上と表記されるも、実際は90日程度の模様...謎)


MMDの標準(同梱) モデルで 「肩の上げ下げ」 モーションを作成してください。皆さんできますよね?

まず MMDの基本として、肩ボーンを動かす=回転させると、腕の方向も一緒に変わってしまいます。まあ当たり前ですね。

腕が上がってしまうならその分を下げて調整すればいいだけなので、実際の作成作業としては、

肩を上げ → 腕を元の向きまで下ろし → 今度は肩を下げ → また腕を戻し...

という手順で一応作成はできそうです。やってやれないことはないですが、何度も繰り返し調整することや、左右の向き合わせなどを考えると非常に面倒です。

...と、当時のユーザー一同も思っていたので、作られたのが "肩キャンセルボーン" になります。

ここまでが今回の導入。肩キャンセルの詳細については適当に検索などでご確認ください。


で、ここからが本題。さて、この肩キャンセル...実際には 肩P とか 肩C とかのボーンが実体なんですが...「誰だこんなテキトーな名前を付けた奴は?」 という話。

まあここまでの流れでだいたい察せられますよね...おそらく名付け親は 自分 だと思われます。

なにぶん随分と昔(SNS時代) の話なので記憶も定かではありませんが、当時からの流れとしてはこんな感じ。

ボーン(肩?)に回転付与で逆向きのカウンターをかけるとそのボーン以下の向きを維持できる、という話題を提示 (自分ではないです)

その日記(=SNS内の記事の呼び方) で記載されていた作成手順を簡易スクリプトにまとめた (これが自分/本文はローカル保存してあり確認済み)

そのスクリプトを元に個別の (PMDエディタ)プラグインを作成し配布 (これを含め以降は自分ではないです)

汎用的な統合プラグインに機能として取り込み

今に至る

で、これが自分の日記に記載したスクリプトの一部 (冒頭)
----
// キャンセル肩追加スクリプト(標準ミク用/右側のみ)
// 対象ボーン取得/追加ボーン作成
IPXBone rs = bone.First((IPXBone b) => b.Name == "右肩");
IPXBone ra = bone.First((IPXBone b) => b.Name == "右腕");
IPXBone rsp = (IPXBone)rs.Clone(); rsp.Name = "右肩P";
IPXBone rsc = (IPXBone)ra.Clone(); rsc.Name = "右肩C";
(以下略)
----

見ての通り、肩Pと肩Cがありましたね。

現在では情報元の日記を確認できないため、そちらで書かれていた可能性もありますが、自分の性格から考えると、このような名前の付け方は "自身の仕業" にしか見えません。

「PとかCとか何のことだ?」 といった疑問に対しては、単純に親(Parent) とキャンセル(Cancel) の頭文字というだけだと思います。
※rs:RightShoulder / ra:RightArm / rsp:RightShoulderParent / rsc:RightShoulderCancel

そもそもよく考えて付けた名前ではないですからね。スクリプト用として使い捨てるだけ (だったはず) の仮称が 「今に至るまでそのまま使われている」 ってのが実情というわけです。

Q.「キャンセル(C)ボーンなのになんで Pを動かすんだ?」
A. Cボーンはカウンターで相殺するための非表示ボーン。動かすのは別に元のボーン指定でもよかったんだが、配布モーションとの互換性を考慮して多段化=親側なので Pが付いた (子側で Childにすると CとCで被ってしまう)

長く使われることが想定されているなら、それ相応の名称を用意することもできましたが...今となっては後の祭りです。
※MMDは仕様上ボーン名に強く依存しているため、今更の修正も難しい


ちなみに余談ですが、"全ての親" や "多段ボーン" という用語や使い方も、実は PMDエディタの初版 (ver0001/2008/9/9) 添付の readme.txt で自分が書いていたりします。

実際に有効活用されるようになるのは、それよりもずっと後の話になりますが、技術的な提案については極々初期の頃からおこなわれている、みたいなことは世の中よくありますね。

今日のこの日においても、皆さんが知らないだけで技術者や研究者の方々は未来のために日夜頑張ってくれているわけです。

といった感じで、なんかイイ話?にまとまったところで、今回のお開きにしたいと思います。

以上、広告対策として適当に蔵出しした昔話でした。





----
・本文に入らなかった内容

肩キャンセルなどの変形構造は MMMなどの後続環境ではモーション作成機能で対応しています。わざわざモデル側を改造する必要はありません (配布モーションによっては適用時に必要になる場合アリ)

なんなら PMXエディタの TransformViewでも Shift+でのボーン操作(ハンドル移動) で簡単に実現可能です。

モーション側の互換性を考えると、本来はこのような動作仕様の方が望ましい形です。
※モデル改造による対応はあくまで一時的な措置としたい

各用語については現在なら、

全ての親 → ルート(ボーン)
多段ボーン → ボーンレイヤー
キャンセル構造 → カウンター構造

みたいにするかもですね。まあ 3DCGに限らず、技術系の用語は 「そのままカタカナに変換しても伝わらない」 のが定番なので、いつも (意訳に)苦労します。

万人に広めたいなら言葉=文化をしっかり理解することが最重要。

※「eスポーツが流行らないのは何故だ?」「"eスポーツ" なんて名前にするからだろう...」 (スポーツ:運動 ≠ sports:競技)


【関連する記事】
posted by - at 05:58| MMD | 更新情報をチェックする

2023年09月01日

39x16

「16歳で生まれた娘が、このたびなんと 16歳 になりました!」

...なんのこっちゃ?という一見意味不明な謎文章ですが、本当に現実になったようですね。
初音ミク誕生祭2023(ニコニコ)


ということで、あれからもう 16年ですか。一応当時のお祭り騒ぎをリアルタイムに眺めていた世代ではありますが...

個人的には過ぎ去った時間の長さも気にはなれど、それ以上に "未だ健在" の方に驚きを感じます。

すっかり 「そこにいるのが当たり前」 の光景になりましたね。ネット時代における ドラえもん のようなものでしょうか (そういった面倒な考察は専門の方々にお任せしたいところですが)

とりあえず自分の活動(MMD含む) による影響がどれ程のものであったのかは自身の知るところではありませんが、多少の助けとなっていたなら幸いです (自画自賛)


とまあいつもならここで "おめでとう(ありがとう) 音声" の一つでも用意するところなんですが...残念ながら現環境では (うちの製作道具は) 既に動かなくなって久しいので(※)、今回は過去作の紹介でお茶を濁そうかと思います。

※保守作業という名のイチからの作り直しはもう面倒なのです...(仮に道具だけ直しても、この錆び付いたナマクラではどうやっても当時のようには扱えません。残念)

sm3868627


最初期の名曲巡りにもなっていて、個人的なお気に入り。
どこぞやの PC量販店(の展示PC) で流れているのを見たときは流石に苦笑いでしたが (いや別に使って頂いて全然構いませんけどね)

sm15385349


一応トークロイド方面の最終作という扱いの作品。
内容(ネタ) に思いついたのが最終日直前(7杯)。そこからの (徹夜の)突貫作業も今となってはよい思い出です。ちなみに音声部分の作成時間は十時間ほど。クオリティと生産効率、という (トレードオフ関係である)双方の意味においても、"自身における集大成" という感じだったのかも?しれません...まあ制作時は勢いしかありませんでしたが(笑)



以上、少々遅れましたが 「ミクさんお誕生日おめでとうございます」 の記事でした。

十周年(39x10=) のときへのリンクも貼っておきますね (最後?の音声作品はそちらへどうぞ)


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

2023年08月04日

背面ボタンのススメ

「指が...親指が痛ぇ......先が気になるがこれ以上ゲームを続けるのは...ぐぬぅ......」

丁度一年前ぐらいの自分の状況です。

それ以前からも長年に渡るダメージの蓄積により両手の指、特に親指の関節部がたまに痛むことはありましたが、ここへきて一気に悪くしてしまったようでした。

主な要因としてはゼノブレ3の操作系による影響が大きかったと思います。

以前書いた記事 で指摘した通り、スティックボタンによる操作(押し込み) は反作用による圧力が強い分、親指(関節) 側へのダメージは相当なものになります。

ゼノブレ3はミニマップの拡縮切り替えに右スティックボタンを "頻繁に" 使い、さらに左スティックボタンによるオートラン始動は 「スティックを倒しながらの押し込み」 という、コントローラー式ゲームにおいての "最も邪悪な" 入力方式を採用しているため、他作品と比較して 圧倒的に指に悪い 操作系となっています (さらに変更もできない)

おまけに RPG=長時間の操作を強いられるわけで 「あれで壊れない方がおかしい」 と今の自分は思う次第です。

そんなこともあり、対象記事(ゼノブレ3) の書き方がいつになく荒れていたなぁ...とは思いますが、まあ特に反省はしません。DLC完了後も DLC部分だけを見ればデキは悪くはありませんでしたが、結局本編部分には何の改善/改修もされてはいませんからね (予想通りというか何というか...)

こういったあたりの (開発)姿勢が 「ゼノ(ブレイド)シリーズは面白いけれど、他人(ひと) にはなんか奨められない」 というような評価に繋がっている気がします。


以上、導入として用意した余談でしたが、何故か長くなりすぎてしまったので以降の本題は簡潔?に。

昨今はコントローラーの背面にボタン(左右 2つ) が付いたものが増えてきました。特にサードパーティー製では標準仕様といっていいぐらい対応しているものをよく見ます。

大抵が他のボタンの代用をさせるもので(変更可)、一部(お高いもの) はマクロ的な操作を記録/再生させる方式もあるようです。

当然スティックボタン(L3/R3) を代用させることもできるため、背面ボタンに設定さえしておけば、以降スティックは向きを変えるだけの方向専用レバーという扱いになります。

冒頭から書いたような "指に厳しいゲーム" でも、かなりのケアになるというわけですね。

switch対応(及び他環境との共用) コントローラーも多くあり、しかも純正品よりも安い (というか今の時代は純正品が高すぎる)

ただし耐久性や機能性などで問題がある種類もあったりと、性能やコスパはマチマチです。個体差も含め、多少の当たり外れがあることは気にしておいた方がよいでしょう。

まあ最初のうちは誤操作もよくありますが (みんな一緒)、無理に強く握り締めないような扱いを心掛けていればじき慣れます。力を入れすぎないようになることで、結果的に指もコントローラーも寿命が延びますよ。

ちなみにティアキンもこれがなければクリアまで続けられなかったかもしれません。ブレワイ系もアクション中ではありませんが、スティックボタンに配置された操作は結構な使用頻度になりますから。


ということで、自分のように 「ゲームは続けたいが指が痛くて無理」 みたいになってしまった方や、そもそも "スティックの押し込みが苦手" な方などは一度、背面ボタンの付いたコントローラーを試してみてはいかがでしょうか?...といった話題でした。

※個人的には 「スティックボタン(L3/R3) などという前時代的な煩わしい構造からは、いい加減卒業して欲しいものだ (メーカーも一部ユーザーも)」 とよく思います


posted by - at 21:03| ゲーム | 更新情報をチェックする