Unity

UnityでReadOnly状態AnimationClipをyamlファイルから変更してEventを追加する

初めに 開発環境 Animationにイベントを追加 アニメーションクリップのyamlの確認 アニメーションイベントのyaml定義の確認 任意の時間にイベントを追加 参考サイト 初めに UnityでAnimation Clipを使ってアニメーションを制御することはよくあります。しか…

Unity Sentisを使ってonnxでデバイスのみで動くSTTを実装する

初めに Demo 開発環境 ライブラリの準備 モデルの設定 スクリプトと音声の設定 実行 初めに 以下のモデルを触ってみます huggingface.co Demo 以下のように動作します!動画内の音声は、huggingfaceに含まれているサンプル音声になります www.youtube.com ま…

Unity Sentisを使ってonnxでデバイスのみで動くLLMを実装する

初めに Demo 開発環境 ライブラリのインストール モデルのダウンロード モデルとスクリプトのUnityへの配置 Unity側でLLMの実行 初めに Unityが Unity Sentisで動く phi 1.5のONNXのモデルを公開しているので、こちらを動かしていきます huggingface.co (注)…

Unity Sentisを使ってonnxでデバイスのみで動くTTSを実装する

初めに Demo 開発環境 ライブラリのインストール モデルの設定 スクリプトの設定 TTSの実行と再生 初めに UnityがUnitySentisを使ってTTSを実装できるようなサンプル?モデルを公開しているので、動かしていきます huggingface.co Demo デモでは、文字を入力…

つくよみちゃんモデル(のほしお式)をUnityでロードしたときにピンクになる対応

環境 問題 解決方法 環境 Unity 2023.2.4f1 VRM v0.117 つくよみちゃん 3Dモデル のほしお式 manifest.jsonに以下を追加済み "com.vrmc.vrmshaders": "https://github.com/vrm-c/UniVRM.git?path=/Assets/VRMShaders#v0.117.0", "com.vrmc.gltf": "https://g…

GameCIを使ってUnityのCI/CD環境をGitHubActions上に構築する

はじめに Demo 環境 ライセンス認証 ビルドの自動化 テストの自動化 はじめに 昔にGameCIを使ってGitHub Actions上でUnityのテストやビルドの自動化をする記事を書きました。しかし、UnityのLicense認証周りが変わったことで以下では動かなくなっていたため…

Unityでllama.cpp(calm2)をサーバーAPIとしてチャット機能を作る

はじめに 環境 準備 cmakeの環境作成 llama.cppの環境作成 モデルのダウンロード llama.cppの動作確認 llama.cppをサーバーとして実行 Unityに必要なライブラリの追加 レスポンスのクラスの作成 Unityからllama.cppに対してAPIを叩く llama.cppのGPUオフロー…

GitHub ActionsでDOTweenのWithCancellationが定義されていないというエラーが出たときの確認項目【Unity】【GitHubActions】

はじめに 環境 開発環境およびライブラリ ビルド環境 エラー内容 対応方法 はじめに unity1weekで開発している中で、GitHub ActionsでのCD中にDOTween × UniTaskでエラーが出たので、確認項目及び解決方法です 環境 開発環境およびライブラリ Unity2022.3.7f…

ProjectSettingsからマウスカーソルを設定する【Unity】

初めに 開発環境 詳細 画像の準備 マウスカーソルの画像の設定 初めに 以下のようにUnity にてマウスカーソルを変更したいときにProjectSettingだけで変更する方法です。 開発環境 Unity 2022.2.5f1 詳細 画像の準備 任意の画像をUnityにimportしたら、以下…

NAudioを使ってIEEE Floatの音声データをAudio Clipに変換する【Unity】【NAudio】

概要 はじめに デモ 環境 NAudioのインストール base64にエンコードされた文字列からAudio Clipを作成 base64にエンコードされた文字列からbyte配列に変換 byte配列から MemoryStreamに変換 MemoryStreamからAudioClipに変換 概要 KoeiromapをUnity(WebGL)や…

