Unity3D – 9 – 馴染み処理

image788l

くだらない、と言えばくだらないことなのですが、ゲームの背景では際の馴染ませ処理が最も重要、と言っても過言ではないかと思います。

ハードやエンジンにより処理の仕方が変わってくるので、適切なものを選ぶことが重要になります。

 

今回実験したのは、二つのテクスチャとそれらが交わるテクスチャ、そして二枚のグレースケール画像をマスクとして使用し、馴染ませてみました。

最後にライトマップも乗せています。

英語の説明が良く分からないので、本当にこのノードのつなぎ方で良いのか分かりませんが、とにかく出来はしました。

多分間違ってはいないかと思います。自信はありませんが。まぁ、でてれば良いかな。というところです。

後問題なのはこの処理にどれだけの負荷がかかるか、ですね。

 

サンプルです。

コントロールはUnityのデフォルトFPSです。「w」前進、「s」後退、「a」左、「d」右、「スペース」ジャンプです。

何も処理をしていないので、地形が無いところに行くと永遠に落ち続けますのでご注意ください。

 

作り方は後日改めて、気が向いたら書いてみます。

 

そういえば、先日海外のゲーム会社で働いた経験のある方とお話しする機会がありました。

海外ではこうちまちました作り方はしていないようで、大抵のことは全自動で作られるそうです。

極端な話、ボタンを押すことが出来ればデザイナーになれるそうです。

なるほど、ShivaやUnityにある地形作成ツールはそういったものの廉価版、と言った感じなのでしょうか?

テクスチャなども映像と同じで、素材に手をほとんど加えないそうで、シェーダで表現するようです。

 

自分は現在のゲームのクオリティーを知らないのですが、行く行くはそうなるだろうなぁ、と感じていたものが日本以外ではすでに実行されているようで、

日本だけが取り残されている。とのことでした。

最近良くガラパゴス化、と言われていますがここでもなっているようです。

尤も長らく国を閉じていたんだから、仕方が無いだろう。と思います。

工学という視点からそのあたりの事を書いてみようと思っていたことを思い出しました。それも気が向いたら書いてみます。

 

しかし、ゲーム業界に居ながらゲームのトレンドを知らない。というのもまずいのかぁ、、ゲームよりCGツールをいじっている方が今は面白いなぁ。

Generic BRDF Shader 2

image787l

XSI5.1を経由することでModtoolに持ってゆくことが出来ました。

objの入力は制限があるようですが、XSIのシーンファイルはそのまま開けるようです。

久しぶりに5.1を起動させたら、ライセンスを聞かれてびっくりしましたが、インストールして登録はしていなかったようです。

 

5.1でもこのシェーダを使うことはできますが、ノードの接続先が「Texture_0」などのままで分かりにくいのでやめておきました。

ちなみにModtool7.5でもそうなりますが、読み込み直すと名前が適用されます。

これだけ使うテクスチャが多いと接続先が分からないのは致命的ですね、、

 

Unityに持ってゆくのは大変そうだなぁ、

Generic BRDF Shader

また3D人さんのサイトで教えていただきました。

リアルタイムシェーダのようです。早速試してみました。

結果はこんな感じです。

image784l

どうもパラメータの名前が間違っているような部分やら、機能しない部分があるように思います。

XSI用に作られていないからかもしれませんが、Mayaでもテストしてみました。職場でやったので画像がありません。

スクリプトファイルを開いてみてみると、初期値が設定されていますが、Mayaでは反映されていませんでした。

値を見ながらMayaで初期値を入力してみましたが、XSIとは同じになりませんでした。何とも不思議です。

まだそれ程試していないので、見落としている部分も否めません。

 

簡単に使うには少しコツがいるようで、大した事ではないのですが画像が必要です。

DummyImages

ファイルに、Dummy_White.tga、Dummy_Black.tga、Dummy_NM.tga、と記述されていたので、それらしきものを作りました。

