2014年5月25日日曜日

PSO2「スクールスイムウェア」とおっぱいの骨

去る4月、時節をぶっちぎって唐突に実装されたPSO2のコスチューム、「スクールスイムウェア」。
画像も唐突ですが同コスチューム姿のマイキャラです。
彼女はデューマンなんですが角を忘れたことに後から気付きました。髪から全て描き直さなきゃならないのでここは気付かなかった事に…
PSO2マイキャラ スクールスイムウェア

今回は絵の話じゃないんですが、この「スクールスイムウェア」にも関連する以前から気になっていた謎について、一度まとめておこうと思います。
実証する手段がない内容なので例によって多分に推測を含みますが予め御了承を。


さてこの「スクールスイムウェア」ですが、元ネタはもちろん実在のスクール水着(しかも結構古い型)ということで疑う余地はないでしょう。実在するスクール水着は本来水泳の授業で使用されるものですから、水の抵抗を軽減するようデザインされています。
しかしPSO2版「スクールスイムウェア」はバストをワイヤーで保持したようなデザインになっていて、もともと控えめなマイキャラでも胸が強調されてしまい、スクール水着というにはちょっと違和感のある形状。

近しい知り合いやネットの反応を見る限り、この点に違和感を感じたのは私だけじゃなさそうですがここを御覧の皆さんはいかがだったでしょうか。


じゃなぜそんな形状になってるんだろうと考える時、脳裏をひとつの推論がよぎります。
重ねて書いちゃいますが、多少の経験に基づいてはいるもののどこまでも根拠のない与太話。そうかもしれない程度にゆる~く読んでいただければと思います。
気になった事はついつい考えてしまう性格ですから、批判する意図がない事も御理解くださいませ。



まずは本題の前に、「スケルタルアニメーション」について説明しなきゃなりません。
一部の業界や趣味を持つ方には釈迦に説法な内容ですが、一般常識というには重い気がするのでくどい説明になるのは御容赦を。
ボーンの模式図

「スケルタルアニメーション」が正式名称というのは今回調べて初めて知りました。
よく聞いた呼称は「スキンアニメーション」で、これを使用しない方法をリジッドアニメーションと呼んで区別していたと思います。

「スキンメッシュ」と呼ばれるキャラクタ外観のポリゴンモデルに「ボーン」と呼ばれる骨を通し、ポリゴンモデルをやわらかい物体のように動かします。脊椎動物の構造に似ていますネ。

右図は骨を概念的に描いたもの。
クナイのような棒が自在に動く骨「ボーン」です。これを操り人形のように動かして、間接的にポリゴンで作られたキャラクタそのものを動かしているわけです。

PHANTASY STAR ONLINE 2 のようにリアルタイム3Dで表現されたゲームのキャラクタは殆どがこの概念で動いていて、様々なタイトルで古くから使用されている技術としてはごく普遍的なものです。
細かい原理など気になった方はぐぐってみてください。


そんなわけで本題のバストについてですが、恐らくPSO2ではここにも「ボーン」、つまり骨が入っています。もちろん実在の人間にはこんなところに骨など入っていませんが、バカ正直に脂肪のカタマリとして物理演算するのは処理速度や開発コストの面で常識的じゃありません。
簡易な振動の計算がボーンに対してのみ行われていると見てほぼ間違いないでしょう。
バストのボーン模式図

図のように慣性や重力でバスト用のボーンが上下すると、皮であるスキンメッシュが柔らかく追従する仕掛け。


ここで気になるのは、「スクールスイムウェア」に見られる胸の強調がPSO2の女性用コスチューム全般に見られる傾向であるところです。
下図はPHANTASY STAR ONLINE 2 のスクリーンショットを抜粋したもの。

ここに挙げたようなコスチュームは比較的“豊かな”キャラが着ると衣服と身体の間、アンダーバストのあたりにゆったりと隙間ができるはずなんですが、どれもきゅっと締め上げるような形状に作られています。ひょっとすると、バストの下を締めないと何か不都合があるんじゃないでしょうか?