InputSystemでどれかのキーが押されているかを取得する【Unity】【InputSystem】

概要 環境 取得方法 参考サイト 概要 InputSystemでどれかのキーが押されたことを取得して、押されたキーを取得する 環境 Unity 2022.2.5f1 Input System 1.4.4 取得方法 以下は Input System 1.1-pre.6 以降で使用できます。 以下のようなコードで取得でき…

Fungusのキャラ表示時に画像の底と画面の底に合わせて表示する【Unity】【Fungus】

概要 環境 変更方法 概要 UnityでADVを作るためのツールの Fungusで、キャラクターの表示位置を以下のようにいい感じに画面の底に合わせて表示するための設定方法です UnityでFungus × Google Sheetを使ってより簡単にADVが作れるワークフローで作成したゲー…

UnityからKoeiromapAPI経由で音声を取得して声を再生する【Unity】【Koeiromap】

概要 KoeiromapをUnityで使うためのライブラリを公開 NAudioを使ってStreamでの変換処理については以下 環境 Demo 実装方法 指定したテキストからボイスを生成 不要な文字列の削除 base64からAudioClipを生成 概要 昨日アーリーテストとして公開された Koeir…

uGUIのスクリーン座標の取得方法【Unity】

環境 やりたいこと 取得方法 サンプルコード 環境 Unity 2021.3.16f1 やりたいこと 画面に配置されている uGUI(Buttom,Image) のスクリーン座標の取得 取得方法 取得には RectTransform.GetWorldCorners(Vector3[] v) を使用します。 docs.unity3d.com 取得…

FungusのFlowchart内にあるセリフデータをGoogle Sheetに反映させる【Unity】【GoogleAppsScript】

はじめに Demo やりたいこと 環境 実装 1. シーン上に存在する会話NPCのセリフの取得 2. Google Sheetにセリフデータを反映させる Unity側の実装 Google Apps Script側の実装 3. セリフデータの分析及び一覧化 はじめに Unityで会話実装を行う際にFungusを使…

FungusのFlowchart内にあるセリフデータをJSONに出力する【Unity】【Fungus】

はじめに やりたいこと Demo 追加の拡張機能宣伝 環境 実装内容 一セリフデータを格納するクラスの作成 一キャラのセリフデータを格納するクラスの作成 Flowchartコンポーネントから情報を取得する シーン上のすべての会話NPCの取得 Jsonにクラスを保存 はじ…

Riderで変数変更時にFormerlySerializedAsが自動的に付かない設定に変更する【Unity】【Rider】

はじめに 環境 解決したい問題 設定項目 はじめに Unity で開発しているときにいつも JetBrainsのRiderを使用させていただいています。こちらの IDEはものすごく便利なのですが、作業中に困ることが多々あるので設定をメモしておきます。 環境 Unity 2022.2.…

FungusのLocalizatioのExport Standard TextのパスをInspector上から指定する【Unity】【Fungus】

目的 Demo 開発環境 追加・変更点 目的 Fungusで localizationなどを想定する際にテキストデータを外部に出力することがあります。Exportするときに以下のように毎回 保存場所を聞かれるため、Default値をInspetorから指定したい Demo 以下のように Inspecto…

UnityのSplinesを使って動的に生成される曲線の道を作る【Unity】【Splines】

はじめに デモ 開発環境 Splinesとは Splines 2.0.0以上に含まれている機能 実装方法 準備 SplinesのMeshの更新 選択したSplinesの取得 Splineが更新されたときに SplineのMeshの更新 Simple Sample Demo はじめに 前回の以下の記事で Splinesのサンプルプロ…

UnityのDevelopment buildの有無で出力ファイルの違い【Unity】

はじめに UnityRoomでの Development buildについて 環境 出力ファイルの違い はじめに UnityRoomへのアップロードを試しているときにファイルが登録できないことがあったため、気になりました。そこで圧縮パターンや development buildでの出力ファイルの違…