XSI7.5ではプロジェクトにセットされている「Pictures」ディレクトリに入れておけば問題なかったのですが、ModToolでは

シェーダファイルと同じディレクトリに無いと読み込んでくれませんでした。

自動で読み込んでくれないと、自分で読み込ませることになります。ただ面倒なだけですが。

それでも、BRDF Sampler、とBRDF Sampler2にbrdf.tgaを読み込んでくれなかったので、手動で読み込みました。

 

折角なので、作ったモデルで表示してみよう、と思ったのですがModToolは入出力に制限がありました。残念。

image785l

あれ?このシェーダはUnityでも応用できそうな気がする。今度試してみます。

雑記43 – 優生学

優生学という学問の視点から物事を見てみたいと思います。

第一次世界大戦から第二次世界大戦にかけて流行した学問で、先進国の間で広がりました。

恐らく現代におけるエコロジーのようなものだったのかと思います。

 

提唱者はイギリス人のフランシス・ゴールトンという人で、「種の起源」を記したチャールズ・ダーウィンのいとこにあたる人です。

ダーウィンは著書の中で、自然淘汰が当然の自然環境において、人間の世界だけが高度な医療や福祉政策によって

不自然な状態になっていることを指摘します。

その考えを発展し、どうしてゆけば人間はより良く発展して行けるのか?という事を学問にしました。

 

最終的にはホロコースト(ユダヤ人の大量虐殺)に利用されてしまい、その後は衰退しましたが、生物学に統計学的手法を取り入れた事は評価されています。

近年では分子生物学や遺伝子工学の観点から見直しがされているようです。

 

この思想の面白いところは当時の保守派(右派)にもリベラル派(左派)にも大いに受け入れられたことだと思います。

これを勝手に量子力学的な解釈に当てはめてみました。

光の反射について以前書きましたが、量子力学では反射面全てにおいて光は反射しているものと仮定し、グリッドで区切られた各場所の

ベクトルを求め、そこから最終ベクトルを求めることで光の反射を記述しました。

それにより古典力学よりもより近似で光のふるまいを求めることができました。

そして、逆向きのベクトルを生成する箇所を削ることにより最終ベクトルはさらに強くなり、結果光の反射率は増します。

その応用技術がCD等の盤面で、一定に削られた反射面はそうではない反射面に比べて反射率が高くなる。という古典力学では説明ができない現象を説明できるようになりました。

 

この考えは保守派的な優生学の見方に繋がるかと思います。

削りとることで特定のベクトルを抽出し、最終ベクトルを求める。要するにホロコーストです。

光のふるまい、という自然現象の説明では確かにそれは理にかなっているように思いますが、人間には当てはまらなかったようです。

そしてリベラル派の考えるものをそれに当てはめると、ベクトルをねじ曲げて最終ベクトルを強化する。ということかと思います。

どうも光のふるまいではそちらのほうがより不自然です。

 

ここに存在するのも、人間の脳の過剰な介入。というものがあるように思います。

こうしなければならない、昔からこうだった。よく聞くセリフです。しかしそこで言われる昔とは大抵数十年、もしくは数百年です。

人類の歴史、地球の歴史、宇宙の歴史から比べるとほんの一瞬です。

 

右や左という概念が生まれたのは近代に入ってからで、そもそも議長から見て議会席が左右に分かれていた事に端を発します。

当時のヨーロッパでは中世の階級が生きており、それに対する反発、そして奴隷のように虐げられる労働者の力が加わり大きなうねりを生み出しました。

フロンティアスピリッツに燃え、力強くアメリカ大陸を開拓して行った当時のアメリカ人に対して、となりの芝生を羨んだ部分もあるかとも思います。

その反発する力というものは、当然ながらに当時の社会構造を破壊しようというもので、そしてまた当然のようにそれに対して反発が起こります。

 

なので、同じ軸で反発しあう力、という図式が出来るかと思います。

