Unityで静止画の映像作品を作ってみる
一般的にUnityはゲームを作るためのソフトウェアですが、ここ近年ではアートや映画などで使用されるようになりました。
ということは、Unityさえ持っていれば誰でも映像作品が作れるということです。今回はそのテクニックの一例として、手軽に行える静止画…特にヘッダー画像の作成を行います。サクサクっとやっていきましょう。
1. Unityを画像レンダリングに使うことのメリットとデメリット
メリット
- 一般的なレイトレーシングを使用したレンダリングより高速
- 設計画面(ここではScene)での設計内容が即座に反映される
- 1フレームずつキャプチャするコードを書けば動画を作れる
- レイトレーシングと比べてGPUへの負荷が圧倒的に少ない
デメリット
- レイトレーシングよりも僅かに不正確
- ImageEffectsで色調補正やBloom効果を付与する必要がある
- ライトマップをBakeする時間がかかる←飛ばしてもOK
- GPUの世代や機能によって表現が制限される
これらのメリットとデメリットを踏まえた上で続行しましょう。
2. まずはシーンを作る
Assets Storeのものでも、自作のものでもいいのでまずは表示させたいものを置きましょう。
地面の上に机。そのまた上に私のハンドルネームであるGakuの文字を置きました。地面以外はBlenderで作成しております。
カメラの位置を指定した後のレンダリング結果です。大事な物が足りませんよね。
そう、Image Effectsです。光の露出を制御するBloom、環境遮蔽を再現するScreen Space Ambient Occlusion(SSAO)などです。これらのイメージエフェクトはUnityにバンドルされていますが、リアリティを追求する上ではあまり使えません。
そこで、現時点(2016/11/08)でリアリティのあるPost Processingと呼ばれるエフェクト集を利用し、Main Cameraに適用させていきましょう。
最新版のreleaseをダウンロードしましょう。現時点ではBeta 4です。
ダウンロードしたUnity-PostProcessing-*.unitypackageファイルを開き、全てImportします。
Importが完了したら、Main Cameraを開きます。InspectorのAdd Componentをクリックし、Effects > Post-Processing Behaviourをクリックします。
これ単体では動作しないので、Profileを作ります。Projectの任意の場所で右クリックし、Create > Post-Processing Profileをクリックします。名前を設定した後、Profileを開きます。好きなエフェクトを選んでいきましょう。私はこのように設定しました。
任意で値の変更が可能ですが、ここでは特に何もいじらないものとします。
※Screen Space Reflectionを使用する際はEdit→PlayerからRendering PathをDeferredに設定しましょう。
設定したProfileを、Main CameraのProfileボックスにドラッグ・アンド・ドロップします。んで、足りない照明やReflection Probeなどがあれば任意で足します。
ここでGameタブを見てみましょう。きれいな画面が出来上がりましたね。
あとはキャプチャしてやればOKです。お疲れ様でした。
開設のあいさつ
はじめまして。ブログ主のGakuです。
主にUnityのことを中心に記事を書いていきます。よろしくお願いします。