考えられるものとして有力なのは、スケルタルアニメーションの特性による不都合です。

ボーンというのは概念的に分かりやすくするため多くの場合棒のような形状で表されますが、その正体は一本一本が座標系、ひとつの空間のような大きなものです。影響されるスキンメッシュはボーンの回転や移動につられて動きますが、ゴム人形に針金を通したように自然に動いてはくれません。

バストのボーンによる衣服の揺れ

バストのボーンは揺れる際に、つられて動く衣類も一緒に引っ張ります。このとき回転するボーンの影響範囲は意外に広く、図の青い線で表した回転の動きが強く影響して衣類を上下ではなく前後に揺らしてしまいます。

このままでは、バストの揺れにあわせてキャラクタのおなかが膨らんだり凹んだりしているように見えるでしょう。
もちろん影響範囲を狭く設定することも可能ですが、前後の動きを抑えるためにバストの骨から受ける影響を小さくしてしまうと、不自然なシワができたり動かなかったりしてこれまた不都合なことになってしまいます。

これを回避する方法はいくつか考えられます。

ひとつは現状のようにバストの下を締めるような形状にする方法でしょう。こうすればバストのボーンが影響する範囲を小さくしても不都合が生じませんが、先述のように外観に大きな制約を課してしまいます。

それ以外の方法では、例えばボーンを回転ではなく移動で制御する方法、回転軸を大きく背中側にずらす方法なども考えられます。しかしこれらの方法では既存の女性用コスチューム全てに修正が必要になっちゃいますから現実的じゃありません。

バストの補助ボーン追加案①

そこで現状に追加して、衣類を引っ張る専用のボーンを用意する方法を考えてみます。

バストトップを回転軸とし、ベルト付近を目標に動くボーンを追加します。
ボーンは絶えずある点を自動で指すように目標を設定することが出来ますから、バストトップからベルト付近を目標に指定すれば図のような動きになります。
このボーンに衣類の表面を任せちゃえば先述の不都合は解消するでしょう。

こちらの方法であればタンクトップのおへそがバストの揺れにあわせてちらちらするような表現も可能かもしれません。

ボーンの追加が仕様上可能かどうかという問題はありますが、スカートやリボンなど、追加の可動する飾りがついたコスチュームもあるところをみると、ある程度コスチューム固有のボーン追加は可能なんじゃないでしょうか。


追加のボーンを使用する方法ではこんなものもあります。
バストの補助ボーン追加案②

ボーンは実際のゲーム上では表示されませんから、こんな風に外に出してしまうことも出来ます。

胸部のボーンを親とし、目標をバストトップに指定したボーンをカウンターとして配置。
バストのボーンとカウンターのボーンを50%ずつ影響させることで衣類が前後に揺れるのを相殺しようというわけです。

この方法では前後に引っ張る力が発生しますから、上手くウェイト(ボーンの影響する力)を設定すればバストの下にシワを作ることもできそうです。

ただ直感的ではないので、モデルのポリゴン数が増えたりコントロールが難しかったりはするかもしれません。モデル作成者の腕の見せ所です。



もちろん、現状のバストの形が実は技術的な問題じゃなくて、デザイナさんや酒井プロデューサーの趣味だったなんて可能性は十分あります。
技術的な問題だったとしても開発スタッフさんの間で問題視されてないかもしれません。
上記の解決策も実際に自分がやらないから言えることであって、実装するとなると様々な想定外の問題がでてくるでしょう。
結局はどこまでいっても与太話。ここであれこれ考えたからといって何が変わるわけでもありません。

でもやっぱり、過度に胸が強調されてないコスチュームが出てくると清楚で人気がでるんじゃないかともちょっと思ってしまうのです。


っと気が付けば思いの他長文になってしまいましたが、こんなことを考えたのは決して私だけじゃ・・・ないですよネ(゚ー゚;)?