夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Unity

MixedRealityGraphicsToolsに新機能を提出する  MRGTシェーダー適応済みマテリアルを作成する。

本日はMRGT枠です。 今回は先日作成したMRGTシェーダーを適応したUnityのプロジェクトウィンドウを右クリックした際のCreateコマンドから生成する機能をMRGT本リポジトリに提出します。 redhologerbera.hatenablog.com 〇MixedRealityGraphicsToolsとは? Mi…

HoloLens 2でUnity HDRPの描画を行う

本日はHoloLens 2小ネタ枠です。 近年グラフィックに関する質は向上しており、実写と見間違えるようなCGも増えつつあります。 以前はこういったものはゲームなど自由視点の描画ではなく、映画や映像としての時間をかけたレンダリングであるプリレンダリング…

Holographic Remoting を実行時にバージョンエラーが発生した問題の対処

本日はHoloLens 2トラブルシューティングです。 HolographicRemotingを実行しようとした際にエラーが発生してしまっていました。今回はこれを修正していきます。 〇HolographicRemotingとは? HolographicRemotingはMixedRealityToolkitで提供されるHoloLens…

Unity MRTKシェーダー、MRGTシェーダーで最前面描画を行う。

本日はMRTK枠および小ネタです。 Unityでアプリケーションを開発するうえで通常はカメラに対しての奥行で、奥から上書きされるように描画が行われることで、通常の物理空間同様に近くにあるオブジェクトほどほかのオブジェクトと重ならない見た目になります…

Unity上でメッシュのUVをチェックするツール

本日はUnity枠です。 チーム開発をする際に筆者以外のエンジニアが実装した3Dモデルや自分が過去に作成した3DモデルのUVが気になるときがあります。 例えばテクスチャを差し替えて違う見た目を作りたいという場合や、テクスチャがなかったモデルにテクスチ…

Normcoreでマルチプレイを試す 導入

本日はUnity枠です。 先日マルチプレイを実現する方法としてPhotonのほかにNormcoreというサービスを知ったため今回挑戦していきます。 〇Normcoreとは? NormcoreはUnityで使用可能なマルチプレイソリューションです。 Photonと同様にユーザーはサーバー側…

Unityエディタ拡張でファイル構造のテンプレートを生成する

本日はUnity枠です。 Unityでは基本的にAssets内に3Dモデルやプレファブ、C#スクリプトを配置します。 この際に一般的にはフォルダ分けしてわかりやすいように格納するのですが筆者の場合ファイル整理が得意ではないため、コマンドでテンプレート化したフォ…

MRTK3のサンプルプロジェクト サンプルプロジェクトのビルド

本日はMRTK3枠です。 先日はMRTK3のサンプルプロジェクトを導入しました。 redhologerbera.hatenablog.com 今回はサンプルプロジェクトを実機で確認していきます。 〇環境 ・Unity2021.3.5f1 ・MRTK3 ・Windows 11PC 〇プラットフォームの変更 HoloLensに向…

Unityであるオブジェクトのすべての子オブジェクトの持つコライダーをオンオフにする

本日はUnity枠です。 Unityのアプリケーションでコライダーは時に思わぬバグを生む可能性があり、必要がないコライダーは削除すべきですが、デバッグやのちの開発のためにディアクティブにしておくということもよく使う手法です。 今回はエディタ拡張を使用…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その⑦ MeshClothを使用する

本日は昨日に引き続きMagicaCloth 2を調査していきます。 redhologerbera.hatenablog.com 〇クロスシュミレーションのタイプ MagicaCloth2では前回まで行っていたアーマーチュア(ボーン)を基準にクロスシュミレーションを行うBone ClothのほかにMesh Clothを…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その⑥ 指一本一本にコライダーを設定する

本日はUnity枠です 昨日に引き続きMagicaCloth2を触っていきます。 昨日は手にMagicaClothのコライダーをつけ、揺れ物を触れるようにしてきました。 redhologerbera.hatenablog.com 今回はより発展させていきます。 〇指一本一本にコライダーをつける 前回は…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その⑤ MRTK3のHandTrackingで髪を手で触れられるようにする

本日はUnity、HoloLens枠です。 前回の記事ではMagicaClothのコライダーを設定してきました。 redhologerbera.hatenablog.com 今回はxRアプリケーションの手にコライダーを付けて手で触れられるようにしていきます。 〇環境 今回は以下の環境で実行します。 …

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その④ コライダー

本日はUnity枠です。 現在Unityでリアルな揺れモノを実現するアセットであるMagica Cloth 2を触っています。 前回は自身のモデルにMagica Clothの設定を行いました。 今回はコライダーを設定していきます。 〇MagicaClothのコライダー MagicaClothではただ揺…

HoloLensの視野角を可視化するウィンドウを作成する。 その① ベースシェーダーを作る

本日はHoloLens枠です。 HoloLens 2のアプリケーションを初めての方に体験してもらう際にはデバイスの装着位置がずれている場合視野角の問題でホログラムを見ることができず、途切れて見えてしまうということがあります。 そのためアテンド側、アプリケーシ…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その③Magica Clothの使い方

本日は昨日に引き続きUnityのリアルな揺れモノアセットMagica Cloth 2を触っていきます。 redhologerbera.hatenablog.com 昨日はサンプルシーンをHoloLens 2実機で実行しました。 今回は自身のシーンでMagicaClothをセットアップしていきます。 〇MagicaClot…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その② HoloLens 2へのサンプルプロジェクトのビルド

