夜風のMixedReality

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

Unity

MagicaCloth 2のMesh Clothを使用する

本日はUnity枠です。 先日からUnity6を触っています。 Unityを触るにあたって取り急ぎサンプルプロジェクトを動かしてみるというのは昨日を知ることやバージョンによるエラーの違いを知れるためよく行っているのですが、今回も例のごとくユニティちゃんKAGUR…

Meta PresencePlatformを使用してUnityアプリケーションを作る その② Unity6を使用したサンプルシーンのビルド

本日はQuest枠です。 先日はPresencePlatformについて概要を触れました。 今回はサンプルシーンを実行します。 〇環境 ・Windows11PC ・Unity6000.0.2f1 〇PresencePlatformとは? PresencePaltformはMetaがXR体験を構築するために提供するツール群をまとめ…

Meta PresencePlatformを使用してUnityアプリケーションを作る その① PresencePlatformの概要

本日はMeta枠です。 Questの開発を行っていきます。 今回はまずPresencePlatformの概要を学んでいきます。 〇環境 ・Windows11PC ・MetaQuest3 〇PresencePlatformとは? PresencePlatformはMeta Quest上でXR体験を創造するために使うことができる一連のテク…

Unityでスライダーを使用する

本日はUnity枠です。 Unityではエンジン内蔵の機能を使用することで飛躍的なスピードでアプリケーションの開発が可能です。 その中でUIでスライダーが提供されています。 今回はこちらの使い方を見ていきます。 〇環境 ・Unity2022.3.21f1 ・Windows11PC 〇U…

UnityのInspectorウィンドウに表示されるスクリプトのGUIを拡張する

本日はUnity枠です。 Unityではスクリプトを記述した際にSerializefieldやPublicを付けた変数がインスペクターウィンドウにパラメータとして表示されます。 今回はこのGUI表示をカスタマイズしていきます。 〇環境 ・Windows11PC ・Unity2022.3.26f1 〇Unity…

Unityでカメラに対して常に見た目上の大きさが一定になるような実装

〇環境 ・Windows11Pc ・Unity2022.3.26f1 〇カメラに対して常に見た目上のスケールが一定になる実装 今回はギズモのようにスクリーン上に常に一定の大きさで見える実装を行います。 Unityではシーンビューなどで選択しているオブジェクトのギズモを見ること…

UnityEditor拡張でオブジェクトのレイアウトを行う機能を実装する その③UnityEditorウィンドウでEnum型のフィールドを定義する

本日はUnity枠です。 今回はObjectCollectionを開発していきます。 redhologerbera.hatenablog.com redhologerbera.hatenablog.com redhologerbera.hatenablog.com ここまでで次のように平面状にオブジェクトを配置する機能までができました。 今回は平面以…

UnityC#で特定のプログラムを起動する方法

本日はUntiy枠です。 〇環境 ・Unity 6000.2.1f1 ・Windwos11PC 〇UnityC#から特定の外部プログラムを起動する方法 ここでは例としてGitBashを立ち上げていきます。 次のようなコードとなります。 using UnityEngine; namespace HoloMoto.EasyGit.TestCode {…

UnityEditor拡張でオブジェクトのレイアウトを行う機能を実装する その②配置間隔の定義

本日はUnity枠です。 昨日作成したオブジェクトをレイアウトするエディタ拡張を調整していきます。 redhologerbera.hatenablog.com 〇環境 ・Windows 11PC ・Unity2022.3.21f1 〇間隔の調整 昨日の状態では次のように隙間なくレイアウトされていました。 今…

UnityEditor拡張でオブジェクトのレイアウトを行う機能を実装する

本日はUnity枠です。 Unityで開発を行う際に特にUIなどできれいにオブジェクトを配置したい、ということがあります。 MRTKv2ではObjectCollectionと呼ばれるコンポーネントが提供されており、ある規則に従って自由にオブジェクトのレイアウトを編集できまし…

Unity6(プレビュー版)を導入する

本日はUntiy枠です。 UnityではUnity5以降Unity2016,~2023まで各リリース年のバージョンが名付けられるようになっていました。 しかし最新型のUnityはUnity6というバージョンになります。 先日よりUntiy6のダウンロードが可能となったため今回はこちらを導入…

Unityでワイヤフレーム表示に対応する新しいメッシュを作る その① Editor拡張

本日はUnity枠です。 UnityではAndorido、Windows、iOS、Switchなど様々なプラットフォームに対応しています。 これによって同一のツールで様々なプラットフォームに向けてアプリケーションを展開できる反面、弊害として先日見たようにプラットフォームによ…

UnityEditor拡張でエディタウィンドウにゲームオブジェクトをアタッチするフィールドを定義する

本日はUnity枠です。 UnityEditor拡張について学んだことがあるので記事にします。 〇環境 ・Windows11PC ・Unity2022.3.26f1 〇UnityEditorWindowの実装 Unityのエディタ拡張でウィンドウを表示するには次のようなコードを実行します。 using System.Collec…

iPhoneとジオメトリシェーダー

本日はシェーダー枠です。 先日PC上では実行可能なもののiPhone上でUnityアプリをデプロイして実行したところiPhone上ではピンクのシェーダーエラーが発生することがありました。 調べたところジオメトリシェーダーを含んでいるシェーダーがiPhone上で実行で…

Unityで任意の2点の座標を結ぶようにシリンダーオブジェクトを配置する

本日はUnity枠です。 Unityで線を再現する際はLineRendererなどを使用することができます。 しかし今回は筆者の都合でシリンダーを使用して2点の座標を結ぶようにオブジェクトを配置してラインを引きたかったため今回は任意の2点を結ぶようにシリンダーオブ…