力が加わり、原点からプラスだかマイナスだかに点が動くと、元々原点にあったものがそれに対する斥力もしくは反発力のようなものが働きその反対方向に

向かう点が生成される。

ただ、歴史を見ていると面白い点は、その原点の位置、0の地点が時代の変遷と共にずれて行くように見えます。

 

反発する力、で思い出しましたが、以前捕鯨問題を書きました。

その問題を加速度的に進化させて行ったものにも反発力が入っていることを感じます。

人間原理主義、というものがあります。その名のとおりこの世の中は人間が生まれ、発展してゆくために出来たものである。という考えに立脚します。

以前紹介した「ポスト・ヒューマン」という本はそれに当たるかと思います。有名なホーキング博士もそのようです。

そして、自然原理主義という考えもあります。それは自然に対して人間が過度に手を入れるべきではない自然を定義します。

相反するようにも見えますが、実は同じ考えでもあります。

自然原理主義は人が手を加えてはいけない自然と、いくらでも手を加えて良い自然を生み出します。

なので、鯨は傷も付けてはならないが、牛や豚は遺伝子をいじろうとも、加工して賞味期限が過ぎたら廃棄することも構わない。というものです。

結局どちらも人間原理主義になります。

 

そう考えると、以前科学者が言っていた言葉をようやく理解できます。

現在の科学を老婆に例えて話していました。夜道の街灯の下で捜し物をしている老婆に、そこで何か落としたのですか?と聞くと、ここではないけど

大事な指輪を無くしてしまって、ここしか見えないからここで探している。というものでした。

なるほど、電磁波は波長によって様々な言い方がされますが、可視光線はその中の極々一部だ。

Unity3D – 8 – FurShader

image783l

 

探してみると、Unityにファーシェーダがありました。

こちらです。ページの上の方にある、「Fur_110_unity3.zip‎」と書かれたリンクをクリックするとダウンロードできます。

バージョン3に対応したもので、それ以前のバージョンを使っている場合は、こちらにあります。

フォーラムでは、このパッケージをインストールしてもピンク色のスフィアしか表示されない。という書き込みがありますが、

自分も同じ状態になりました。

どうもUnity3でそれ以前のバージョンのファーシェーダをインストールしてしまった事が原因のようです。

新たにプロジェクトを作ってパッケージを追加したら問題なく表示されました。

 

なんだかここのところ実験に明け暮れています。

お見せ出来るようなものは中々できませんが、今度まとめて書いてみます。

Unity3D – 7

image782l

久々のUnityです。

Shivaで出来たことがUnityでも出来るかテストしてみました。

 

UVを二つ持ち、シェーディングは行わず、タイリングさせてあるテクスチャのミップマップを解除する。というものです。

デフォルトであるライトマップ用のシェーダーでは乗算ではないようで、シェーダーツリーで作ってみました。

久しぶりに使ったので色々と時間がかかってしまいましたが、なんとか出来ました。

 

Shivaの場合は背景の影はライトマップで、キャラの影はリアルタイムシャドウが使えそうですが、

Unityは有料版でないとリアルタイムシャドウは使えないので、丸影になるかと思います。

 

さすがUnityの方が細かい設定ができます。

やっぱり色々と揃っているからUnityなのかなぁ、とまた揺れ動いています。

まぁ作りながら考えてみます。

Shiva3D – その3

image781l

なるほど、ライトマップは使えるようです。

 

カラーマップを二枚使うことができますが、二枚目はモデルにUVが二つある場合二つ目のものが使われるようです。

modoで焼き付けたライトマップを乗算で乗せてみました。

 

Shiva内で頂点カラーにオクルージョンを焼き付けることが出来るようなのですが、まだ成功してません。有料版だけなのかも知れません。

ライトマップが乗せられるなら要らないかなぁ、とも思います。

ちなみに外部から頂点カラーを焼き付けたデータを持ってきても反映されませんでした。XSIとmodoでテストしてみましたがどちらもダメでした。

 