本日はUnity枠です。 昨日Unityでリアルな揺れモノを実現するアセット、Magica Cloth 2を導入しました。 本日はHoloLens 2でサンプルシーンを実行していきます。 〇Magica Cloth 2とは? Magica Cloth 2は日本の作者がUnityAssetsStoreでリリースしている揺…

Unityでリアルな揺れモノを実現する MagicaCloth2をxRで動かす その① 導入

本日はUnity枠です。 先日筆者が好きなスマホゲームの開発秘話で揺れモノにMagicaClothというアセットを使用しているという話を聞いて興味を持っていたところMagicaCloth2という新しいバージョンがリリースされていました。 今回はこのMagicaCloth2を導入し…

頂点シェーダーでのオブジェクトの回転を実装する

本日はShader枠です。 グラフィックパイプラインの中で3Dオブジェクトは頂点シェーダーステージで描画画面に対しての座標などが処理され、フラグメントシェーダーでピクセル色が決められています。 redhologerbera.hatenablog.com redhologerbera.hatenablo…

UnityHDRPでWater Surface機能を使用する

本日はUnity枠です。 Unityではクラシックなレンダーパイプラインとは別にScriptableRenderPipeline(SRP)と呼ばれるグラフィックパイプラインをC#でカスタム可能なパッケージがあります。 このSRPの中でUnityが提供しているテンプレートが2種類あり、そのう…

UnityシェーダーでHex表現を導入する

本日はShader学習枠です。 〇Hexノード 今回は八角形の形状がタイリングされた見た目をシェーダーに組み込んでいきます。 今回シェーダーを使った面白い表現を探していた時に次の記事を見つけました。 r-ngtm.hatenablog.com 上記の記事ではShaderGraphを使…

Unityエディタ拡張を使用して現在開かれているシーンのすべてのMeshRendererから使用しているShaderベースでCastShadowを設定する

本日はUnity枠です。 昨日エディタ拡張を使用して現在開かれているシーンのすべてのMeshRendererから一斉にCastShadowをオンオフすることができる機能を作りました。 redhologerbera.hatenablog.com これは特にHoloLensなどのような影の描画を必要としないデ…

Unityエディタ拡張を使用して現在開かれているシーンのすべてのMeshRendererからCastShadowを設定する

本日はUnity枠です。 Unityではメッシュを描画する際は一般的にMeshRendererコンポーネントを使用しています。(アニメーションを行うメッシュなどはSkkinedMeshRendererなどが使用される場合もあります。) MeshRenererでは描画の設定として影を設定するこ…

MRGTShaderdShaderのCastShadowの実装を読み解く

本日はMRGT枠です。 Microsoft MixedRealityGraphicsToolsで提供されているGraphicsToolsStandardシェーダーはMixedRealtiyデバイス向け、特にMicrosoft HoloLensに最適なパフォーマンスを出すことを目的として開発されています。 Unityの描画処理の中で特に…

UnityEditor拡張でウィンドウ状にマテリアルを表示させる

本日はUnity枠です。 今回はUnityのEditor拡張機能を使用して作成可能なEditorWindowに表示されるUIでUnityのインスペクターウィンドウなどと同様にマテリアルを表示させていきます。 〇EditorWindowの作成 EditorWindowを表示させる最小コードは次のよう…

Unity上でChatGPTを使用してシェーダーを作成するAIShaderを試す。

本日はShader&AI枠です。 23年に入りChatGPTの普及が爆発的になっていますが、先日Unityのエディタ内でChatGPTを使用してシェーダーを作成するテストリポジトリが公開されました。 今回はこちらを試していきます。 〇ChatGPTとは? ChatGPTはDALL・E2やStab…

Unityプロジェクトウィンドウに追加したコマンドのレイアウトを変更する

本日は昨日に引き続きUnity枠です。 昨日はプロジェクトウィンドウを拡張してGraphicsToolsStandardシェーダー適応済みのマテリアルを直接生成する実装を行いました。 redhologerbera.hatenablog.com 昨日の段階では追加したコマンドは一番下に表示されUI的…

Unityプロジェクトウィンドウを拡張して直接GprahicsToolsStandardシェーダー適応済みのマテリアルを作成する

本日はMRGT調査枠です。 筆者は基本的にGraphicsToolsStandardShaderのマテリアルを愛用しています。 しかしUnityではマテリアルを作成する際にBuiltInパイプラインではStandard、URPではURP/Litシェーダーのマテリアルがデフォルトで作成されます。 毎回マ…

UnityEditor拡張でProjectWindowsを右クリックした際のコマンドをカスタマイズする

本日はUnity枠です。 〇ProjectWindowを右クリックした際のコマンド マテリアルやC#などUnityでUnityから提供されている新しいアセットを作成する場合はProjectウィンドウを右クリックしてコマンドから生成することが一般的です。 一部のパッケージでは独自…

Unityで特定のオブジェクトだけ明るく見えるシェーダーを作成する その② オクルージョンの実装

本日は昨日に引き続きシェーダーを紹介します。 〇Unityで特定のオブジェクトだけ明るく見えるシェーダーを作成する redhologerbera.hatenablog.com 昨日は特定のオブジェクトが明るく強調表現されるような表現を紹介しました。 この方法ではステンシルとい…

Unityで特定のオブジェクトだけ明るく見えるシェーダーを作成する

本日はMRGT&Shader枠です。 今回はMRGTを使用した特殊なエフェクト表現を紹介します。 例えば特定のオブジェクトに注目させたい場合などに全体的に描画を暗くしながらも特定のオブジェクトのみ通常の明るさで描画していきます。 〇環境 ・Unity2021.3.5f1 …