19MC

TOP

2013-02-17

19Timez / 02


前回、FLHをモデルにしてBOBBERを制作中とだけ書きましたが、
オマケ動画に SLHと入ってました。 

一応まだ仮ですが、たぶん今制作中のバイク、
SLの FLH。SLの Shovel Head的な意味を込めて、名前を"SLH"にしよーかなと考えていますです。SLの SR400 で、"SLR400"とほぼ同じネーミングでございますが何か?w


とゆわけで、今回の19Timezですが、
リアルタイムな作業に追いついて、制作記を書くまでは、ただの機能紹介のような内容になってしまいますが、なるべくテンション上げて書いていきます。


バイクのステアリングを切りたい。と思ったワケですが、
RLでは、車ほど 走行中にハンドルを切ってる意識はないですよね。
バイクの場合ステアリング操作よりも、車体をバンクさせて曲げてく感覚の方が強いかと思うます。
もちろんビミョーにステアリングも切ってはいますが、
車体の傾きの方が目立って、ハンドルの傾きはそれほど目立ちません。

SL内のバイクでも、走行中にステアリングが動くものがほぼ無いのは、
それでも特に違和感がないからかと思います。

が!駐・停車中となると話は別で、
ここでは是非ステアリングを切って停めておきたいわけでw
現在では、そんな風に駐停車するSLのバイクも数多く存在します。

SLR400の時は、オイラが未熟者(今でもですがw)だったおかげで、
ハンドル周りが独立した構造になっておらず、動きを付けることが出来ませんで。。。

今回はコレをオイラも是非やりたいじゃん!とゆーことでw
2年ほど前にスクリプトを担当してもらってるセンセー(EJ Hirano氏)にお願いしたわけであります。

当時センセーにお願いしたのは、現在SL内のバイクでもよく見る、
アバターが降車した時にハンドルがロック位置に収まるようにしたい。とゆ事だけでした。
今ならコレぐらいのスクリプトは自分で書けますが、
当時センセーから戻って来た代物は、ハンドルバーの右側をドラッグすると、ステアリングが右へ、左をドラッグすると左へ、ドラッグした分だけ無断階にぬるぬる調節出来る、とゆう、今のオイラでも自力では到達出来なそーなものでしたw

また、エンジン始動と共に、ステアリングはセンターへ、
降車すると、ドラッグで操作した元の位置へ戻り、また操作可能に。
それ以外にステムのボルトをクリックでも、ステアリングをセンターに戻せます。

本当にステムにベアリングが入ってるんじゃないか?とゆーよーな動きに、当時 衝撃を覚えましたwww


そこで!今回はそのセンセーにインタビューを決行!w
当時を振り返りながら、センセー本人に解説してもらっちゃおーと思います。
インタビューの途中で、実際の動きを録画した動画等もありますので、
長文をここまで読んで頂けたのでしたら是非、インタビューもご覧下さいまし><

インタビューは、SL内のチャットをほぼそのまま掲載しています。
長いので、続きにまとめてあります。
下の "続きを読む..." を開いてからご覧くださいませませ。

追記:のつもりでしたがw YOUTUBEを続きに含めてるのが原因で、
続きを読む 表示が上手く動かないみたいなので、そのまま下に続きますw


✿ 特別インタビュー ✿
Paint.O:こんばわーw
EJ Hirano:やほーw って、カメラでかっw
O:カメラ 外人サイズっす><;

