夜風のMixedReality

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

Unity

ゼロから始めるUnityShader開発 _Time関数のヌマ

本日はshader枠です。 UnityでShaderを書く際にアニメーションなど時間軸を使いたい場合は_Timeを使用することが一般的です。 しかしながらこのTime関数をShaderLabで使用する際には注意が必要です。 〇_Time _TimeはUnityCG.cgincで定義されている変数で、S…

UnityEditor拡張を使用してUnityEditor起動時に表示されるウィンドウを実装する

本日はUnity枠です。 UnityではUnityEditor拡張を使用することでオリジナルのウィンドウやUnity内で使用できるツールを作成できます。 今回はUnityをUnityHubから立ち上げた際に起動するウィンドウを作っていきます。 〇起動時に表示されるウィンドウ アプリ…

Shaderってこんな感じ発表会 + IwakenLab公開ミーティングで登壇しました。

本日はイベント登壇枠です。 本日IkwakenLabの公開イベント』に参加、登壇しました。 今回は筆者のパートの内容をまとめていきます。 ※スライドと画像は後ほど更新します。 〇7分で誰でもかけるようになるUnityShader Part.1 〇Shaderの挫折ポイント 〇デバ…

ゼロから始めるUnityShader開発 第五章 複数のUVを切り替えて使用できるシェーダーを書く

本日はシェーダー枠です。 3Dモデルが持てる情報にUVがありますが、UVは複数持つことができます。 今回は任意に複数のUVを切り替えるシェーダーを書いていきます。 〇複数のUVを切り替えるシェーダー 通常頂点シェーダーに渡す情報を定義する構造体で3Dモ…

ゼロから始めるUnityシェーダー開発 第5章 Unityでボロノイ図を描くシェーダーを書く

本日はシェーダー学習枠です。 今回はボロノイ図を描くシェーダーを書いていきます。 〇ボロノイ図とは? ボロノイ図、ボロノイテクスチャとも呼ばれていますが、これは波の作成などに使用されるノイズテクスチャです。 座標上にランダムに割り当てた頂点同…

MagicLeap2 のUnityでの開発方法23年7月版 その② シーンの構成とビルド

本日はMagic Leap2枠です。 先日はMagicLeap2に向けてUnityプロジェクトを構築しました。 redhologerbera.hatenablog.com MagicLeap2ではUnity2022以降のバージョンを使用する必要があります。 Unity2021などのバージョンではSDK側で自動的にMagicLeapOneに…

MagicLeap2 のUnityでの開発方法 23年7月版 その① プロジェクトの構築

本日はMagicLeap2枠です。 今回はUnityでML2のアプリケーションを作成する手順を本日現在の最新版としてまとめていきます。 〇環境 ・Unity2022.3.4f1(LTS) ・Windows11PC ・MixedRealityToolkit2.8 ・MLHub ML2が登場した時点よりUnity2022以降を使用する…

ゼロから始めるUnityShader開発 第五章 頂点カラーを描画するシェーダーを書く

本日はシェーダー枠です。 先日MRGTのVertexColorsの機能についてみていきました。 今回はオリジナルのシェーダーで頂点カラーを描画するシェーダーを書いていきます。 〇頂点カラーを描画するシェーダー 頂点カラーを描画する最もシンプルなシェーダーは以…

MixedRealityToolkit GraphicsTools StandardShaderのVertex Colorの機能を読み解く その①

本日はMRGT枠です。 MixedRealityGraphicsToolsで提供されているStandardShaderでは様々な機能が提供されています。 今回はその中からVertex Colorsの機能を試していきます。 〇Vertex Colors Vertex Colorsは頂点カラーの意味でこれはメッシュが頂点カラー…

Unityで直接HLSLファイルを作成できるようなエディタ拡張を行う

本日はUnity枠です。 今回はエディタ拡張を使用してUnityのプロジェクトウィンドウを右クリックすることで表示できるメニューから直接hlslファイルを作成する機能を作成します。 〇HLSLファイルを生成する ShaderをUnityで生成するにあたってhlslファイルは…

ゼロから始めるUnityShader Unityでビルボードなシェーダーを書く

本日はShader学習枠です。 今回は実用的なシェーダーとして板ポリゴンに適応することで常にユーザの向きを向くビルボードなシェーダーを構築します。 〇ビルボード 〇回転 〇カメラ位置の取得と回転 〇コード一覧 〇ビルボード ビルボードは3DCGゲームで容量…

MixedRealityGraphicsTools StandardShaderでZ-fightingを修正する

本日はMRGT枠です。 〇Z-fightingとは? UntiyやBlenderなどの3Dソフトでアプリケーションを作成しているとあるオブジェクトの描画がちかちか見えてしまうことがあります。 これはZ-fightingと呼ばれる問題で、上記の例では赤い板からちらちらと青い板が見…

UnityHDPR×RayTracing×VRでDLSSを使用した場合にエディタがクラッシュする問題の解消

本日はUnity枠です。 先日UntiyでDLSSについて調べていきました。 DLSSはNVIDIAが開発しているNVIDIA製のグラフィックボードを使用したAIによるアップスケーリングの手法です。 redhologerbera.hatenablog.com 今回はトラブルに関してのシューティング記事に…

