Unity

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

概要 私たちが制作した「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を指定した会話テストの実行 はじめに 私が作っているゲーム…

3D音源の距離減衰で各サウンド音量の取得【Unity】

成果物 実装 AudioSouceとListenerの挙動 Audio Sourceの距離減衰のAnimationCurveの取得 プレイヤーと発生しているサウンドの距離からなっている音量を取得する 成果物 サウンド(色がついているオブジェクト)ごとに距離に応じた再生音量を取得 Repository g…

サイドビューゲームでのURPでのライト表現とマルチシーン・DIコンテナを使ったInputSytemの実装【Unity,URP】

はじめに 成果物 やったこと 使用したアセット 内容 URPを使ったライト表現 マルチシーン及びDIコンテナを使った際のInputSystemのプレイヤー操作 sprite shapeを使ったマップ作製 はじめに https://t.co/1seClXcvJoUnityRoomに公開しました移動できるだけで…

VContainerでRootLifetimeScopeを使うときの設定【Unity,VContainer,DI】

はじめに やりたいこと 成果物 RootLifetimeScopeの作り方及び使い方 RootLifetimeScopeを作成 各クラスから RootLifetimeScopeに注入されているクラスを使う Unityでゲーム起動時に スプレッドシートから データを取得する方法 はじめに Unityでゲームを作…

Fungusを使ったゲーム制作におけるテスト作成と自動テスト環境の作成及び構築【Unity,Fungus】

はじめに 制作環境 対象者 本プロジェクトにおいての会話実装及び仕様説明 会話パートの説明 制作時に起きた問題点 1. flowchartのMessageとスクリプト側のFlowchart用 Message Stringが一致しない問題 2. Fungus内の変数とスクリプトから呼び際に変数名の一…

MagicOnionでローカルでのゲームっぽいものを作る【Unity,gRPC,MagicOnion】

Demo 実装部分 任意のPrefabを生成する 参考サイト 仕事でgRPCを触る機会があったので、せっかくだったら個人でもゲームっぽいものを作りたいということで n回目のMagicOnionに挑戦しました (過去に二回ほど環境構築やらでつまづいています) 記事を書いてい…

UnityでのURLのPingの非同期確認方法【Unity,C#】

はじめに 実装 はじめに 特定のIPアドレスがとっているかどうかを接続する前に、確認したいときがあります。 C# での同期的な処理やUnityのPingを使った方法(timeout時間は指定できない?)は、以下のようにできるみたいでした。 santerabyte.com qiita.com …

unity1week「ちゅう」のゲームで実装したイベントアニメーション【unity1week,Unity】

今回プロなろというグループでチーム開発を行いました! ジャンプキングに似たやりこみのあるゲームになっています https://t.co/yICRFcW2oEUnity1weekのゲーム公開しました!地形と反射を駆使してクリアを目指しましょう!⁰腕に自信のある方はタイムアタッ…

Backendless(BaaS)とUnityを使ったオンラインショップの画面の作成【Unity,SaaS】

今回はゲームコンテストで作ろうと思っていたオンラインゲームのショップ画面をプロトタイプで作成してみました (たぶんコンテストにはこの要素はいれないです) Demo 開発環境 使用したアセット backendlessとは? 参考にした参考書 公式ドキュメント 実装 各…

MessagePipeを使って簡単なアクションゲームを作る【MessagePipe,Unity】

最近注目を集めている MessagePipeを使ってみようと思いいろいろ調べて,自分なりにアクションゲームを作ってみました! (ゲームといってもMessagePipeを使うことが目的なので,ゲームにすらなっていないです) 成果物 Demo リポジトリ WebGL版 MessagePipeと…

OSS(SaveGameFree)を使ってUnityでセーブ・ロード機能を実装する【Unity,SaveGameFree】

今回は,ゲーム制作で無料ものでセーブ・ロード機能を実装してほしいと要望があったので実装してみました 使用したライブラリ ライブラリの機能(GithubPageより) セーブ・ロード機能の実装 備考 セーブデータの保存場所 データの暗号化 データの暗号化 暗号…

Github ActionsでGameCIを使ったUnityのCI/CD環境構築方法 【Unity,Github Actions(GameCI)】

TechTrainさんのほうでゲームの課題?をやらせていただいたときにGithub Actionsを使ったUnityのCI/CDを取り組みました(特に課題内容とかではないです) Github Actionsを使ったUnityのCI/CDはいろいろ詰まるところがあったので,今後使う方/未来の自分に向け…

Unity・ゲームの開発でのおすすめ/よく使用するアセット・参考サイト(その他あり)【Unity,UnityAssets,素材リンク】

