過去の独りごち/独りごとは こちら
過去のJavaアプレットは こちら

現在、BBSに書き込みキーを設けています。「書き込みキー」欄に、「MYOMOTO」をカギカッコは抜いて、 半角、小文字で 打ち込んで書き込みをしてください。 このキーワードは時々変更されますが、その都度こちらにて報告します。


11/18 自由に考え、不自由に生き、理不尽で食べる

ニコニコ動画で僕の動画作品が公開されました!多くの方に支えていただき感謝しております。経緯やまとめについては以下の記事をどうぞ!

微生物というものが発見される前、疫病にかかるのは何かの呪いのせいであり、漬物が漬かるのは神様の力だったりしたといいます。 今日ではウイルスのごとき遺伝子とそれを守ったり打ち込んだりする為のデバイスが組になったミニマル生物の研究も進んでいるようですが、 なんだか小さい方、小さい方と行くばかりなのはロマンが無い。 男ならば知られざる巨大生物なんかの存在を探求してもいいんじゃないかと思いました。 超銀河団プラズマフィラメントを流れるビルケランド電流でクリスマスツリーを飾るくらいの超巨大生物とかいても良いんじゃないですか? 多分でっかいお宝を守ってますよ?

でっかいお宝と言えば凄いモデルやら音楽やらモーションデータやらが今や界隈に溢れている。 ニコニコ動画でMMD杯ZERO2が開催とのことで活発に作品の公開が行われています。 データの配布も積極的にされていて、本当にありがたいですね。それにしてもなんというアートの洪水! 芸術の奔流!現代のルネッサンス!情熱!僕のこの手~は~!すみません大体いつも酔っ払ってこれを書いてます。 ともかくそう思って僕もUnityをいじりはじめてそろそろ1ヶ月と言うことで何か見栄えがして 人様に喜んでもらえるようなモノを作りたいなあと思って、お宝をありがたく使わせていただきました。

無機質なこのサイトも一気に華やかになりそうですがそれにしても、すごく……でっかいお宝です…… こんな見ているだけで幸せに満たされるモデルはとろぽっぷ氏の力作、天龍改二です。 コレオグラフィはこれを書いている時点ではまさにMMD杯ZERO2に出場されているreno氏の作品で、 音楽はプロとしてご活躍中のキョーヘイ氏の抒情溢れるケルト風楽曲であるScutellaria。 いずれも大変な才能と情熱と努力の結晶! 僕は^C師の動画を盗み見てはVFX Graphの力を借りてコソコソとVFXを多少作っただけです……とはっきり自分で書くと凹みますね。 当初からBGMをスペクトラムアナライザに掛けて床を動かそうと思ったので、 せめてFFTのコードくらい書こうとて昔書いたObjectPascalのコードを探そうとしたらUnityに最初から入ってて、 しかも使いやすいように^C師がラッパーまで配布しているという。もう何もすること無いじゃん。 床が崩れるエフェクトもrigidbodyくっつけるだけという超お手軽状態ですし。 とかく今の世の中は自分何でもかんでも作ろうとするんじゃなくて先人の作ったものをうまく組み合わせて、 自分で楽しいようにいじるのが良いんじゃないかと思いました。 Lo-Fi HipHopやVaporwaveやFutureFuncといった今の(時に怪しい)音楽ではフレーズどころかサンプルの引用すら普通ですし、 オリジナリティと才能の塊であるJacob Collierもカバー曲を積極的に披露して古典への敬意を欠かしません。 もうちょっと経てば僕みたいにPhotoshopのフィルタだけで「絵を描いた」などと主張する輩にも住みやすい世の中になるのかもしれません。 でももうすっかりジジイです。略してSCSIここにあり。

