Unity
検証環境 ビルドとキャッシュ catalog.hash crc 参考リンク 検証環境 Unity 2019.4.25f1 Addressables 1.18.4 Localization 1.0.0-pre.9 ビルドとキャッシュ アプリをビルドすると、StreamingAssets 配下に catalog.json と settings.json が生成される () s…
アーキテクチャや設計パターンを始める前に。 リーダビリティを確保して保守性を高める。 想定読者 元スライド スライド一覧 おまけ ReactivePorperty AsyncLazy 補足 SerializeField でどこまで参照関係を明確にするか アプリの機能をどこで実装するか エン…
目次 目次 検証環境 概要 インストール アセットを読み込む AssetDatabase を使って UnityEditor で読み込む Play Mode Script AssetBundle をローカルから読み込む AssetBundle をリモート(ローカルサーバー)から読み込む AssetBundle をリモート(Azure …
UPM manifest.json の dependencies に追加する。 UniRX "com.neuecc.unirx": "https://github.com/neuecc/UniRx.git?path=Assets/Plugins/UniRx/Scripts", UniTask "com.cysharp.unitask": "https://github.com/Cysharp/UniTask.git?path=src/UniTask/Asset…
目次 目次 フォントのインポート Windows系 Meiryo UI Yu Gothic UI Google Fonts Fontworks M+ ライセンス Font Asset を作成 Font を使用 表示例 Windows系 Google Fonts Fontworks 参考 関連記事 フォントのインポート 使用する日本語フォントを準備し、U…
目次 C# 4.0 C# 5.0 C# 6.0 C# 7.0 C# 7.1 C# 7.2 C# 7.3 C# 8.0 C# 9.0 Unity の対応表 Unity Runtime version (Equivalent) C# version Compiler 2017 .NET 3.5 C# 4.0 mcs (Mono) .NET 4.6 C# 6.0 mcs (Mono) 2018.1 / 2018.2 .NET 3.5 C# 4.0 mcs (Mono)…
対象のオブジェクトを中心に、スライダーの値でズームインしたりズームアウトするサンプルスクリプト。 スライダーの値に応じてカメラが移動する。 public class Zoomer: MonoBehaviour { public GameObject playerObject; public Slider zoomSlider; public…
対象のGameObjectを中心にカメラをスライダーの値で回転(三人称視点)させるサンプルスクリプト。 回転可能な角度を設定して正面からの回転角度に制限を設けている。 public GameObject playerObject; public Slider rotationSlider; public float maxAngle…
追記 (2020/11/14) 検証環境 補足 導入 FastEnum MessagePack 追記 (2020/11/14) FastEnum 1.6.0 がリリースされました。 1.5.x では System.Runtime.CompilerServices.Unsafe は 4.7.1 以上が必要でしたが、1.6.0 では 4.5.0 以上になっており、要求される…
原因 一時対処 参考 原因 最新の MessagePack for C# (執筆時のバージョンは 2.2.60 ) の MessagePack CodeGen ウィンドウでは、ジェネレートが動かなくなっています。中でdotnet tool コマンドを使っていますが、.NET Core ツールについては前回の記事を…
目次 目次 構築環境 補足 Unity のベース構築 gRPC のコード修正・ビルド Grpc.Core.dll grpc_csharp_ext.dll grpc_csharp_ext_dummy_stubs.c 動作確認 構築環境 MagicOnion.Client.Unity.unitypackage 3.0.12 MessagePack 2.2.60 MagicOnion.Hosting 3.0.13…
新規プロジェクト作成時に行うミニマムなお決まりの手順、設定など。(Legacy XR版) 検証環境 手順 オプション 検証環境 Unity:2019.4.3f1 MRTK:2.5.3 VisualStudio:2019 Device:HoloLens2 開発環境に必要なモジュールは以下を参照。 HoloLens2 の開発…
var head = GameObject.CreatePrimitive(PrimitiveType.Sphere); head.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f); head.transform.parent = transform; gazeLine = head.AddComponent<LineRenderer>(); gazeLine.material = new Material(Shader.Find("Sprite</linerenderer>…
前回の記事で WPF で Unity をホストする実装例を紹介しました。 参考にさせて頂いた記事では、続きに Unity の起動画面がWindow全体に表示されてしまう問題を対処しています。 yotiky.hatenablog.com 手元でも同じように全体に表示されたため、続きのコード…
実装例 こちらやここのコメント欄などが参考になりそうです。今回はQiitaの記事のコードを使わせて頂きました。 public class JobObject : IDisposable { public static JobObject CreateAsKillOnJobClose() { var job = new JobObject(); var jobInfo = new…
環境 Unity 2019.4.3f1 実装例 終了のイベントをフックして、非同期な後処理を呼びつつイベント自体はキャンセルし、後処理が終わったらそのままアプリが終了するようにします。 void Start() { Application.wantsToQuit += Application_wantsToQuit; } priv…
Unity 2019.3以降、「Unity as a Library」というAndroidやiOSのネイティブアプリに、Unityで作成したアプリをライブラリとして埋め込む機能が提供されています。 この中にはWindowsアプリケーションも含まれています。Windows では以下の3つの方法が紹介さ…
Unity 2019.3以降、「Unity as a Library」というAndroidやiOSのネイティブアプリに、Unityで作成したアプリをライブラリとして埋め込む機能が提供されています。 unity.com WebGL 自体はこの中に含まれないのですが、検証ついでに Unity で生成した WebGL …
今回は、System.Threading.Channels を Unity に導入した実装例です。 次の記事を参考にさせて頂きました。 qiita.com 前回の記事もご参考までに。 Unity - UniTask の Channel で生産者/消費者パターンを利用する - yotiky Tech Blog 検証環境 以下の環境で…
System.Threading.Channels の記事を拝見し、Unity では UniTask に Channel があると教えてもらったので試してみました。 非同期キューイングな処理を使いたいシーンはよくあるので、知っておくと便利です。 qiita.com System.Threading.Channels を導入す…
Windows オペレーティング システムのプロセス間通信 (IPC) を使う場合、System.Runtime.Remoting.Channels.Ipc 名前空間 を利用します。 ただし、適用対象が .NET Framework のみ (現在 2.0~4.8) であり、.NET Core や Unity などでは使えないため、参考リ…
今回は名前付きパイプの実装例です。 サンプルは1つ目の Console アプリで入力した文字列を、2つ目の Console アプリ、WPF アプリ、Unity でそれぞれ読み取って表示するものになります。 パイプはサーバー側で同じパイプ名を共有するサーバーインスタンスの…
Unity 2019.3以降、「Unity as a Library」というAndroidやiOSのネイティブアプリに、Unityで作成したアプリをライブラリとして埋め込む機能が提供されています。 この中にはWindowsアプリケーションも含まれています。Windows では以下の3つの方法が紹介さ…
前回の記事で MemoryMappedFile を使ったプロセス間通信の基本的な使い方を紹介しました。今回は MessagePack for C# を使ってシリアライズしたデータのやり取りについてです。 MessagePack for C# の使い方についてはこちらの記事も参考にしてみてください…
別々のプロセスで起動したアプリケーションやライブラリで相互に通信する方法のサンプルコードです。今回は共有メモリ、MemoryMappedFile を使います。 .NET Framework 4.0 以降に導入された技術のようです。 今回のサンプルは1つ目の Console アプリで入力…
目次 目次 オブジェクトを中心にカメラを回転させる 動くオブジェクトに追従する 回転可能な角度を制限する オブジェクトを中心にカメラを回転させる 対象のGameObjectを中心にカメラをマウスドラッグで回転(三人称視点)させるサンプルスクリプト。 public…
カメラをマウスドラッグで回転(一人称視点)させるサンプルスクリプト。 public class CameraRotator1stPersonPov : MonoBehaviour { public Vector2 rotationSpeed = new Vector2(0.1f, 0.1f); public bool reverse; private Camera mainCamera; private V…
対象のオブジェクトをドラッグで回転させるサンプルスクリプト。 public class ObjectRotator : MonoBehaviour { public GameObject targetObject; public Vector2 rotationSpeed = new Vector2(0.1f, 0.2f); public bool reverse; public float zoomSpeed =…
対象のオブジェクトをマウスホイールでズームインしたりズームアウトするサンプルスクリプト。 カメラを移動する場合。 public class Zoomer: MonoBehaviour { public float zoomSpeed = 1; private Camera mainCamera; void Start() { mainCamera = Camera.…
アタッチした GameObject をキーボードの「WSAD」のキーで移動するサンプルスクリプト。 上下移動と上下左右に回転できるように修正。(2021/12/02) public class KeyMover : MonoBehaviour { public float moveSpeed = 1; public float rotateSpeed = 35; …