自分用またほかの学習者の方が何を使っていいのかがわからなくなったときにご活用ください アセットストア経由 1. DoozyUI: Complete UI Management System 2. Odin - Inspector and Serializer 3. UniRx - Reactive Extensions for Unity 3. DOTween Pro Ea…

MV(R)Pでゲームを作ってみた【Unity,Unity1Week】

今回はアーキテクチャを学ぶ目的でUnity1Weekに参加しました. 制作物 プレイ動画 公開サイト 宣伝ツイート 目的と目的 目的 目標 開発環境 使用したアセット Unity拡張系 素材系 企画(1-1.5日) 仕様(1-2日) 画面遷移 スタート画面 ステージ選択 チュートリ…

Oculus Quest2でのOnApplicationFocusとOnApplicationPauseの挙動まとめ【Oculus,Quest2,Unity】

いろいろ詰まったためメモしておきます. Questでのアプリ開発でアプリを終了したときに何かの処理をしたいと思うことが多々あるかと思います. (間違えている可能性もがあるため,コメントまたはtwitterのDMにてご指摘等お待ちしています) 環境 挙動まとめ…

一覧からScriptableObjectのカスタム作成と検索ができるScriptableObject拡張【Odin,Unity】

ゲームで敵を複数作るときに ScriptableObject を使っています.少ない数なら自分で画像や名前を追加して生成するというのはいいかもしれません. しかし,これを List<ScriptableObject>で管理する場合作成したものをリストに追加するというのは割と手間です そこで,リストか</scriptableobject>…

タワーディフェンス型?ゲームを作ってみる【Unity,DoozyUI,Odin】

(2021/3/9 修正) こちらのオンライン版は作成しないことにしました. 記事のタイトルを変更しました Demo 公開場所 開発環境 どんなゲームを作る? 簡易アニメションの実装 アタック,ダメージ スタート画面とゲーム画面の切り替えの実装 Odinの設定 プレイボ…

Cinemachineを使ってカメラの切り替えをする【Unity,Cinemachine】

本来やりたかったこととは違うのですが...副産物としてメモしておきます (あとからいい感じにしたものを再度編集しなおす可能性があります :キャラアニメション・カメラの角度等) Demo cameraの設置 cameraの切り替えを特定の場所で切り替える. 参考サイ…

UnityでgRPCを使う時のエラー対策【Unity,gRPC】

Unity-gRPCを使うときのよくぶつかるエラー等をまとめています. 実際のやり方は記事中のサイトが詳しく説明されているので,そちらをご確認ください(ほぼ自分用のメモです) ~.protoファイルのファイルの権限を確認する 実行した時に開発元が〜と言われる ch…

Oculus Handで手の甲の位置にMeshを生成する【Oculus,VR,Unity】

ハンドトラッキングをしたときにいろいろ処理を行う中で,手の甲の平面部分を使い部分があったためデバック用に 表示させたいと思います. Demo 環境 Pinchしたかどうかを取得する OVRHand.GetFingerIsPinching(OVRHand.HandFinger.~) OVRHand.GetFingerPinc…

Odinを使ってカスタムReactivePropertyをInspectorに表示させる【Unity,Odin】

内容はそこまで深いものはないですが,ちょっと自分の中で使えると思ってためにメモついでに上げておきます. 私が調べた中では ReactiveProperty (Enum)は SerializeField を使っても表示をできるようにするにはひと手間必要でした もしかしたら,簡単にす…

RollBollGameをDoozyUIを使って書き換える【Unity,DoozyUI】

最近DoozyUIを買ったので,学習ついでにRollBollにDoozyUIを使ってみたいと思います. 中で使っているゲームはUnityのサンプルでも有名なRollBallをちょっとデモ用にいろいろ変更したものを使っています Doozy UIとは Demo 公式サンプルからの変更点と追加点…

Unity ML-Agents 複数環境実行でのCPUのコア数とスレッド数の違いにおける処理速度

ML-agentsの複数の実行はスレッド数に依存??誰か調べている人いないかなちょっと探したけど見つからなかった— ようさん (@ayousanz) 2020年10月11日 ちょっと調べてみたのですが,結局わからなかったので自分で測ってみました 結果は,私の環境ですので他…

Unity ML Agentの基本の改変サンプル

Unity ML agentを学習するうえでUnity ml-agentのサンプルを改変したのでまとめました 対象者 環境 やったこと 3つのターゲットから得点の高いターゲットだけを取得する 詳細 set-up 報酬設定 Observation space Action space デモ コード 一つ下の床にある…

Unity ML-Agents まとめ

公式サイトなどをみてもなかなか難しいものがあったのでいろいろとまとめてみます あとから別記事に分けると思いますが,いまのところこのままで... (見にくいと思いますが,許して:: (更新予定) 対象者 環境 環境構築方法 環境構築でerrorがおきる は…