Unityでレイが当たっているポリゴンの法線ベクトルを取得する

本日はUnity枠です。 Unityではレイキャストと呼ばれる機能を使用することである地点からあるベクトルで不可視のビームを飛ばし、途中ぶつかったコライダーの情報を取得できます。 今回はこの機能を使用してUnityでレイが当たっているポリゴンの法線ベクトル…

Unityで調整可能なビルボードを作る

本日はUnity枠です。 初級編にはなりますが、久しぶりにUntiyを触って忘れてしまっていたところもあるでサイド勉強していきます。 〇Billboardとは? ビルボードは通常板ポリゴンのような平面オブジェクトに使用され、その向きが常にカメラ(ユーザー)を向…

UnityHubで新規プロジェクトを作成時にパスの文字数制限エラーが発生する問題

本日はUntiy枠です。 Unityでプロジェクトを作成しようとしたときにバグと思われる問題に遭遇したため記します。 〇環境 ・Windows11 ・UnityHub 3.8.0 ・Unity 2022.3.26f1 〇発生した問題 今回は新規でプロジェクトを立ち上げようとした際に発生しました。…

ゼロから始めるUnityShader開発 第五章 オブジェクトを回転させるシェーダー2 回転軸を変更する

本日はシェーダー枠です。 以前回転するシェーダーを書きました。 redhologerbera.hatenablog.com このシェーダーでは回転行列を使用して頂点シェーダー内でオブジェクトを構成する頂点を回転させました。 今回はこの回転軸を任意に変更可能にしていきます。…

ゼロから始めるUnityShader開発 第九章 スケーリング行列

本日はシェーダー枠です。 前回は平行移動行列を見ていきました。 平行移動行列は座標変換において使用される行列で、イメージとしてはワールド座標系に位置するあるオブジェクトの子オブジェクトを移動させる際などに使用される行列です。 3Dグラフィック…

ゼロから始めるUnityShader開発 第九章  座標変換と回転行列

本日はShader枠です。 昨日はUnityのシェーダーで頂点シェーダーをしようして回転を行うアニメーションを実装しました。 redhologerbera.hatenablog.com シェーダーで回転を行うことはCPUで実行されるスクリプトのUpdate関数を使用しないため比較的軽量とい…

ゼロから始めるUnityShader開発 第五章 オブジェクトを回転させるシェーダー

本日はShader学習枠です。 今回は頂点シェーダーを利用してオブジェクトを回転させます。 頂点シェーダーステージでは3Dデータから頂点をスクリーン座標に直した計算が行われています。 つまり座標変換に際してバイアスをかけることでメッシュの形状を変え…

Unityでフェイズシフトシェーダーをつくる その4 ShaderLabでの実装

本日はShader枠です。 先日ShaderGraphでガンダムSEEDの作品中に登場する架空の技術であるフェイズシフト装甲のシェーダーを作成しました。 redhologerbera.hatenablog.com 本日は、ShaderLabのコードで再現していきます。 〇ShaderLabでフェイズシフトシェ…

Unityでフェイズシフトシェーダーを作る その3 カラーノイズをつける

本日は昨日に引き続きUnityShader枠です。 昨日に引き続いてフェイズシフト装甲のシェーダーを作成します。 昨日はむらをつけて展開するようにグレースケールを変異させる機能を実装しました。 今回は仕上げとして展開時に入る色のノイズを表現します。 〇色…

Unityでフェイズシフトシェーダーを作る その2

本日は昨日に引き続きフェイズシフト装甲をUnityのシェーダーで再現していきます。 昨日は一番の機能となるグレースケールに対応しました。 redhologerbera.hatenablog.com 〇フェイズシフト展開時のノイズ フェイズシフト装甲を展開する際は一様に展開する…

Unityでフェイズシフトシェーダーを作る その1

本日はシェーダー枠です。 先日筆者が大好きなアニメのガンダムシリーズの最新作「機動戦士ガンダムSEED FREEDOM」の映画を見に行きました。 ほかのシリーズと世界戦が違い独自の設定があるSEEDシリーズですが独特な設定の一つとしてフェイズシフト装甲とい…

iPhoneで基本的なARアプリを作る その② UnityのビルドとXCodeで実機にインストール

本日はUnity枠です。 昨日に引き続きARFoundationを使用した基本的なARアプリを作成していきます。 redhologerbera.hatenablog.com 環境やUnityでのARFoundationを使用したプロジェクト構築はその1の記事を参考にしてください。 〇Unityでのビルド ①Unityの…

iphoneでARカメラの向きをスクリプトから変更する

本日はApple枠です。 先日は ARKitの機能を使用して顔を検知しました。 redhologerbera.hatenablog.com この際にiPhoneに表示されるカメラの向きはインカメラ(スクリーン側)を使用していましたが、今回は動的にスクリプトでアウトカメラに切り替える方法を…

HoloLensのイベントをiPhoneからリモートで実行する HoloLens アドベントカレンダー4日目

本日はHoloLens枠です。 〇HoloLensアドベントカレンダー2023とは? HoloLensアドベントカレンダーとは毎年12月に私の師である、がちもとさんを中心に開催されているアドベントカレンダー企画になります。 qiita.com 〇iPhoneからHoloLensアプリの関数を実行…

MRTK3のシーンを実行する際のプロファイルが検知できないエラー バグ報告をする HoloLens2023アドベントカレンダー 2日目

本日はMRTK枠です。 またHoloLens2023アドベントカレンダー2023 2日目の記事でもあります。 本来は別の内容を調査する良い手ではあったのですがMRTK3を試している際に謎の不具合が発生し作業が止まってしまっていたため今回はこちらを調査していきます。 〇H…