マテリアルの張替え作業は慣れないうちはかなり不安が募りましたが慣れてくるとモデルの見た目が劇的に変わるので本当に楽しかったです。 HDRPはUnityの本気が感じられる流石の仕上がりで「え、こんなパラメータまであるのか!」 という驚きの連続で、パラメータを1つ2ついじるだけで石が金属になり、金属は鏡面研磨されたりヘアライン加工されたりプラスチックになったり、 プラスチックからゴムへと……まさに変幻自在です。どういうシェーダを使っているのか想像するのも楽しいですね。 本物の人物のような質感を目指す人もいれば、精巧なフィギュアを再現したかのような質感を目指す人もいます。 一方で、僕はこういう「21世紀初頭のネトゲ風のデフォルメが効いた3D」が好きなんです。 PSOシリーズやRFオンライン、マビノギ英雄伝、ブレイドアンドソウルといったトゥーンシェーディングには依らない かといってひたすらに写実性を追求するでもないケレン味のあるデフォルメ。 手描きの温かみと洗練された無機質さが混ざり合い、プロシージャルに作られた背景とマッチすると感じます。 ある意味3DCGにおけるピクセルアートのような存在であり、そこには想像力を働かせる余地がまだ残っているのです。 とはいえ、たかが1週間そこらで作ったテストプログラムで僕がそれだけ作れるはずもないですから、 「一応そういう所を向いて作った」とだけ悔しそうに語らせてください。ここでグダグダ書いているのと同じだけ、 僕の頭の中には色々詰まっているんですけど、取り出せない!もどかしい! ともかく、がんばった分だけ見た目に反映される作業は本当にモチベーションが上がりますから、 マテリアルの再作成はVFX作成と同じくらい本当に楽しい作業でした。これはまさしく、とろぽっぷ氏のモデルがあっての事です。 配色自体をちょいちょいいじったりもしてしまったとはいえ、なるべく原作キャラや 氏のモデルの良さを損なわないように頑張れたつもりなんですが、果たして。 特に公式イラストレーターの方による描写では天龍改二の靴やジャケットなどは今回のデモのようにテカテカではなく ジャケットはもっとカジュアルな趣のあるマットな素材のような気がしますし、 キャラクター的に靴もいちいちテカテカに磨いたりしなさそうに思えます。 ではどうしてこんなテカテカに設定しやがったのか?それは見ている皆さんにも考えていただきたい。 「公式絵とは違う」「自分ならこうする」そう思うかもしれません。 貴方がマテリアルを自由に設定できるとしたら、どうしますか?どうしたいですか? HDRPはそれに応えてくれます。 ……と言いたいんですが、動画投稿サイトの画質ではこだわったマテリアルもあんまり再現されず、本当にガッカリしました。 今はMMDの先輩諸氏から激励を受けて動画のいろはを習ったり盗み見たりしているところですが、 僕のような新参者が一朝一夕になんとかできるようなモノではないようです。 それにしてもTwitterを始めて本当に良かったです。凛能多氏をはじめとして周りを異様にクリエイティブな先輩諸氏に囲まれ、 マイリストやコメントを入れて頂いた挙げ句に派生元作品の作者であるreno氏、とろぽっぷ氏まで 広告を入れてくださって、本当になんとお礼を述べて良いのか分からないほどです。 そういえば、ひらにょん氏にまず挨拶をしに行ったのですが、彼は割合に充電期間的な調子でのんびりされているようです。

それから、今回はreno氏の素晴らしいコレオグラフィをUnity上に再現したかったので 先に述べたようにCats blender pluginを使わせていただいて、blender上で物理シミュレーション結果+モーションデータを アニメーションにベイクし、メッシュデータと一塊にしてFBXファイルにエクスポートしました。 ダンスが台無しになるとキョーヘイ氏の才能を実感できる楽曲も十分活かせませんから、ここは注意したかったのです。 カメラも最初は上手く変換がされていないと思いこんで数日かけて自前でカメラワークをああでもないこうでもないとしていたのですが、 ダンスとカメラワークは不可分であると気づいたのは、変換自体は上手く行っていてカメラを格納するフレーム のtransformを適切に設定しないとカメラは正しい挙動をしないという当たり前の事に気づいてからの事でした。 カメラ用VMDローダーを開発・配布して下さった まりも氏に本当に感謝します。

