yotiky Tech Blog

とあるエンジニアの備忘録

Unity

Unity - Timeline 解体新書

Timelineについての覚書です。 TL;DR 図を使い全体像を俯瞰的に把握することでTimelineのシルエットを掴む。 具体的な使い方とか実装方法は含まない。 カスタムトラックは関連性を図示し、Default Playables のWizardで生成されるコードとサンプルプロジェク…

Unity のパッケージマネージャーでプライベートリポジトリを使う時の環境設定(WindowsのFork)

環境 Windows Fork 手順 GitHubにSSHで接続する Fork で File > Configure SSH Keys... でウィンドウを開く。 「New SSH Key」でSSH Key を生成する。 ※ Forkで使うGit のInstanceを変更してるとこける 「Copy to clipboard」して、 https://github.com/sett…

Unity - ナビゲーション(誘導する)矢印を作成する

こんな感じのやつ。 GameObjectを作成する 空のゲームオブジェクトを作成してArrowsとする。 Arrows配下に2つCubeを作成する。 それぞれ以下のように設定するとL字に組み合わせることができる。 続いて2つ目の矢印。 XとYをそれぞれ2ずつずらす。 3つ目の矢…

Unity - プログレスリング(サークル、円形のゲージ)を作成する

タイマー式の進捗バーではなくサークルの作成方法。こんなやつ。 画像を用意する 透過タイプの白線の円の画像を用意する。 こちらのサイトで簡単に作ってダウンロードできます。 nureyon.com (白で透過だと見えないので、ブログの背景黒くしてます) GameOb…

Unity - XR Plugin Managementで非VRモードとしてEditorで実行する

Project Settings > XR Plug-in Management で「Initialize XR on Startup」のチェックボックスを外すとエディタで実行できる。 以下のサイトでスクリプトから切り替える方法などが紹介されている。 framesynthesis.jp また、Mock HMD Loaderを利用すると、…

OVR Advanced Settings で原点調整

SteamVRを使った環境で様々なユーティリティ機能が使えるOVR Advanced Settingsで、原点を調整する方法。 アプリ毎に組み込む必要がなく、アプリ使用中にもコントローラーを使って調整できるので便利。(開発にもプレイにも) github.com (画像の引用元) …

Unity - UniTaskを使ってAudioSouceの再生終了を待つ