GitHub ActionsのLinux環境でAssetDatabase処理を入れるとエラーになる【Unity】【GitHubActions】

はじめに 環境 CD環境の環境ファイル 現象 原因と解決方法 はじめに ゲームジャムに参加している中で GitHub Actions上でのCD環境を構築していました。あるときからビルドが失敗するようになってしまったので、調査していると環境でのエラーに遭遇したのでメ…

UnityのSplinesをEditorで操作する【Unity】

はじめに Demo 環境 Splineとは UnityのSplines デモシーンの確認 サンプルの導入方法 サンプルシーンの動作確認 Spline関連クラスについて SplineContainer Spline BezierKnot SplineのKnotの操作 追加 取得 参考サイト はじめに Unity 2022.1から入ってい…

NaughtyAttributesのButtonをPlayModeだけ押せるようにしたい【Unity】

NaughtyAttributesとは 実現したいこと PlayModeのみ押せるようにするには NaughtyAttributesとは UnityのInpectorの拡張ライブラリには 有名なものとして Odinがあります。 こちらは非常に便利なのですが、値段がそこそこするのでできればOSSが嬉しいという…

Default Cursorを任意の画像に変更時にマウスのクリック位置がずれる問題の修正方法【Unity】

初めに 環境 困っていたこと 解決方法 使用している画像のサイズを確認 初めに ゲームを作っているとゲーム のWindows内では任意のマウスアイコンに変更したい時があるかと思います。しかし、変更後マウスのクリック位置がずれていることがプロジェクト内で…

Google Sheetを使ったFungusのテキストデータの管理【Fungus】【Unity】【GoogleAppsScript】

概要 私たちが制作した「DreamIsland」(*1)というゲームでは、Fungusを使ってNPCやオブジェクトとの会話イベントを実装しています。その中でFungusのデータ管理(会話テキストやフロー)についていろいろ調査と試作をしていったん解決ができました。 今回は Fu…

OSSをForkしてUPM・OpenUPMの登録を行う【Unity】【upm】【OpenUPM】

はじめに 個人製作でいろいろやっているとOSSを使うことがありますが、最終更新日が数年前のものがよくあります。しかし、ライブラリとしては使いたいけどいろいろいまのversionとはあっていないものがあるので、今回はその辺の更新とUPM、OpenUPMの登録をす…

GitHub Actionsでビルドが終了時に DiscordでartifactのダウンロードページURLを受け取る【GitHub Actions,Discord,Python】

はじめに 成果物 動作環境 使い方 1. Actions secretsの登録 2. GitHub Actionのymlの作成 3. スクリプトの作成と配置 実装の詳細 最新のビルドデータを取得 artifactのあるページのURL作成 リポジトリのownerとRepositoryNameを取得 終わりに はじめに GitH…

Unityで3D音源の距離と音量からAudioVisualiserを作成する【Unity】

はじめに 成果物 動作環境 実装 各音源から距離と音量を取得・表示する Visualiser UIの作成 Audioデータから Visualiser UIをリアルタイで更新する サンプルプロジェクトのクラス図 まとめ はじめに 前回以下のような 距離から音量を取得する機能を実装しま…

Unity WebGLビルド後 特定のブランチ GitHubに自動デプロイする【Unity,WebGL】

はじめに 成果物 動作環境 実装 Build後に特定の処理を行う BuildデータをGitHub に スクリプト上から Commit/Pushする はじめに UnityでWebGL開発を行っているときにビルド後デプロイしたい時があります。OSSとして公開しているプロジェクトの場合、デプロ…

Fungusの会話テストができるEditorWindow機能【Unity,Fungus,Editor拡張】

はじめに 成果物 環境とゲーム内の会話処理周りの情報 環境 会話処理周り 機能詳細と実装 1. NPC一覧の取得とソートでの一覧表示 2. 選択したNPC Buttonのハイライトと情報の表示 3. fungusのphaseを指定した会話テストの実行 はじめに 私が作っているゲーム…