話はプログラミングの事になりますがUnityはDOTSで関数型プログラミングモデルを積極採用していくとのことで、 最近Unityを始めたばかりというのに目の前が真っ暗になっておりました。 関数型プログラミングと聞くとLispあ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛あ゛ってなるんですが僕だけでしょうか? 理学部の人間と工学部の人間が割合水と油な側面があるように、理論的に綺麗だけど回りくどい関数型プログラミングと 短く手早く書けるけど汚く脂っこい物になりやすいオブジェクト指向との戦争がここにもまた。 ともかくstaticおじさんにはなりたくないので幾つになっても好奇心を持って生きなければ。 しかし本業に関してはわりとstaticな気がしてきました。いかんなぁ。脂っこいなぁ。

今回のコレなんてまさにDOTSを利用するとかなり高速化の見込めるアプリケーションだと思いますが、 HDRPとどうやって混在させたらいいのか手がかりすら無かったので断念しました。 ポストプロセスもC#から制御する方法がわからないし、調べてもPostProcessV2スタックなる HDRP以前の方法ばかり出てきて真似ても上手く動かないという。 進化が早いのは良いのですが、情報が古くなるのもまた早いのなんの Google先生もついてこれない勢いで進化し続けているとか凄い。 なぜかあまり言われていない気がするのですがDOTSってつまり「Unity2周目」ですよね 基本的な部分以外は物理エンジンや簡易的なグラフィック基盤からスタートして 全部DOTSベースに書き換えようという壮大なスケールの計画で、 良い意味でとんでもない時期に始めてしまったとワクワクしています。 こんなに規模の大きなシステムの何もかもがダイナミックに変わっていく様に 自分が巻き込まれて参加させてもらえるなんてなかなか無いことです。 とりあえず調べた範囲ではECSはソフトでハードな物語的にEntityでComponentなSystem ではなくてEntityとComponentとSystemの三つ巴であるという事だけ理解できました。 僕は工学畑どころか徒弟制度でありKKD(勘と経験と努力)でありの信奉者ですからあれこれ考えるよりも自分で手を動かして色々いじりたいんですが、 Unityのマイナーバージョンが1つ上がるだけで使えない関数やらクラスやらが増えていて先達の足跡すら踏めないという。

しかしこちらの山村先生によるサンプルコードを交えた解説動画を見るとなんだかやれそうな気がしてくるから不思議。 Systemが状態を一切持たず「処理する部分」として動き、「データ・状態」とは完全に切り分けられるというのは オブジェクト指向と真逆の発想ですが、並列化プログラミングとは相性が良いし、 なによりシステムのバグを発見しやすくなりそうです。なにしろシステム自体は状態を持ってないので レアな状況でしか起こらない見つかりづらいバグというものがぐっと減るはずです。 そして特に「GUIエディタが無いのですべてをプロシージャルに生成する必要がある」というくだりは 「俺の時代がきたか」と錯覚してしまいました。数秒後に「GameObjectからコンバートしましょう」となってガッカリしましたが。 ともあれ、手続き型プログラミング~構造化プログラミングの時代では犬が歩き回るアプリケーションを作ろうとすれば 「犬を歩かせる」というアプローチでアプリケーションを作っていたのがオブジェクト指向では「歩くことの出来る犬を作る」と変わりました。 DOTSで採用している関数型プログラミングでは「犬用ウォーキングマシンを作って犬を次々に乗せる」という感じでしょうか。 なんだかクララ・シューマンの書いたマズルカのような理解の仕方かもしれません(良くわからない例えだ) とりあえずHDRP・VFX Graph(一番重要)との共存方法やUnityAnimation,UnityPhysicsが固まるのが楽しみです。




Hayase Taku(SANDMAN)

戻る