public class AudioPlayer : MonoBehaviour { public AudioSource source; private CancellationTokenSource cancellation; public async UniTask Play() { if (cancellation != null) { cancellation.Cancel(); cancellation.Dispose(); cancellation = nul…

Unity - URP で TextMesh Pro を使ったときに文字がぼやけている場合の対処

SDFテキストがスケーリング情報を正しく認識しないたいめ、末尾にSSDが付いているスケーリング情報を必要としないShaderに変更する。 Distance Field Distance Field SSD 参考 Textmesh Pro with URP, is this a glitch? - Unity Forum

Unity - シーンビューにコライダーを表示する

Physics Debug Physics Debug ビジュアライザーによってシーンのコライダーを表示することができる。 docs.unity3d.com tsubakit1.hateblo.jp Window > Analysis > Physics Debugger で Physics Debug Window を開く。 表示設定や表示/非表示にするオブジェ…

Unity - シーンビューで任意のオブジェクトだけ選択できないようにする

Scene Picking シーンビューでオブジェクトの選択制御する機能として Scene Picking がUnity 2019.3で追加された。 Hierarchyウィンドウでオブジェクトを選択して、アイコンをクリックしてシーンビュー上で選択可否を切り替える。 docs.unity3d.com

Unity - シーンビューで任意のオブジェクトだけ表示する

Scene Visibility シーンビューで表示制御する機能として Scene Visibility がUnity 2019.1で追加された。 docs.unity3d.com Hierarchyウィンドウでオブジェクトを選択して、アイコンをクリックして表示/非表示を切り替える。ショートカットキーは「H」。 シ…

OpenXR Ecosystem Update July 2020(機械翻訳)

目次 目次 OpenXR Ecosystem Update July 2020 1 OpenXR Ecosystem Update 2 Khronos Standards for XR 3 OpenXR Ecosystem Updates 4 XR Portability 5 Widespread Industry Support 6 Broadening OpenXR 1.0 Availability 7 First Conformant OpenXR Devic…

VR開発環境の整理

目次 目次 全体 Unity XR Tech Stack OpenXR 規格 詳細 プラグイン管理ツール プラグイン/ツール XR Plug-in Management App Store 画面 XR Plug-in Management SteamVR Plugin Oculus Integration 実情 参考 全体 Unity XR Tech Stack Unityの構想 Unity XR…

Unity (Oculus Quest) - SteamVR Plugin でレーザーポインタでボタン入力(uGUI)

目次 目次 開発環境 前提 実装 参考 備考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Playerプ…

Unity (Oculus Quest) - SteamVR Plugin でレーザーポインターで物を引き寄せて掴む

目次 目次 開発環境 前提 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Playerプレハブ…

Unity (Oculus Quest) - SteamVR Plugin でレーザーポインターで物を掴む

目次 目次 開発環境 前提 実装 備考 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Playerプ…

Unity (Oculus Quest) - SteamVR Plugin でコントローラーのボタン入力を取得する3つの方法

目次 目次 開発環境 実装 Inspectorから設定する スクリプトから直接取得する SteamVR_Behaviour系のコンポーネントを使う 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 実装 Inspectorから設定す…

Unity (Oculus Quest) - SteamVR Plugin で手に追従するUI

目次 目次 開発環境 前提 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Canvas追加して…

Unity (Oculus Quest) - SteamVR Plugin でタッチしてボタン入力(uGUI)

目次 目次 開発環境 前提 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Canvasを追加す…

Unity (Oculus Quest) - SteamVR Plugin でコントローラーのボタン入力

目次 目次 開発環境 前提 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Window > Steam…

Unity (Oculus Quest) - SteamVR Plugin でコントローラーを使って移動する

目次 目次 開発環境 前提 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 前提 Playerプレハブを使うので前回の記事で準備ができていること。 yotiky.hatenablog.com 実装 Window > Steam…

Unity (Oculus Quest) - SteamVR Plugin でトラッキングする

目次 目次 開発環境 導入 実装 参考 開発環境 Quest1 Oculus Link + SteamVR Unity 2021.2.0b16.3733 Unity 2020.3.17f1 SteamVR Plugin 2.7.3 導入 Asset Store からSteamVR Pluginをインポート 推奨設定にするか聞かれるので適用する Project Settings > X…

Unity - Monobit MUN のクライアント実装

Monobit MUN のクライアント実装をした際の備忘録。 主に official document から重要そうなものの抜粋と補足。 サーバーサイドはノータッチなので省略。 公式ページ 検証環境 プログラミング・クイックスタート<シンプルなチャットの作成> プログラミング…

Unity - Localization を使ってみる

公式マニュアルにスタートガイドがあるのでTextureとStringについてのローカライズを試す。 Quick Start Guide | Localization | 1.0.0-pre.9 検証環境 Quick Start 0. Install 1. Create the Localization Settings 2. Create Locales 3. Choose a default …

Unity - ブレークポイントで停止した時にHierarchyの状態を確認したい

Visual Studio でブレークポイントでスクリプトを停止した場合、Unity Editor はフリーズしてしまうので Hierarchy は確認できない。 デバッグを続行すると次のブレークポイント、もしくは Editor が再生中の状態に移るので、手遅れになってしまう。 ブレー…

Unity - Monobit MRS のクライアント実装

Monobit MRS のクライアント実装をした際の備忘録。 サーバーサイドはノータッチなので省略。 公式ページ 検証環境 主なAPI 基本 その他 処理イメージ サンプルコード 補足 再接続処理 サンプルコード 実行ログ 公式ページ Monobit Revolution Server(MRS)…

Unity - Addressables (LocalLoad) で CRC チェックと Bundle Naming Mode の設定

検証環境 検証 LocalLoad まとめ 検証環境 Unity 2019.4.24f1 Addressables 1.18.9 Localization 1.0.0-pre.9 検証 LocalLoad を使用した時、CRCチェックと[Bundle Naming Mode]の設定を変更した場合の動作を検証する。 事前条件の状態でアセットをビルド後…

Unity - Localization の Addressables の挙動

検証環境 注意点 検証1 Asset ビルド時の挙動 LocalLoad RemoteLoad 検証2 RemoteLoad での動的更新 参考リンク 検証環境 Unity 2019.4.25f1 Addressables 1.18.9 Localization 1.0.0-pre.9 注意点 Addressables と Localization のバージョンの相性が悪いと…

Unity におけるアーキテクチャの予備知識

2つのパターン Unity でアーキテクチャ、設計を考える時は異なる2つのパターンがある。 イベント駆動型プログラミングと Game Loop パターンである。 イベント駆動型プログラミングはインタラクティブなシステム(GUI)で用いられるプログラミング手法である…

Unity - 設計パターンへの応用

設計パターンへの応用とDIコンテナ。 以下の記事の続きです。 未読の方は先に読まれることをおすすめします。 yotiky.hatenablog.com 想定読者 元スライド スライド一覧 想定読者 筆者は Unity 以前に別の .NET 実行環境での開発を多く行ってきた背景があり…