それと、modoの頂点カラーの焼付け、ちょっと酷いように思います。

スムースされていない状態で焼き付けられ、その後カラーを編集することもできない様で、

そもそも折角あるペイントツール群も頂点カラーには対応していないようで、ちょっと残念です。

LeadWerks – ゲームエンジン

image778l

LeadWerksというゲームエンジンを見つけました。

199.95ドルだそうです。

 

マルチプラットフォームではないようで、ウィンドウズ専用になるようです。残念だ。

このエンジンの凄いところはポストエフェクトだけでなく、ゴッドレイまで付いてます。

さらに凄いことにパスで描いて道を作り、編集することができます。

image779l

さらに応用では川も作ることが出来るようです。もちろん後から編集できるだけでなく、

道を描いたところだけの凹凸も良い具合になくす機能もあります。

UnityもShivaもLeadwerksも地形はスカルプトで作るのが標準のようです。

さらにLeadwerksの凄いところは、16bitの地形データを入出力できるだけでなく、ノーマルの状態も確認しながら、

むしろノーマルを見ながら描くことができます。

image780l

 

ただ、なんと言いますか、硬派というか理不尽というか、、

このマテリアルエディタでどうやって思い通りのマテリアルが出来るのだろうか。と愕然としてしまったりします。

機能はあくまでもシンプルで、基本プログラムによるアクセスを前提としているようでVCのインストールから説明が始まります。

ちなみにOpenALが入っていないと動かないようです。

 

それと、fbxやColladaを中間ファイルとして使用するようですが、コンバータは有料版にしか付いてこないようです。残念。

 

今はUnityとShivaを比べてどちらで作ってゆこうか考え中です。

どちらも変に新しい機能があり、どちらも変に古い機能にアクセス出来ない。そんなジレンマがあります。

グラフィッカーなので、Shivaかなぁ、とちょっと傾きつつあります。

雑記42 – 自然と人工

久しぶりに雑記を書きます。

次にどう行った形で書いてゆこうか色々と迷っておりましたが、やはりもう一度本質的な部分に触れてみたいと思います。

 

度々ここで自然と人工、もしくは体と頭についての対比をしましたが、身近な例を挙げてもう少し考えてみたいと思います。

どうも人間は人工物、幾何学的な物、人間の頭から生み出されたものに対しての羨望があり、

それでいて自然物、複雑系、身体的なものに対しても憧れを抱きます。

 

それを街に当てはめてみると、身体的な欲望に訴えかける必要がある飲食店では、鉄筋コンクリート造りであっても

内装には木を多用し、店の看板は手書きで書かれることが多いように思います。

それに対して身体的なものを隠す必要がある店ではより幾何学的、無機質な形態を採るようです。

洋服屋や理髪店などはそういったものに属し、店の看板はより幾何学的なゴシック体で書かれることが多いように思います。

 

もちろん例外はあります。

 

その例外の端的な例は、以前テレビでビートたけしさんが仰っていましたが、

外国でフォーマルな飲食店に短パンで入ろうとしたそうです。もちろん入り口で止められます。

店員が言うには、足の甲にかかるくらいのズボンを履いてくるように言われたそうです。

要するに脛毛や足の肉感的な形状や質感は隠してください。という事だと思います。

そこで、たけしさんは短パンを下げ、言われたとおりに短パンの裾を足の甲にかかるくらいにして店に入ろうとしましたが、

慌てた店員は短パンでいいから、きちんと履いて入ってください。と無事に食事を済ませることができたそうです。

 

どうも人間は自然物に対して大きな恐れを抱くようです。

ただ隠しているだけであって、内容は変わらないにも関わらず取り繕おうとしてしまいます。

 

自分も含め都会に住む人間はより人工的に、脳的になる傾向があるようです。

都会という物自体もさんざん人間が苦しめられてきた自然から乖離するために生み出されたものであることを考えると当然の作用に感じます。

だからより身体的である子供は虐待され、老人は放置されます。

