夜風のMixedReality

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

Unity

UnityでCharactorCreator製のキャラクターの瞳孔をコントロールする

本日はReallusion&Unity枠です。 〇環境 ・Windows11PC ・Unity2022.3.26f1 〇瞳孔 人間は様々な条件で瞳孔の大きさが変わります。 瞳孔は交感神経、副交感神経や環境の明るさ、見ているものの距離によって変わります。これは生理的な反応であり、意識して…

CharactorCreator4でUnity向けにキャラクターをエクスポートする その①

本日はReallusion枠です。 CharactorCreator4でUnityに向けてキャラクターモデルを使えるようにエクスポートしていきます。 〇環境 ・Windows11Pc ・CharactorCreator4 ・Unity6000.0.32f1 〇CC4からのエクスポート CharactorCreateor4でFBX形式でモデルをエ…

ComputeShaderでRenderTextureを用いた描画プログラムを作る その①

本日はComputeShader枠です。 〇ComputeShaderとは? ComputeShaderはその名の通りシェーダープログラムであり、GPU上で実行されますが、一般的なShaderと異なり、描画を目的としていません。 GPGPU(General Purpose GPU)の考え方に基づき、GPUの並列演算機…

ゼロから始めるUnityShader開発 第六章 Unity座標で定義される球を使った表現

本日はShader枠です。 今回はUnityでワールド空間上に任意の点を等間隔で指定し、描画するシェーダー表現を行います。 〇完成物 〇Unityの座標で定義される球 Unityの座標空間上に一定間隔で定義される球表現は以下の関数で行います。 float SphereGroupHard…

UnityでWindowsアプリ用にランタイムでopenFileDialogを使用する

本日はUnity枠です。 Unityではマルチプラットフォームのアプリを開発することができますが、今回はWindowsアプリ用にOpenFileDialogを使用していきます。 OpenFileDialogとは簡単に言うとあるファイルを外部パスから読み込むための選択ウィンドウです。 〇…

Unityで汎用的なデバッグツールを作る

本日はUnity枠です。 UntiyではC#言語を使用し、デバッグなどはコンソールウィンドウで行うことが一般的です。 この時、機能を確認するためにStart関数やUpdate関数でボタン入力を使用してデバッグを行うこともよくあります。 今回はこのボタンを押したらイ…

Unity×AppleVisionProでHandTrackingの座標を取得する

本日はVisionPro枠、Unity枠です。 先日紹介した通りAppleVisionProでの開発をUnityで行うために必要なPolySpatialがUnityEducationプログラムでもサポートされるようになりました。 redhologerbera.hatenablog.com 今回はハンドトラッキングの座標取得を行…

UnityでローカルLLMと通信をする

本日はAI・Unity枠です。 先日LMStudioを使用してローカル環境でLLMを使用していきました。 これによってネットワーク制限環境であっても無料でLLMを使用できます。 問題点としては現代の最新のGeminiやOpenAIのモデルに比べ制度が劣る点があげられますが、…

Zonos AIのAPIをUnityで使用する

本日はUnity、AI枠です。 一か月前に登場したTextToSpeechのZonosはAPIが提供されており、月に100分間の生成は無料で使用することができます。 このサイクルは月初めにリセットされると思っていたのですが、筆者環境ではまだリセットされておらず、もうすぐ…

Unity教育版ライセンスでのAppleVisionProの開発について

本日はUntiy、AppleVisionPro枠です。 MetaQuestやHoloLens同様にAppleVisionProもUnityを使用してアプリケーション開発を行うことができます。 しかしながらMetaQuestやHoloLensとの違いとしてAppleVisionProの場合はUnityProライセンス以上で提供されるPol…

UnityShaderで複数の頂点カラーを使用した処理を行う(失敗)

本日はモデリング枠です。 結論から記述すると失敗したモノの美貌として残していきます。 〇頂点カラー 頂点カラーとは3DCGの頂点(Vertex)が持つことができる色情報です。 マテリアルやテクスチャと異なり、頂点自体が持つことができるため、UVを必要とせず…

Unity iOSでアプリ内からWebサイトを開く

本日はUnity枠です。 現在筆者は大学で見習い教員として働いていますが、3DCGの指導方法について疑問を感じていました。 というのも前提として1年でBlenderもMayaもそれ以外のツールも含めバージョンや新機能が登場し、特にAI分野ではその傾向が顕著ですが…

Unity iOSアプリで音声認識を実装する その④特定のキーワードを認識してイベントを発火させる。

本日はApple枠です。 今回はiOSでの音声認識の実装です。 前回はタイムアウトの時間を調整しました。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com redhologerbera.hatenablog.com 今回は特定のキーワードを認識したときにUnityEventsを発…

Unity iOSアプリで音声認識を実装する その③タイムアウト時間を変更する

本日はApple枠です。 前回は最新で更新されているリポジトリのプラグインを使用することでiPhone/iPadで動く音声認識を実装しました。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com こちらの問題は、無音が続いた場合など自動的に音声認識…

Unity iOSアプリで音声認識を実装する その① 失敗

本日はUnity Apple枠です。 ふとiOSアプリで音声コマンドを使えるのかが気になったため調べていきます。 〇環境 ・Windows11PC ・Unity6000.0.32.f1 〇iOSで音声認識を行う iOSで音声認識を行う記事としていかがヒットしました。 https://qiita.com/noir_neo…

MRTK3でHandTrackingのモデルのマテリアルをスクリプトから変える

