Unityな日々(Unity Geek)

Unityで可視化アプリを開発するための試行錯誤の覚書

レンダリング

ウェブカメラの映像を表示する

ウェブカメラの映像をテクスチャとして貼り付ける ウェブカメラの動画を取得するには、WebCamTextureクラスを使う。 docs.unity3d.com 次は、ウェブカメラからの映像をメインテクスチャとして適用するスクリプト。このスクリプトを、たとえばPlaneオブジェク…

レンダリングの品質設定

レンダリングの品質設定は Edit-Project Settings-Quality でおこなう。 各パラメータを個別に設定もできるが、Levelsに"Fastest"~"Fantastic"までのプリセットがあり、それを選択することもできる。また、カスタム品質レベルを登録することも可能。 個人的…

ShaderLabの基礎:Culling & Depth Testingを理解する

参考:ShaderLab syntax: Culling & Depth Testing 英語の'cull'は「選びとる・間引く」という意味だが、CGの世界では「除外する」ととらえるとわかりすい。たとえば、「バックフェース・カリング」はポリゴンの裏面を表示しない処理になる。また、オブジェ…

ShaderLabの基礎:SubshaderとColor, Material, Lightingを理解する

1つのShaderには複数のSubshaderを記述できる。Unityは上からSubshaderを見ていき、現在のマシン(GraphicCard)に適用できるシェーダがあれば、それを適用する。 1つのSubshaderの中には、1つ以上のレンダリングパス(Pass)を指定できる。また、オプシ…

Unity Shaderの基本構造

シェーダーとはレンダリングを行うプログラム。Unityには80以上のビルトイン・シェーダーが組み込まれている。 自分でシェーダーを書く場合の基礎知識をまとめる。Unity Manual/Shaders Overview Shader全体はShderLabでラップされる。基本構造は次のとおり…

ShaderLab:Propertiesの種類

Properties{}ブロックの中に記述するPropertyは次の種類がある。 Float Range (Range):スライダで範囲指定 Color(Color):RGBAの4次元配列。各値は0~1 Texuture2D(2D):テクスチャ Rectangle(Rect): Cubemap(Cube):Cubemap Float(Float):不動小数点数 Ve…

Marmoset Skyshopを使う

Mamoset/SkyshopはUnity上でHDRIを利用できるライブラリ。クオリティの高い表現は定評がある。Tutorial: Introduction to Skyshop | Marmosetを参考に、Marmoset/Skyshopを触ってみる。まず当然のことだがSkyshopを購入し、unitypackageを読み込む必要がある…

オブジェクトの一部をマスクする

Unityで、GameObjectの一部にマスクをかけるには、DepthMaskを使う。 参考:Unity - Manual: ShaderLab syntax: SubShader Tags 1. Maskとなるオブジェクトの設定 1-1. 新規シェーダを作成。Maskシェーダのスクリプト(下記)を記述する。 Maskオブジェクト…

LineRendererを使う

例えば、空間上に引出線を描画する場合、線に相当するオブジェクトを置くよりも、LineRendererを使ったほうがスマート。1)Scriptの例 下の例は、Transformの配列(transforms)に格納した座標間にラインを描画するもの。 using UnityEngine; using System.Co…

Textureの設定

オブジェクトへのTextureの貼付は 1)AssetにTexure画像を読み込み、 2) その画像をMaterialに貼り、 3) そのMaterialをObjectに適用する と言う手順になる。この時、Texture画像の設定によってレンダリング後の見え方が違う。Assetで画像データを選択した状…

LightProbeを設定する

ライトプローブ(Light Probe)とは空間内にあるライトの情報を保存(ベイク)しておくテクニック。Lightmapは静的なオブジェクトには有効だが、動的なオブジェクトだと不自然さが生じる。Light ProbeはLight Mapほどの精度はないが、動的なオブジェクトも低…

スカイボックスとテライン、フォグを使う

1)テラインを作るTerrain Assetsのパッケージをインポートする。 すべてチェックの状態で"Import" プロジェクトビューに"New Terrain"ができる。これをヒエラルキービューにドラッグ シーンにテラインができる。テラインの調整はインスペクターウィンドウ…

水面を作る(Proのみ)

Assets-Import Package... - Water(Pro Only)を選択 すべてにチェックを入れて(デフォルトでそうなっている)、"Import"をクリック Projectビュー/Standard Assetsの下に、"Editor"と"Water(Pro Only)"を言うフォルダができる。 "Editor"と"Water(Pro Only)…

水面を作る

Assets-Import Package... - Water(Basic)を選択 すべてにチェックを入れて(デフォルトでそうなっている)、"Import"をクリック Projectビュー/Standard Assetsの下に、Water(Basic)を言うフォルダができる。 開くと Daylight Simple Water Nighttime Simpl…

Lightmappingを使う

次のシーンに対してLightmappingを行う。 Windows-Lightmappingで、Lightmappingウィンドウを開く レイアウト内に埋め込むと便利 ヒエラルキービューでLightmapを焼き付けたいオブジェクトを選択し、Lightmappingビューで"Lightmap Static"にチェックを入れ…