都会では50代60代の男性の孤独死が増えているそうで、それの後始末をする専門の会社が増えています。

 

古い社会では子供は宝として扱われ、老人も大切に扱われました。

脳的、金銭的に物事を考えると、無駄を省く傾向にあります。ですがどうも無駄をどんどん省いてゆくと何も無くなるのだろう。とも思います。

万人が納得する無駄。というものは本来有り得ないのではないでしょうか?

量子力学が全てを表現するとは思いませんが、あらぬ方向を向いたベクトルが存在することで光の挙動を近似で求められることを考えると

あながちそういったものも必要なのだろう。などと思ってしまいます。

 

先日通勤していると、電柱の根元に「バサッ」という音がして物が落ちてきたので、不思議に思い視線を向けると鳩の両羽とそれに付いた

体の一部が落ちていました。あぁ、それでバサッ、なのか、などと感心して見てしまいました。

以前テレビでカラスが鳩を食べる。というのを見ていたのでその類のものだろう、と思い電柱を見上げると案の定、一羽のカラスが肉を咥えて辺りを見回していました。

そのうちにそのカラスと目が会い、少しギョッとしてしまいました。

カラスは周りに敵がいないか警戒しているようでもあり、こちらに対して恐怖をいだいているようでもあり、食事の途中で落とした獲物を心配しているようでもあり(折角の手羽!)、

まん丸としたその黒い瞳はおどけているようでもあり、愛らしくもありました。

何となく苦笑いをしてそのまま立ち去りましたが、人は主観で自然を定義しようとします。ただ意味もなくそこにある。むしろ意味を見つけようとするのが人間だ。などと思いました。

 

昔物理の授業を受けた記憶があります。

理数系の苦手な自分がなぜそれを受けていたのかは、今となっては永遠の謎ですが、その授業で先生がいっていた一言を今でも覚えています。

「この世に存在する全ての物の運動を計測し、それを元に方程式を作ると未来に起こること全てが予測できる。」というものでした。

後になって知りましたが、17世紀の物理学者ラプラスという人が言った言葉です。

当時ニュートン力学の発展により、全てが予測可能なのではないか、という科学の奢りがありました。その後その奢りはさらに進んで、

予測可能ではなく、変更可能だ。などといった人もいます。ノン・フォイマンという人でした。

 

しかし、この世の全てを記録するにはそれを凌駕するインクと紙がなければ駄目だ。と反対する人もいました。

さらには、もしそれがあったとしても、書いたり媒体に記憶させる時点での量子的な運動も計測しなければならず、さらにそれを計算している運動も計算しなければいけない。

要はゼノンの逆理が発生します。

 

まぁ、要は良く分からないことは色々あるよ。というだけの話です。

どうも最近テレビの討論番組などを見ていると、未だにラプラス的なものの考え方をしている人が沢山いるんだなぁ、という印象を受けます。

養老孟司さん風にいえば、こうすればああなる式の考え。という事だと思います。

明日の約束、100%守れますか?隕石に当たって死ぬ人もいますけど。と聞いてみたくもなります。

科学は発展しましたが、明日の天気が当たる確率は大体70%~80%だそうです。下駄を投げても50%当たることを考えると微妙な気持ちになります。

 

長くなったので、今回はこの辺で。

Shiva3D – その2

image777l

ポストエフェクト、やはり面白いですね。DOFと絡めるとよく分からなくなるので、やめました。

UVアニメーションとビルボードを理解しました。

 

UVアニメにスペキュラマップが付いてきません。これは困った。

ビュー操作の中心点はポインタの下にあるオブジェクトになるようです。

中々オービットがうまくできないので困りましたがそれが分かると少し楽になります。

 

影がもう少し綺麗になってくれると良いのですが、やはり難しいのでしょうか?

もう少し調査が必要なようです。

アニメーションが親切に解説されております

レンダリング、ライティングの基本が分かります

図版が見やすい美術解剖書です