本日はMRTK3枠です。 〇MRTKでのHandTrackingの設定 先日はMRTK3のHandTrackingの見た目からマテリアルを変更することを行いました。 redhologerbera.hatenablog.com 今回はこのマテリアルを任意に変更していきます。 今回は以下のような任意のオブジェクト…

MRTK3でHandTrackingのモデルのマテリアルを変える

本日はMRTK3枠です。 MRTK3ではOpenXRHandを使用したHandTrackingをサポートしています。 今回はMRTKを使用している際のHandTrackingの見た目についてマテリアルの調整を見ていきます。 〇環境 ・Windows11PC ・Unity2022.3.26f1 ・URP 〇HandTrackingの設…

MRGTのMeshConbinerを用いてUnity内でメッシュの統合を行う その① 基本

本日はMRGT枠です。 〇環境 ・Microsoft MixedRealityToolkit GraphicsTools(以下MRGT) ・Windows11PC ・Unity6000.0.26f1 〇MeshConbinerとは? Mesh Combinerはその名の通りシーン内のメッシュを統合するツールです。 対象はシーン内に配置されている複数…

MRGTのTextureConbinerを使用してChannelMapを作成する

本日はMRGT枠です。 〇ChannelMapとは? MixedRealityGraphicsTools(以下MRGT)のStandardShaderではチャンネルマップと呼ばれる機能が搭載されています。 これはMetalnessMap,OcclusionMap,EmissionMap,RoughnessMapの4つの情報を1枚の画像にパッキングし…

UnityでMRGTを使用したマテリアルの使い方

本日はUnity,MRGT枠です。 今回は初歩的な記事としてUnityでのMRGTのマテリアルの使用法をまとめます。 〇環境 ・Unity2022.3.26f1 ・Windows11PC ・Microsoft GraphicsTools v8.0 〇マテリアルの作成と使用 3DCGの描画には造形情報であるポリゴン(頂点と辺…

ゼロから始めるUnityShader開発 第六章 セルルックなライティングを行う その③ハイライトの実装

本日はShader枠です。 現在はライティングについてのシェーダー構築をステップアップで見ています。 前回はShadowColorを追加して影の色を任意に変更できるようにしました。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com 今回はハイライト…

ゼロから始めるUnityShader開発 第六章 セルルックなライティングを行う その②シャドウカラーの実装

本日はShader枠です。 前回はライティングの一環としてセルルックなシェーダーを実装しました。 redhologerbera.hatenablog.com 前回の状態だと影が真っ黒になります。 今回は影の色を変更可能にします。 〇影の取得 影に色を付けるためにはまずは影のピクセ…

ゼロから始めるUnityShader開発 第六章 セルルックなライティングを行う その①

本日はShader枠です。 今回はShaderの 〇環境 ・Unity6000.0.2f1 ・Windows11PC 〇セルルックなライティング Unityのシェーダーの場合ライティングによる影の計算はNdotLが基本的な考え方です。 NdotLとはメッシュの法線=Normal、とライト=Lightのドット積に…

UnityComputeShaderで頂点一つ一つに対して独自の処理を実装する

本日はUnity Shader枠です。 昨年よりComputeShaderに力を入れ始めましたが、筆者の中でコンピュートシェーダーの挙動に関してまだ慣れない点があり、今回は検証も兼ねて実装します。 〇環境 ・Windows11PC ・Unity2022.3.6f1 〇頂点ごとに違う出力を与える …

ゼロから始めるUnityShader開発 第六章 ステンシルを用いたShader表現

本日はShader枠です。 〇環境 ・Windows11PC ・Unity6000.3.2f1 ・URP 〇ステンシルとは? Shaderにおけるステンシル(Stencil)は、特定のピクセルを描画するかどうかを制御するための機能です。 シェーダープログラムでは最終的な出力をRGBの色としていま…

MRTK3のUIのボードを半透明にする

2024年最後の記事はMRKT3,MRGT枠です。 MRTK3ではMRTKv2から引き継いだMicrosoft FluentSystemに基づいたUIコンポーネントが提供されています。 〇環境 ・Windows11PC ・Unity2022.3.6f1 〇MRTKのUIを半透明にする MRTK3ではUGUIに基づいたCanvas上に構成さ…

UnityComputeShaderで外部に定義した処理のHLSLファイルを使用する

本日はShader枠です。 通常のShaderでは型や関数の定義や一般的使用可能な処理は外部ファイルに定義し、includeすることで使いまわします。 今回はComputeShaderでも同様に外部ファイルに処理を記述して読み込むことが可能であるのか気になったので調べてい…

RenderDocを使用して描画しているモデルをBlenderに読み込む

本日はモデリング枠です。 先日Unityを使用したアプリケーション開発時にCanvasを使用したUIコンポーネントのメッシュをエクスポートしたいと思いましたが、Meshクラスを使用していない描画などでは、FBXExporterなどのツールが使用できないことがあります。…

MRTK3でHandRayを使用しない設定を行う

本日は久々のMRTK3枠です。 MixedRealityToolkit(MRTK)では、近距離のものは直接オブジェクトに触れるダイレクトタッチで選択し、遠くのオブジェクトはHandTrackingの手から出るビームを使用して選択します。 しかしながらアプリケーションで遠くのオブジェ…

Unityで画面の二本指タップを検知する

本日はUnity枠です。 筆者は今までXRデバイスかPCアプリケーションばかり開発していたのですが最近iPhoneアプリケーションの開発も進めています。 今回はスクリーンのタップを検知します。 〇環境 ・Windows11PC ・Surface LaptopStudio 2 ・iPhone12 Pro 〇…