「3DCG」カテゴリーアーカイブ

Unity用のリアルな地形を取得する2

Windowsの場合

基盤地図情報ビュアーをDLします.下記リンク先の下の方にあります.

http://fgd.gsi.go.jp/download/menu.php

起動し,新規プロジェクトを作成し,ダウンロードして(1度解凍された中にある)ZIPファイルをそのまま読み込みます.

ki7

 

設定>表示設定

ki9

 

DEM表示設定>連続段彩

ki8

 

設定を以下のように

ki11

 

以下のような標高画像となります(陰影があるとうまくいきません)

ki12

 

画像イメージの保存を選択し,書き出す範囲を選択します.高解像度のtiffが保存されます.

ki13

1ピクセルは5mのようですが,別のパタンでは4km=780ピクセルとなり,1ピクセルは5.1282mのようです.

Photoshopでトリミングします.正方形がベターです

画像を16bitに変換し,RGBからグレースケールに変換します.

解像度を2のべき乗+1にします.(512なら513,1024なら1025)

ki15

汎用フォーマットで保存します.設定は以下のように.

ki14

 

Unity用のリアルな地形を取得する1

国土地理院から公開されている地形を取得し,Unityで使用可能な地形に変換します.

 

国土地理院の基盤地図情報サイトへアクセスします

http://www.gsi.go.jp/kiban/

ダウンロードには会員になる必要がありますので,予め会員になっておきます.

ダウンロードファイル形式は数値標高モデルにします

ki2

5m =メッシュを選択

ki3

必要なエリアを選択します.

ki4

選択完了をクリック.

ki5

ダウンロードするファイルにチェックを入れ,まとめてダウンロードをクリックします.ログイン状態であればそのままダウンロードが始まります.

ki6

ダウンロードされたZIPファイルを解凍します.

Windowsの場合,解凍フォルダ内に別のZIPファイルがあります.これを解凍しないで使用します.

Macの場合,解凍フォルダ内にあるZIPフォルダを全て解凍します.

つづく

Unityでトゥーンシェーダ

なんだ,Wordpress動画いけるんやん.

UnityでToon Shaderです.

Mayaではこちら

Mayaと似ていて、MaterialのシェーダをToonにするというアプローチです.これ,良いのか悪いのか,,,そのMaterialを割り当てた物だけToonになるということは,全体をToonにするのはかなり手間がかかるんでは?とSIを懐かしむ。

ーー

UnityにEffectsパッケージを読み込みます.

Assets>Import Package >Effects

ut2

アセット内のStandard Assets内にEffects,その中にToonShadingが読み込まれたか確認します.

ut1

Materialを作成します.

Assets内で 右クリック>Create>Material

ut3

名前をtoon等に変更します.

ut7

InspectorのShaderを Tonn>Basic Outilineに変更します.

UT8

次に,ToonShader CubemapのテクスチャにToonLitを選択します.

ut9

Main ColorとOutiline Colorを変更し,このマテリアルをモデルにアサインします.

ut10

再生するとこんなかんじになります.

ut11

参考動画

【カスタマイズ】

奥は3階調,手前は4階調になっています.このようにカスタマイズすることも可能です.

ut13

まず,Photoshopで適当なグラ-デーションを作成します.

画像サイズは64×64ピクセルです

ut14

次にこの階調数を落としていきます.

イメージ>色調補正>ポスタリゼーション

UT15

できた画像を補正します.以下のようにしてみました.

ut16

Unityに読み込み,Texture Typeと,Mappingを変更します.

ut17

これをToonのマテリアルのToonShader Cubemapにアサインすれば独自の階調のToonが作成可能です.

Mayaでトゥーン

※Unityのトゥーンシェーダはこちら

Softimage(以下SI)の場合は,レンズシェーダやFxTreeでトゥーン表現をおこなったりましますが,Mayaの場合は個別のマテリアルっぽく使用するようです.

まず適当にモデルを配置します.

to1

 

レンダリングモードに変更,トゥーン>塗りつぶしシェーダの割り当て>シェーディングブライトネス2トーン をアサインします

TO2

 

アトリビュートエディタで色味を調整します

to3

 

次に,トゥーン>アウトラインの割り当て>新しいトゥーンアウトラインの割り当て を選択します.

to4

 

プロファイルカラーで線の色を変更できます.一時期のジブリが使用していたトレスラインのようにブラウンにしてみます.

to5

他のモデルにも同じ色を割り当てます.アウトラインは一度作成したラインがメニューバーに表示されますので,それを割り当てています.

to6

 

軽くレンダリングして例.オブジェクト同士が重なっている箇所のアウトラインがありません.

to7

 

そこで,アウトラインの設定に戻り,交差線にチェックをいれます.

to8

 

交差部分にもアウトラインが描かれました.

to9

 

少しチューニングした作例(下図)

to11

おつかれさまでした.

Photonについて

Photon(光子)の設定です

光子と飛ばして光りのふるまいを計算させる手法です.

GIを使用する場合,IBLならばHDR画像が光源になるのですが,そうでなくMaya内の光源(Point Lightとか)を使用する場合にはPhotonを飛ばします.

(未確認)IBLはPhoton出してると思います.

光源(この場合Pointlight)を選択し,コースティクスとグローバルイルミネーションの中にある設定を以下のように

photon7

最下部のコースティクスフォトン(コースティクスをONにしないと選択できない) GIフォトンは最初は少なめの9万くらいから調整しましょう.

レンダラーの設定でGIをONにします.下記も参考に.

photon2

フォトンが見えすぎています.

そこでFGをONにします.

photon3

 

真ん中の球をガラスの設定にし,屈折率を入れ,コースティクスをONにします.ライトのコースティクスの値を99万くらいにいsています(下図右).下記はrefraction 1.4