UnityのShaderGraphでのノーマルマップの扱いについてまとめる

本日はShader枠です。 筆者は基本的にコードを使用してShaderを構築することの方が多いですが、開発環境や状況によってShaderGraphを使用して構築する機会もあります。 ShaderGraphを使用する際にいつもノーマルマップの扱いを忘れてしまっていたので今回ま…

NVIDIAのDLSSについてメリット、デメリット、Untiyでの使用法について知らべる

本日はUnity枠です。 UnityのHDRPでアプリを作成している際にNVIDIAのDLSSについて調べたので今回まとめていきます。 〇DLSSとは? DLSS(DeepLarning Super Sampring)はNVIDIAが開発、発表したグラフィックに関する技術です。 基本的にRTXシリーズのグラボで…

Unityで選択したオブジェクトのポリゴン数をギズモとして表示する その④エディタウィンドウを閉じる際のイベント

本日はUnity枠です。 昨日はunityのシーンビューで現在選択中のメッシュのポリゴン数が表示されるような機能を作りました。 redhologerbera.hatenablog.com こちらの問題として一度エディタウィンドウを立ちげ設定を行い、閉じて再度エディタウィンドウを立…

Unityで選択したオブジェクトのポリゴン数をギズモとして表示する その③任意に機能をオンオフする

本日はUnity枠です。 先日はポリゴン数をシーンウィンドウのビューポート上でテキストとして表示しました。 しかし前回までの内容では常に表示されており、ビューポートの使い勝手が普段と変わってしまいますので今回は任意のタイミングでオンオフできるよう…

Unityで選択したオブジェクトのポリゴン数をギズモとして表示する その②太文字にする

本日はUnity枠です。昨日はUnityのシーンビューで選択したオブジェクトのポリゴン数が画面上に描画される機能を作りました。 今回は先日の機能を改良していきます。 〇太文字にする 先日の段階では文字が小さく見えにくい問題がありました。 こちらを見やす…

Unityで選択したオブジェクトのポリゴン数をギズモとして表示する

本日はUnity枠です。 今回はUnityのシーン上に配置した3Dモデルの持つポリゴン数をより分かりやすく表示するためにシーン上にギズモとしてポリゴン数を表示する機能を作っていきます。 〇ポリゴン数の取得 ポリゴン数はmeshFilterコンポーネントのtriangles…

GitHubCopilotでShaderを書く

本日はUnity枠です。 先日GitHub Copilotを導入しました。 redhologerbera.hatenablog.com 今回は応用してShaderを書いていきます。 〇GitHub Copilotが対応する言語 GitHub Copilotは現時点で以下の言語に対応しています。 ・Python ・JavaScript ・TypeScr…

GitHub Copilotを試す

本日はGitHub Copilotを試していきます。 〇GitHub Copilotとは? GitHub Copilotは23年に登場した、AIによるプログラムコードの自動生成を実現するための開発者向けツールです。 ChatGPTなどの開発を行っているOpenAIと数年前にMicrosoftによって買収されて…

UnityHDPRでSkyBoxを変える

本日はUnity枠です。 UnityHDRPではレンダリング回りがその他のレンダーパイプライン大きく異なっています。 今回はHDRPでのSkyBoxについて調べていきます。 〇SkyBoxの設定方法 ビルドインやURPの場合Lightingの設定からEnvironmentのSkyboxMaterialにSkyBo…

Blenderでサーバーを立ててUnityと通信を行う

本日はBlenderとUnityで通信を行います。 Blenderはモデリングや動画編集だけでなくPythonを使用してスクリプトを実行することができます。 今回はBlenderでサーバーを立てUntiy側で通信を行っていきます。 〇環境 ・Windows 11PC ×2 ・Blender3.4 ・Unity …

HoloLens2でRayTracedReflectionを試す

本日はHoloLensの表現実験枠です。 今回はHoloLens2でRayTracedReflectionを試していきます。 〇RayTracedReflectionとは? RayTracedReflectionはレイトレーシングを使用した反射を指します。 Unityでは様々な反射表現を行うことはできますが簡単にまとめる…

Unity HDRPでRayTracingを使用する RayTraced Reflection

本日はUnityのグラフィックに関する調査です。 近年では高性能グラボを搭載したPC向けにグラフィックを向上させるソリューションも多く出現しており、むしろコンソールゲーム機などではこのような技術が使用されています。 今回RayTracingを改めて勉強してい…

UnityXRHandsでPCVRでハンドトラッキングを使う

本日はUnity調査枠です。 Questをはじめ近年のスタンドアローンxRデバイスでは標準でユーザーの手を認識して操作することができるハンドトラッキングによるインプットがサポートされています。 しかしQuestをPCに接続してPCVRとして使用する場合などではハン…

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でアプリケーションを開発するうえで通常はカメラに対しての奥行で、奥から上書きされるように描画が行われることで、通常の物理空間同様に近くにあるオブジェクトほどほかのオブジェクトと重ならない見た目になります…