独り言日記(2015/03)
独り言日記
[OculusRift] 続続:鼻を入れてみる (2015/03/29)
鼻を入れたものと入れないもの(先日のデモプログラムでは鼻を画面下に押しやって見えない位置におきます)で、比較したりしてますが、何かしらの判断のものさしがないと体感でも判断が難しいなぁ。
なお、鼻があっても結構邪魔にならないですね。無意識に除外してしまっているというか。もし、これで酔い軽減に効果があるとすると革新なんだけど。
もうちと検証してみます。
[OculusRift] 続:鼻を入れてみる (2015/03/28)
http://www.ft-lab.jp/DK2_NoseTest/index.html
にて、検証用のプログラム(和室をOculus Rift(DK2)でウォークスルーできる)を用意してみました。Windows用です。
キーボード操作で、鼻の位置を変えたりサイズ変更したりできるようにしてます。
私のほうでも、果たして酔い緩和に有効か検証してみます。お時間のある方は遊んでみてください〜。
軽いシーンですので、描画速度の遅さによる酔いは少ないはず。個人的には、GamePadで方向転換するところも酔いのネックな気がします。
[OculusRift] 鼻を入れてみる (2015/03/28)
酔いやすいシーンと、酔いに弱い実験体(私)ならお任せあれ!ということで、人体実験検証中。
「画面に「鼻」があれば“VR酔い”しにくい?」
http://www.itmedia.co.jp/news/articles/1503/27/news147.html
桜花一門さん作の鼻データをお借りしてます。
http://ouka.s108.coreserver.jp/html/nose.html
twitterはやってないので、どこぞで共有しよう?
なお、シーンはGitHubに公開したUnity5プロジェクトの
を使ってます。
[Shade 3D] AOUtil ver.1.1.1公開されました (2015/03/25)
Shade 3Dマーケットプレイスで「AOUtil ver.1.1.1」にバージョンアップしたプラグインが公開されました。
http://shade3d.jp/store/marketplace/ft-lab/aoutil/aoutil.html
変更点は以下のとおりです。
- AO計算方式がRay Traceの場合に「減衰距離」を指定できるようにした
- 表面材質のマッピングレイヤの頂点カラーシェーダー名を「頂点カラー (AOUtil)」と名称変更
別途、新作プラグインも公開予定です。これらについてはまた情報を出していくことにします。
[Shade 3D] UVUtil ver.1.1.0申請しました (2015/03/24)
Shade 3Dマーケットプレイスに公開している「UVUtil」プラグインをver.1.1.0にバージョンアップ。申請しました。
また公開され次第連絡します。変更点は以下のとおりです。
- 「UVの再配置」「UV自動展開」で、面数が多いとクラッシュする問題を修正
- 「UV自動展開」で、UV上の面が重なる場合があった問題を修正
- 「UVの再配置」で、「すべての面」チェックボックスを追加
- 「UVの再配置」の計算速度アップ
面数が多いとクラッシュした問題は、12万ポリゴンくらいのを「UVの再配置」「UV自動展開」した場合に発生していました。
[Shade 3D] AOUtil ver.1.1.1申請しました (2015/03/23)
Shade 3Dマーケットプレイスに公開している「AOUtil」プラグインをver.1.1.1にバージョンアップ。申請しました。
また公開され次第連絡します。変更点は以下のとおりです。
- AO計算方式がRay Traceの場合に「減衰距離」を指定できるようにした
- 表面材質のマッピングレイヤの頂点カラーシェーダー名を「頂点カラー (AOUtil)」と名称変更
今回のバージョンアップ目的は、閉じた建築のようなシーンでも対応するようにするためのものです。GPU計算の「Disk-Area Approximation」ではすでに対応してますが、まじめ計算のほうもあわせたかったので。
近々でUVUtilもバージョンアップ予定。新しくSVGImporter/Exporterプラグインも登録予定となっています。
なお、SVGは、私の場合はInkscapeとの橋渡しが主なのですが、精密に数値指定でモデリングするためのきっかけ作りとなります。去年、映画館で「風立ちぬ」みてから零戦にはまりまして、その資料を集めたりしてました。結構機体の数値も出てるんですよね。では、これをモデリングするには?というのをテーマにしようかと。
[Unity5] AOテスト (2015/03/20)
Standard Shaderのみでの表現。テクスチャはSubstance PainterでAlbedo/Metallic/Normalをペイントして出力。AOマップはShade 3Dで作成。
あ、Substance Painter 1.3ではAOマップも作れるようになりましたね。また検証せねば。
↓AOなし
↓AOあり
↓AOあり + Image Effect(SSAO + Tonemapping)
SSAOについてはスクリーンベースのAOですが、ベタに採用すると暗さが目立ってしまいますのでほんの少しの効果としてつけてます。
Tonemappingは、全体を落ち着かせる効果(hdrなレンダリング画像からどの範囲を選び取るかの調整)。
Image Effectは、Editorで実行した(もしくはGame画面)でしか効かないと思ってたのですが、一部は編集中でも効くんですかね。SSAOはGame画面上でないと効かない感じではありました。
[Unity5] 和室ウォークスループロジェクト (2015/03/15)
GitHubの以下にアップしてみました。
上記Wikiページの先頭にリンクがありますので、そこからたどれます。なお、Unity5の標準Assetを使用してますので、メインメニューから
- [Assets]-[Import Package]-[Effects]
- [Assets]-[Import Package]-[Characters]
を選択して、ImageEffectsとCharactersのAssetをインポートするようにしてください。
Unity 5で動作します。Personal版(Free版)でも確認できます。
[Unity5] Light Probe/Reflection Probe (2015/03/15)
Unity 4.xでは、なんだかめんどくさくて手を出してなかった「Light Probe」(Pro限定機能)、Unity 5(Personal版ではFreeで使えるようになった!)ではえらいわかりやすくなってました。
室内の照明では必須ではありますね。映り込みは「Reflection Probe」を使用。
これは、特定範囲のライティング(輝度)や映り込みをあらかじめ計算しておき、近辺にある物体や動くキャラクタにリアルタイムに反映する機能になります。
オフラインレンダラ的に言えば、イラディアンスキャッシュみたいな機能ですね。
↓鏡台の反射はReflection Probeの効果
とりあえず、こんなところでGitHubにアップしてみることにします。
小物モデリングいろいろ (2015/03/15)
サンプル的なシーンを配置して検証する場合、いろいろモデリングデータがほしかったりするので量産中。
個人的な趣味もあるのですが、日本の昔ながらの小物/インテリアがいろいろほしかったりして、以前から作って貯蓄してたりします。
このUnity5のデモプロジェクト自身はGitHubに公開予定ですが、形状データはいくつかパックにしてShade 3Dのマーケットプレイスに、とりあえずはテンプレート的においておきたいので無料で公開しようかな。
個人的にはこういう小物がジャンル分けされていて、自由に(もしくは有料で) 購入できる場、を期待してたりする。
リアルタイム/ゲーム用だと
- 原点は(0, 0, 0)にして、1つまたは複数の形状をポリゴンメッシュで配置。これを1つのshdに保存する。
- Shade 3Dはポリゴンメッシュの中心の概念がないので、1つのshdに複数形状を入れて利用って、個人的には他ソフト連携目的だと使いにくいんです。
- 形状のサイズに注意。Shade 3Dだとmmで実寸に統一のこと。
- マテリアルを共有しやすくするためマスターサーフェスでユニークな「英語名」をつけておく
- AOマップを使う場合(staticなオブジェクトが多いと思うけど、動的なのでも使う可能性あり)は、これはマテリアルとしては形状と固有になるので形状ごとにマスターサーフェスを割り当てる必要あり。
など、いくつかルールを設けたほうがいいかな。
[Shade 3D] [Unity] AOの説明用動画 (2015/03/14)
AOって何?が、なんとなくShade 3Dの外の世界を知らないとわかりにくいかも、と思ったのでいくつか動画を作ってみました。
↓Shade 3DでAOマップを焼き付けた状態でウォークスルー
↓Unity5に持っていって、天井と壁のAOの影響を調整した
↓Unity5に持っていって、壁のAOの影響を調整した
[Unity] Unity5 Pro (2015/03/14)
私はUnity 5 Pro版のライセンスで使ってるのですが、最近出たPersonal版(Free)と機能は同じです。
太っ腹ですね。ですので、「ポリゴンメッシュでキャラクタを作成(マルチテクスチャ 編)」(http://shade3d.jp/store/marketplace/articles/polydecharacter/multitexture.html)で書いた内容は、全部無料で試せます。
Unity5のstatic形状のlightmap的なGI自動計算に関してはStandard Shaderでなくても使えますので、この連載記事でダウンロードできるAOマップを使えるShaderはそのまま利用できますよ。
作成中の和室のウォークスルーデモは、そのShaderを利用してたりします。(個人的には、AOマップについては 2つめのUVを使うことが多いので、Standard Shaderはちょっと厳しいんです)
さて、じゃあUnity 5 Pro版を買った方は損してるかというと、どうも救済策はとってくれてるようで。
「Unity Asset Store Level 11」というサービスが開始されてました。
http://japan.unity3d.com/blog/?p=2123
一部のAssetが無料、もしくは特価で購入できるようです。
木を購入して配置。SpeedTreeのですね。
ただ、木についてはstaticにするとGI計算が走って結構待たされるので、今後はlightmap staticだけ解除したほうがよいのだろうか、、、。
[Shade 3D] プラグインの予定 (2015/03/14)
AOUtilプラグイン
AOUtilプラグインはGPU対応しましたが、「減衰距離」のオプション、これはRayTrace方式でも使えたほうがいい気がしてます。
Unity5で和室のウォークスルーやってるんですが、建築の場合、閉じた空間になることも多く、この場合にAO計算すると減衰がないと真っ暗になってしまうのですよね。でも、「減衰距離」があれば打ち切りがあるので閉じた空間でも隅だけ暗くなります。
というのが結構使える場合もあるので、RayTrace方式でも「減衰距離」を使えるようにしようかと。
UVUtilプラグイン
- 「UVの再配置」機能で、選択面のみに適用させたいことがあったので対処予定
- 「UVの自動展開」機能で、面が重なる場合もあるのでこのあたり調整
SVG Importer/Exporter(新)
今月末には申請したいところ。
- Qtを使う重い場所は、今回は見送ろうと思います(SVG Import時に、SVGデータを画像にする機能で使ってました)
- 自由曲面での陰線は今回は見送り
モーション関連(新)
今のモーションウィンドウだと、ボーン制御が他ツールと異なって難儀する点があるので、ラッパー的なUIをプラグインで設けようと思ってます。モーションについては長期戦になるかと。
あ、検証用にMaya LT 2015(Subscription)購入しました。体験版で結構使ってたりするのですが、もうちょっと研究したかったので。
モーション関連のプラグインを、MMD Exporterと連携できるようにする予定です(足りない機能の補充を別プラグインで行います。今現在はブリッジ機能として、、、)。
他、木とかTerrainとかKinect関連とかいろいろありますが、今年徐々にですね〜。
Unity5の和室ウォークスルーのデモは、優先度高めでやってます。4月にはUnite 2015 TokyoというUnityの一大イベントがありますので、それまでには(別に何か発表するとかはないです、あくまでも気分的なマイルストーン)。
[Shade 3D] ポリゴンメッシュでキャラクタを作成(マルチテクスチャ 編) (2015/03/14)
Shade 3Dの「ポリゴンメッシュでキャラクタを作成(マルチテクスチャ 編)」の記事が公開されました。
http://shade3d.jp/store/marketplace/articles/polydecharacter/multitexture.html
FBXでデータをUnityで渡すときと、Unityに渡した際の複数テクスチャや複数UVを扱う方法を説明しました。ほとんどUnityの説明で、Shade 3D公式で書いていいのかという微妙なラインですが(^_^;;
さて、年末から書いていた「ポリゴンメッシュでキャラクタを作成」はこれで最終回です。読んでいただいた方、短い間でしたがありがとうございました。
Shade 3Dだけではなく、他のツールとの連携は今後も大事になってくると思います。その説明、というのはいままでなかなかなかったのですが、これで選択の幅が広まれば私としてもうれしいです。
また、何かプラグインを作ったりShade 3Dの魅力を伝えることがありましたら、ひょこっと書くことができればと思っております。
後、今月日記に書いていたUnity5での和室のウォークスルーについては、Unity5の魅力を存分に伝えたいということで連載記事ではさすがにまずい気がしましたので、別途でGitHubなどでプロジェクトソースごと公開できればと考えています。シーンやAOはShade 3Dで作ってますよ。建築に関しては、Shade 3Dではもっと詳しい方がいらっしゃるかと思いますので、「よし、おいちゃんが記事書いたる!」という方いらっしゃいましたら、マーケットプレイスでぜひ記事投稿などチャレンジいただければ。
このあたりのプッシュは幸いなことに個人プレーではなく、今後のShade 3D(本体側)にも少なからず影響を与えることにつながりますので(私も大いにフィードバックさせていただいております)、いろいろきっかけにできればと思います。
別途、マーケットプレイスに出す新プラグインなどの独り言日記に情報も書きましょうね。
[Unity] 続続:GI的な表現の検証中 (2015/03/09)
MaterialやShaderをいじらなくても、それなりに光の回り込みの表現ができてる感じですね。
↓Unity5でのリアルタイムのGI実験。光をさえぎったり平行光源の向きを変えただけ。
※ Enlightenの効果は、あくまでもUnity Editorでの編集中のGI処理。
Unity 4.xのlightmapよりも無茶はできる感じでベイクは意識しなくてもよさそう。ただ、条件としては
- staticの形状であること
- 背景のIBL(skybox)だけでは二次的な反射が表現できず?別途の光源配置(ここでは平行光源)が結構重要みたい
ディテールの細かいところは苦手みたいなので、AOは必須かも。上記3つの画像はAO Map加えてます。
↓AOはこんな感じ
なお、このUnity5のプロジェクトについてはサンプル的にShade 3Dのshdファイルとともに公開予定です。
[Unity] 続:GI的な表現の検証中 (2015/03/08)
Unity5のStandard Shaderでなくても、PBRは効いているような気がします。Metallicの反射やSmoothnessのざらつきは表現できないみたいだけど。これはEnlightenの機能なのかな?staticにすると効果がかかってました。Unity 4.xまでのlightmapみたいなのが、リアルタイムですね。
↓Unity5で調整中。AO MapのためにShaderを書いてマテリアルにしてます(Standard Shaderは未使用)。
上記の場合、障子の和紙の白が周囲に影響を与えるようでした。
[Unity] [UE4] GI的な表現の検証中 (2015/03/07)
Unity5とUE4ともに、PBRを使ったフォトリアルな表現がどこまでできるか検証中。AOがないと今一歩だったので、どちらもAO Mapは割り当ててます。
モデリングしたデータは、Diffuse用のテクスチャは1つめのUVを使用、AO Map用のテクスチャは2つめのUVを使用。
↓UE4では以下のようにマテリアルを組んでみました。左下の白いところの色を変えると、AOの影響を調整できます。
↓UE4での表示
Unity5のStandard Shaderでは、AOは1つめのUVに固定なのですね。これだと手間がかかるため、Shaderを作って対応。StandardではないShaderを書くとPBRからははずれて浮いてしまうかなと思ったのですが、反射以外はごまかせる?
↓Unity5での表示
地面との接地あたりはSSAOでごまかすかな。イメージエフェクトは今回のUnity5 Personal(Free版)でも使えるようになってます。
↓Unity5でのSSAOはこんな感じ
SSAOは、スクリーン上でのリアルタイムAO計算の技術です。完全に頼ることはできないですが、リアルさを高めるためのエフェクトとなりますね。
[Shade 3D] AOUtil ver.1.1 (2015/03/06)
Shade 3DのAO処理プラグイン「AOUtil」がver.1.1にバージョンアップしました。
http://shade3d.jp/store/marketplace/ft-lab/aoutil/aoutil.html
すでに購入されている方は、バージョンアップはずっと無償です。
今回の対応した点は以下のとおり。
- 頂点AOの計算で「裏面を考慮」の指定が効いていなかった問題を修正
- AO計算方式で「Disk-Area Approximation」に対応(既存の計算はRay Trace式)
- 「Disk-Area Approximation」計算方式の場合に、GPU計算に対応
特に、GPU計算は今回の目玉であります。
なお、ちょうどいいタイミングで連載記事もAOについて解説することになりました。
「ポリゴンメッシュでキャラクタを作成(AO 編)」
http://shade3d.jp/store/marketplace/articles/polydecharacter/ao.html
どんなことができるのか、というのは記事を読んでいただければと。AOは、昨今のUnity5やUE4でもまだまだ利用できる効果になります。
次回の記事では間に合うかどうか、Unity5に持っていって面白いことしましょうか。
[Unity] [UE4] AOを渡すテスト (2015/03/04)
ゲームエンジンが軒並み無料化で、GDC 2015は盛り上がってますね。こちらも早速。
↓Shade 3Dで以下のようにAO Mapを計算。
↓これを、本日公開されたUnity 5(Personal版は無料!)に持ってきてます。
Unity 5では、「Standard Shader」というのに対してAO Mapを適用できる場所が用意されてます。Unity 4.xではShaderを作るかSkyShopのようなアセットを使う必要があります。
↓これを、UE4(これも先日無料に!)にまずは形状だけ持ってきました。
↓AO Mapを適用(ただし、Diffuseに乗算しました。アンビエントオクルージョンのノードは存在するのですがまだ理解できてないので)。
↓こんな感じのマテリアルのノード構成にしてみました。「アンビエントオクルージョン」のところにテクスチャをダイレクトに入れると、Unity 5とは異なるかかり方だったのでこのようにしてます。
Unity 5もUE4もリアルタイムにGIを計算する機能があるのですが、これはまだきちんと掘れてません。
[Shade 3D] AO Mapの適用率を調整 (2015/03/01)
AOUtilプラグインのドキュメントでは、AO Mapを適用する場合はマッピングレイヤで
- イメージ/拡散反射 - 通常 (Diffuse)
- イメージ/拡散反射 - 乗算 (AO Map)
のように書いていたのですが、乗算時の「適用率」を下げても他ツールのようにAO Mapによる乗算の影が薄くなるわけじゃないのですよね。全体が暗くなってしまいます。
これの解決策がないか試行錯誤したところ、
- イメージ/拡散反射 - 通常 (AO Map)
- イメージ/拡散反射 - 乗算 (Diffuse)
のように順番を入れ替えて、AO Mapを「通常」の合成に、2層目でDiffuseのテクスチャを「乗算」合成にして、1層目のAO Mapを割り当てたレイヤの適用率を調整すると、意図したレンダリング結果になるようでした。
ちょっと変則的です。
↓たとえば、以下のようなAOを割り当て前の形状。
↓AO Mapを割り当て。ただし、影が濃い(これはAOUtil ver.1.1での「Disk-Area Approximation」でAOを近似計算したときに起きやすい)。
マッピングレイヤの1層目にAO Mapを「通常」合成で割り当て、2層目にDiffuseテクスチャを「乗算」合成で割り当て。1層目のAO Mapを割り当てたレイヤの適用率を若干下げる。
↓以下のようになりました。
Shade 3Dの表面材質のマッピングレイヤでは、Substance Painter/Substance Designerなどとはちょっと乗算の仕様が異なるため、ご注意ください。
また、UnityではDiffuseは1つ目のテクスチャ、AO Mapは2つ目のほうが自然な気がしますので(Shaderでどうとでもなるけど、それを意識して書かないといけない)、あくまでもこれはShade 3D内の回避策と考えていただければ。
「ポリゴンメッシュでキャラクタを作成」の連載記事ではこのことも書くようにします。
[Shade 3D] 続続:木について (2015/03/01)
記事向けのAO解説用にシーンを作ってたけど、導入のAOとしての説明ではちとわかりにくいのでボツにしたやつをせっかくなので出しておきます。
↓レイトレーシングで3秒。
なお、こういう木や草のある自然シーンではAOがないと表現が難しいかと思います。
Future's Laboratory 技術格納庫 2004-2013 Yutaka Yoshisaka.