photon5

下記はrefraction 2.0

photon6

以上,Photonでした.

メンタルレイはチューニングに時間がかかりますが、仕上がりはとても綺麗です。一度見てしまうと中毒になります。

また、光源をArea Lightにするともう少し柔らかい影になると思いますが,計算時間が大幅にかかります.

チューニングを繰り返すことで大幅に時間がかかり、うまくいかずストレスも、、

《今週の標語》

メンタルレイをONにするたび、寿命が100日縮むよ。 (恐怖新聞)

UnityでIBL風

UnityでもIBL風の描画が可能です.

以前はCubeMapという6枚の画像を作成する必要がありましたが,現在はそこが自動化されているようです.

まず適当にオブジェクトを配置します.

マテリアルのMetalicの設定を多めにしたものをアサインしています.

unityibl1

 

つづいて,HDRファイルを読み込みます.色が変になっていますが,気にしないで.

unityibl2

 

読み込んだHDRファイルを選択し,インスペクタを調整します. Texture Typeは Cubemapにし,MappingはAutoでかまいません.設定後,Applyをクリックします.

unityibl3

 

つづいて, Asset>Create>Material マテリアルを作成し,名前を適当に決めます.この場合はmysky2にしています.

unityibl4

 

作成したMaterialを選択し,インスペクタを以下のように設定します.ShaderはSkybox/Cubemapに.Cubemapに読み込んだHDR画像を.

unityibl5

 

つづいて,現在のカメラのSkyboxの設定を変更します.Window>Lighting を選び,開いたインスペクタの Scenesのタブを選択し,Skyboxの項目にさきほど作成したマテリアルmysky2をいれます.

unityibl6

 

こんなかんじになります.左の球2つは,反射にボカしを入れて,質感を変えていますよ〜

unityibl8

 

この影についてはIBLではんくDirectional Lightの影を使用しています.そこまで複雑な計算はできないようですね.

追加

メタリックなもの以外にも効果はあります.(HDR設定入れ済み)

unityibl9tuning

左 ノーマルのスカイボックス,右 IBLとカメラエフェクト追加

(参考)

右図のカメラエフェクトの例

unityIBL10

おつかれさまでした.

あれをUnityで作ろう2

Unityを開き,

作成したCubeのFBXファイル,テクスチャ画像ノーマルマップ画像を読み込み,ゲーム画面に配置します.(この画像ではScale Factorを10に変更していますが,このあたりは各自設定によって変わります)

u06

作成した画像もよみこまれています.

u07

assetの中で 右クリック>Create Material で新規マテリアルを作成します.

そのマテリアルのインスペクタのAlbedoの左の□部分に,テクスチャ画像をドロップしてアサインします(下図)

u08

次に,Normal Mapの部分に,作成したノーマルマップ画像をドロップしてアサインします.(下図の紫の部分)

u09

作成したマテリアルをステージのCubeにドロップします.

u10

おしまい.

正確に作るにはAdobe Illustratorを使用してデザインし,Photoshopに出力し,NormalMapに変換するという流れになり,Mayaで作成したこれ,

m19

近い形も作成可能です.

Photoshop,Illsutratorは必須のツールです.

 

さて,ここで注意しなくてはならないのは

NormalMapは画像で法線方向を変えることで擬似的に立体感を出しているということです.

実際には6ポリゴンの立方体です.年輪のような細かいシワをゲームで表現したいとき,デバイスの能力が限られており,このような方法でごまかすことになります.

Mayaではディスプレイスメントマップという方法で,同様のことが可能です.こちらは実際にモデルを変形することもできます.

モデリングでいくのかNormalMapでいくのかは状況に応じて使い分けてください.

こうした細かいモデリングは,Mayaなどではなく,スカルプト系と言われるモデラーが使用されます.AutodeskだとMudBoxなどですね.

あれをUnityで作ろう1

あれをUnityで作ります.

まずはMayaでcubeを作成し,

UVの編集>UVテクスチャエディタ でテクスチャエディタを開き,

ポリゴン>UVのスナップショット でUV展開の様子を保存します

u01

 

このcubeを選択し,

ファイル>選択項目の書き出し をおこない,FBX形式で書き出してください.

u05

 

これをPhotoshopで開き,枠線を頼りに下図を作成します.

u02

実際に使用するファイルはこちらからダウンロードできます.(枠線は隠してることに注意)

 

次に,Photoshopで凹凸の画像をグレースケールで作成します.レイヤーの組み合わせなどは下図を参考に

u03

実際に使用するファイルはこちらからダウンロードできます.(実際にはこのファイルは使いません)

PhotoshopCCであればこれをノーマルマップ形式に変更します.MacであればCrazy Bump,Winであればノーマルマップ変換用ソフトでこれをノーマルマップに変換します.

下図はCrazyBumpでの編集の様子です.

u04

作成したノーマルマップを書き出します.

実際に使用するファイルはここからダウンロードできます.

つづいて,Unityでの作業です.

Autodeskライセンスサーバメモ

ライセンスファイルの扱いについてのメモ

・バージョン3年遡って利用可能は,契約の話でライセンス自体は1バージョンごとに取得する必要あり

・.licファイルを一つにまとめる場合は,PACKAGE 行か、INCREMENT行からコピーして結合させる.ばっちり起動できる

・Macの場合はMac用のライセンスサーバを立てるか,スタンドアロン用のシリアル番号(スタンドアロンでの上限が別にある)を取得する(ネットワークライセンス用のシリアル番号とは違う)

・Macで利用できるのSketchBook,Maya,Mudboxなど

http://tech.autodesk.jp/faq/faq/adsk_result_dd.asp?QA_ID=7235