admin のすべての投稿

ボーンの設定(1)

3Dキャラクタにアニメーションをつけましょう

(参考情報)このモデルはAutodesk Character Generatorを使用して作成しています=>https://charactergenerator.autodesk.com/

まず,データを読み込んでください.データはこちらから(Chrome推奨)

  1. メニューセットリギングに変更し,(Maya2016からの機能)
    menyuset
  2. 人体を選択し,メニューバー>スケルトン>HumanIK を選択します.
    body2
  3. キャラクタコンソールキャラクタなしにし,スケルトンの作成をクリックしますbody3
  4. このままでは骨が見えませんので,シェーディング>X線表示を選択します.これによりシェーディング状態のままでもスケルトンの位置を把握しやすくなります
    sk8
  5. ヒエラルキーに作成されたCharactor1 _Referenceを選択し,全体を体の中心に移動させます
    body4
  6. つぎに背骨や首の位置を修正します
  7. それが終わったら次に左側の脚,腕,指を調整します.膝の部分は少し前にでるように調整
  8. 調整後,キャラクタコントロールのウィンドウへ移動し,プルダウンメニュー>編集>スケルトン>左>右へのミラーを選択.左の骨の位置が右側にもコピーされるbody5

つぎへ

 

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

Unityを起動し,Gameobject>Light>Directional Light で光源を追加します.

ki16

 

Gameobject>3D Object>Terrain で地形を追加します

ki17

 

TerrainのInspectorを確認します.歯車のタブをクリックし,下部のImport Rawをクリック

ki18

 

Rawファイルを選択し読み込みます.読み込みのインスペクタは,Terrain SizeのX,Yは実際の地形の大きさ,Yは画面内の最高点の高さを入力しImportをクリック.

ki19

 

地形が作成されました.お疲れ様です.

ki20

 

この地形にテクスチャを塗ったり,木を生やしたりなどできます.

 

地形の編集についてはこちらを確認してみてください.

なお,国土地理院のデータについては,完全に自由に使用できるわけではありませんので,使用できる範囲について注意してください.

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が作成可能です.

KinectV2設定メモ

Windowsアップデートの不調で1週間以上遅れていました。

KinectV2の動作についてのメモです。

「とりあえず動いた!」っていうときは画面の写真撮っておくと便利ですよ〜

キャラクターはHumanoidのConfigure済みです

ルートに設定します


の設定です。オフにしてるのは使いません。


2体あれば2人認識しても動きます。

Avator Controller のPlayer Indexを増分させてください。ただし、最初に認識したのが0、次に認識したのが1になります。人間の立つ位置は関係ありません。



スキニングしたモデルをFBXでインポートしています。今回はスキニングできてるもの使っています。

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などですね.