O:この2階のヨネチソファーで SS撮ろうかとw
EJ:あいw
O:なんだこれ ろくなポーズないなぁ これだなw
EJ:まじそれw どないせーと(^^; こっちもこれかなw
O:っすねw

O:うーむw
EJ:もうこれでええわww よしゃw あきらめたwwww
O:おkですw
EJ:ういw

------- とゆわけでインタビュー開始です -------

O:とりあえず それではインタビューをw
EJ:あいあいw


O:まず最初に、超カンタンでいいので自己紹介をお願いします><

EJ:こんにちはー ED Hirano ・・・じゃなくて、EJ: Hirano ですw この春娘が大学なんで生活苦しいですw 拾九さんからの仕事が無くなったら露頭に迷うので、今後もどうかお願いします(;_;)
EJ:こんなとこかw
O:いいすねw
EJ:wは抜いてもろてもええかな(^^;
O:そのまま載せますw



O:とりあえず、今回は SLHのハンドルに仕組みについてなんですけど
EJ:あいあい
O:まず なにより今までのSLバイクのステアリングにはない動きになってるかと思うのですが

EJ:そうっすねー。普通、ステアリング、しないっすからね(^^;
O:停車した時に、向きが変わるのはいくつかあるですが
EJ:停車ポジションってかたちで、ディスプレイ用、みたいな
O:マウスでドラッグしながら無断階に動くのは凄いっすねw
EJ:でろんでろんすねwぐりんぐりんというか(^^;
O:でろんでろんすねw



O:あれを再現するのは大変でしたですか?

EJ:ハンドルについては、大変、というよりも、楽しんだ、という方が正しいっすねー
まー、ハンドル動かしたいてことになってから、2週間くらいはずっと夢でハンドル見てたけどもwww
O:うそだwww
EJ:もちろんうそだwww けどもそんな感じやwww
O:そのまま書きますからね!
EJ:考えだしたらずーっと考えとるからね(^^; 電車の中とかで、手すりの棒みてるとハンドルの軸にみえてくるとかwww
O:wwww
EJ:その周りに手をこうぐるーっと這わせなから、ぶつぶつ呟く変なおっさんが・・・ww
O:パクられても、19の名前は出さないでくださいね。



O:ずばり!あの仕組みは どーなってんですか!?

EJ:基本的なところは、オブジェクトを動かす命令の組み合わせ です(^^;
と 言ってしまうと終わるのでw
O:あひゃひゃw
EJ:ちょっと難しいですが、具体的な話でまず、
あのハンドルの動きを実現するのに、一番大きな役割を果たしたのが、
llSetLinkPrimitiveParamsFast という命令です(いきなりw
O:おお いきなりっすねwww
EJ:何がなんだかって感じですけどもw
これは要は、むかーーしからある、物を動かす命令を、
すんげーーー速くできるようにしたもの と思ってもらえばいいです
O:なるほどw llSetLinkPrimitiveParamsの遅延時間が無くなったバージョンすねb
(補足:スクリプトを全く触らない人向けに、
llSetLinkPrimitiveParams  :実行する度、スクリプトが0.2秒止まる。
llSetLinkPrimitiveParamsFast:その止まる時間が無くなったバージョン。です。)

EJ:そうそう。これがなかったら、ハンドルを動かそうとしても、カックカクになります(^^;
って、じゃあ、そのハンドルってカックカクじゃないの? って読者さんは思われると思うんで、このあたりに動画でもいれてもらえればwwww
O:まかせてくださいw 用意してありますw


EJ:とまぁ、こんな感じで動かせるようになったわけですね~
O:なるほどーw ぬるんぬるんですねー
EJ:ぬるんぬるんですw えらいなリンデン(ごく一部分ではw
O:この動画で途中もたついて見えるのは、オイラのドラッグ操作がトロいからっすw



O:このハンドルは複数のプリムが、プリムの中心ではないトコロを軸にして動いてますよね?その辺りはどーなってんでしょか

EJ:そうなんですね~ よく気がついてくれましたw
O:台本があるみたいすねw
EJ:そう 速く動かせる命令が出来たのなら、どんなアイテムでも同じようにできるはず・・・なんですが、やっぱりそう単純ではないのです~
O:なんと!(この辺り オイラも真剣に知りたいトコロですだw)
EJ:動かすためには座標計算が必要なのですねー。
どれくらい傾けて、どれくらい動かして というのをハンドルが傾くたびに、再計算します
O:計算が必要なのは なんとなく分かるですが えらい難しそーっす><
EJ:実はプレステのゲームとかで3DのCGが出てきてるところでは、つねに計算してますw
それと同じようなことを、バイクのハンドルでやるわけですね~
しかも、CGなら、もう簡単に計算してくれるソフトを誰でも使える!のに!
リンデンのスクリプトにはそれが無い!www
なので、ごりごり自分で計算しないといけません(^^;
で、ごりごりやってるところは割愛して(ぉぃw

O:動かす度に位置と傾きを取得しなおして、計算し直すですか?
EJ:そうなんですねwまぁでもちょっとここは実物を見てもらいましょうwww
O:おおw そんなもの用意してあるですか!


EJ:この move() というやつが、ハンドルを動かしてるプログラムですね~
ここでは、フォークと、タイヤの、位置と角度を計算して、さっきでてきた、動かす命令で、ぽいっと動かしてます。
O:あ 分かりやすく 部品数少なくしてありますねw
EJ:そそそww

EJ:これを1秒に数回とか、しゅしゅしゅしゅっ!と動かすですw
たぶん、ここで、ご自分でも物を動かすスクリプトを作ってる方だと気がつくかもしれないんですが、この計算が、かなりシンプルになってます。
ぐりぐり動かすんだけども、計算は単純な方が、パソにもSimにもやさしい
O:なるほど!
EJ:そこが技術屋さんのおしごとの部分ですw
O:かけて 足してる だけって事すよね?
EJ:そうなんですね。
ここでは、掛け算1つで位置と角度を計算できるようにしてます。
実はわしとしても、ここまでシンプルにできるとは思ってへんだけども(^^;;;;
うまくいきましたw
O:なんとまぁww

EJ:そこはやっぱし、 おーちゃんの心意気にふれて、w
O:おおーw 持ち上げますねw
EJ:こりゃいっちょやってやらねば!とw なったもんで、がんばりますたwww
O:お言葉お返すよーですが、
SLRの時に 排気ガスの表現を見せられて、燃えたのはこっちですがね。。。
EJ:ぶwなんかあったなそういうのも(^^;
まー、おたがい良い影響を与え合えたということでw
よかったよかったw
O:はひw

EJ:今回のこのハンドルもそうですが、実は!ってところが
このSLRやSLHのシリーズには、ありますね~
O:っすねw 大々的に声に出してない部分もw
EJ:ユーザーさんに見えてるのは結果だけだけれども、
その裏にあるものは!?というw
O:裏方ならでわのオナニーとも言えますがw
EJ:ぶっwww まぁそう、おなにー的なwww

EJ:でもそれは作り手のそれなので、そういうものも含めてw
結果を見てもらえれば、ただのマスカキでは終わっていないとw
こだわった分、良いものになってるはず(と信じたいww
O:オラも信じたいww
O:少なくとも、オイラには伝わって来てますので、安心してくださいw
EJ:どもですw

EJ:で、ハンドルについては、正直、いかに計算負荷を減らすかということが、勝負だったので、そこが出来て、満足しとります(^^)
O:なるる
EJ:皆さんにもぐりぐり動かして楽しんでもらえれば、と(^^)
これって、動かすと、Sim落ちるんだよねー なんてことありませんのでw

EJ:まー、ハンドルの動き、詳細に説明しても、さほど喜んでもらわれへんやろし(^^; こんなもんでいいっすよね?(^^;
O:いいと思いますw 今の説明だけで、オイラ的にもなんとなく感じは掴めたので、
分かる人はコレ以上説明しなくても伝わるでしょうし、詳しくない人にあんまり専門的な事言っても混乱させるだけかと。。。

EJ:あー、それならおーちゃん向けの話するけど、技術的なポイントとしては、軸プリムを置いてるってところですわ。



O:あ、せっかくなので、それも是非お願いしますw

EJ:軸プリムを基準にして計算する。だからシンプルになる。ってことです
EJ:ハンドルの何が問題かと言うと、
SLの座標軸からも、バイクのルートプリムからもずれてる(傾いてる)ってことなので。
しかもそれが常に動く(走る)
だから、ハンドルプリムの軸をベースに、ローカル上で計算する形に。
そうすると、SLのグローバルで計算するのと、おなじくらいのシンプルさになる。
四角い箱、まっすぐ置いてるのと、同じようなもんですわw
O:ハンドルプリムが、ハンドル周りのプリムグループのルート的存在みたいな感じすよね?
EJ:そうそう。そこで、z軸について回転 とかやってるのね
で、 軸からの相対的な位置と、軸プリムからの相対的な回転とを、あらかじめ計算して求めておく。あとは、軸が回転した分、周囲のも動かせばおわり。
O:ぁ、軸セッターで拾うヤツっすね  
(※軸セッター:フロントセクションの、プリム位置やら回転やらの初期設定をする装置です。作:EJ氏)
EJ:そうそうwだから、掛け算1つですむ。
あれね、あれがなかったら、たいへん(笑)
O:なるるる
EJ:軸が、バイクのルートからずれて傾いてるから、あらかじめ計算しておくことに意味がある。

O:そのハンドルの軸も、MESHになって 一段と操作しやすくなりますたw
EJ:おーw ええこっちゃw
O:ビシっと中心だせるのでw プラス、UV操作でタッチの座標も思いのままです。
EJ:ほほほほーw



O: なるほど。あらかじめ計算してある分を同時にやろうとすれば、当然重たくなっちゃうわけで、

EJ:そう 普通はそうしてしまう。
プリムのルートから、軸の傾きをしらべて、そこから軸周囲で回転するプリムの座標を計算して、とやると、掛け算だけでも4回になってしまう。
O:ほむほむ
EJ:しかも、rotationの計算だから、xyzそれぞれのの負荷があって、12倍の負荷にw
O:ああメンドイすね。オイラーとか変換がまた絡んで
EJ:そうそう



O:しかしま、フロント周りだけで7プリムくらいあるクセに、このハンドルは見事っすねw
EJ:うまくでけたね(笑)
O:llSetLinkPrimitiveParamsFastが追加されたのが、もう1年半くらい前でしょか。
このハンドルも、その頃には出来てたですよね?
EJ:今年中には、SLH リリースできるやろかw
O:・・・・・精進しますw

EJ:走りながらでもそこそこ動いたのはこっちもびっくりしたけどね(笑)
さすがにいろいろ無理あったけど(^^;
O:あれはちょとキビしいすねw
もっと煮詰めればちゃんと出来そうですけど、
全然リアルなバイクの動きに見えないので、アレはボツにしますw


EJ:しかしそれ、どこの誰や(^^; 馬子にも衣裳www
O:くははw

EJ:七三www ちゃんと記者にw
O:もっと フザけた感じにしたかったんですけどw
時間なくて、衣装まで探してられなかったですw
EJ: なるるww



O:最後に、読者の皆さんになにか一言あれば、どーぞ!


EJ:スクリプトって裏方だけど、バイクのデザインやテクスやるのと同じくらい、楽しいですよ~(^^) 興味のある方はぜひどうぞ! あと、おーちゃんのバイクはせかいいちー!www
EJ:んなもんでいい?w
O:ギャラの振込先をあとでお願いします。

O:しかし、オイラも最近はスクリプトイジるのがめちゃめちゃ楽しいっすw
EJ:じゃろーーww
O:あとで 今作ってるのみせますwしょーもないですけどねw
EJ:おおおwwしょーもないのがええんやね(^^;



O:おし インタビューこんなとこにします!
ありがとございますた!
EJ:あいー こちらこそーw

------------------------------------------


とゆわけで、なるべく専門的な話にならないよーに心掛けてはいましたが、
途中からちょと難しい話になってましましたw
この辺り 読む人によって色んな印象があるかと思いますが、
ただただ、そのまま載せてみました。
後はSLHが発売されたら、是非その目で確かめて欲しいなと思います。

今回はまるで出番のないオイラでしたがw
次回はもうちょっと自身で頑張った、ショックの話でもしたいと思います。
次からはやっと制作記っぽくなるかと思います。ほでであ!



2 コメント:

Hiroro さんのコメント...

スクリプト進化してるんだなあ。。
インタビュー面白いよw 昼休みを返せw

Paint.O さんのコメント...

長くてスミマセンww

ちょっと為になって、半分面白いくらいを意識して書いてるですが、
今回はさすがに長すぎでしたw

コメントを投稿