えんじにあ雑記!

開発していて学んだことをまとめていきます!

Unity

ポーズ近似を考慮したモーションブレンドの実装

任意のモーションAからBへの遷移時に、現在ポーズに最も近似するBのモーション位置からブレンドを行う仕組みの実装方法について解説します。 左: 0秒からのクロスフェード 右: ポーズ近似時間からのクロスフェード

Unity向けSource Generatorの作り方

Unity2021.2以降Roslynの導入によって利用可能になったSource Generator。今回はSource Generatorの実装方法についてまとめます。

Editor拡張コードを書くのが楽になる「UniTyped」使ってみた

Unity上でSerializedObjectやSerializedPropertyに対する型付けされたアクセスを提供するSource Generator「UniTyped」がリリースされていたので触ってみました。

【Unity】Sceneの保存時に処理をフックする

Scene保存時に編集されていた値をリセットするなど、任意の処理をコールバックに登録する方法を解説します。

【Unity】Componentの値をInspectorView上で編集不可能にする

Componentの値をInspectorViewで編集不可能にする方法を解説する記事です。

【Unity】バイト数をサイズに合わせてフォーマットした文字列に変換する

Unityでバイト数をデータサイズに適した単位を付与した文字列にフォーマットする方法です。

【Unity】アセットのデータサイズを取得する方法

Unityプロジェクト内のアセットのファイルサイズを取得する方法です。

【Unity】Animation Clipからの値の更新を検知する

Animationによるコンポーネントの値の変更を検知する方法の紹介です

structをusing-statementで使用したらboxingが発生するのか

structをusingステートメントで使用するとboxingされるのかを検証しました。

UnityでRoslyn Analyzerを導入してみた

Roslyn AnalyzerがUnity2020.2から使えるっぽかったのでとりあえず触ってみました。

UnityでC#スクリプトのコンパイル時間を計測する方法

UnityでC#スクリプトのコンパイルにかかった時間を計測するエディタ拡張を実装したので記事にしました。

MonoBehaviourを継承したクラスのメソッドは今呼ばれているのか、、調査

GameObjectが非アクティブの時、コンポーネントだけが非アクティブの時などの状況でそのメソッドは実行されるのか、、理解が曖昧だったので調査しました。

Unityのエディタ拡張メソッドをコマンドラインから呼び出す

Unityで実装したエディタ拡張用のメソッドはコマンドラインから実行することが可能です。そのやり方を簡単に解説してみました。

Unityでデバッグ/本番を切り分けたビルド環境を構築する

Unityのみならず、開発ではデバッグ環境と本番環境を区別して開発することが多いです。 その際にDebug環境でのみ含めたいコードなどがあり、Debug用と本番用を切り分けることができるビルド環境の構築方法をまとめました。

ContentSizeFilterを実装してみる

UnityのLayoutControllerの一つであるContentSizeFilterの挙動を、実際に実装しながら理解してみました。

改めてuGUIのリファレンスを読んでみたまとめ

uGUIに関して学び直しておこうと思い、公式リファレンスを読んでみた際のメモ記事です。 Unityを普段から触ってらっしゃる方には当たり前の情報ばかりかもしれませんが、、

自作Packageを作成、UPMで管理してみた

開発を高速化させるためにも、汎用的に使える機能やUI基盤などは使いまわせるようにしたいですよね。 今回はUnity Package Managerを使って自作のパッケージを作成、配布する方法までを紹介します。

GoogleSpreadSheetを使ってマスタデータを管理する

ゲームのマスタデータをゲームのIDE外で管理する方法を模索している中、GoogleSpreadSheetが結構良かったので方法をまとめてみます。

別スレッドからUIを操作しようとして引っかかった話

UnityでUniTaskを使って非同期処理を実装している際に、別スレッドからUIを操作しようとしてしまいエラーが出てはまったときの対応メモです。

Unity Cloud BuildでCI/CDとslackへの通知まで

Unity Cloud Buildを使用したCI/CD環境の構築と、ビルド過程の情報をslackに通知するまでの設定方法を解説しています。

【Editor拡張】Scene名一覧を持つクラスの自動生成

Unityで開発している時に、シーン名を定数文字列として持つクラスを作成することがあります。簡単な作業ですが、自動化できればありがたいなと思いEditor拡張を作りました。

VSCodeとPlantUMLでクラス図を描く

コーディングを始める前の設計段階で作成するクラス図。 今回はVisual Studio Codeと拡張機能のPlantUMLを使ってクラス図を描く方法をまとめました。

unity1weekでCloud Buildを使ってみた話

unity1week「密」に参加した時に、WebGLへのビルド環境としてCloud Buildを使ってみたので使い方と導入した感想をまとめます。

Unityで多言語対応を実装してみた

先日、カジュアルゲームを全世界に向けてリリースしました! 全世界でユーザを抱えるゲームを作ってみたいという思いから、日本語、英語、中国語、韓国語に対応したのでそのときの実装方法をまとめます。

Unityで端末の言語設定を取得する方法

先日、「簡単操作でクセになる」ゲームを目指して開発したものを全世界に向けてリリースしました! 全世界でユーザを抱えるゲームを作ってみたいという思いから、4カ国語に対応したのですが、その際にそもそもゲームをプレイしている端末の言語設定を取得し…

iOS/Android申請用のスクショをさくっと作る

Unityでゲーム開発!! 作ってる途中は最高に楽しいけど、いざリリースするぞってなってからが長い… そんなリリース申請作業を効率化すべく素晴らしいアセットの紹介をします!

Unityのコルーチン 〜IEnumeratorのその先へ〜

Unityで頻繁に用いるコルーチン。 その返り値の型として使われるIEnumerator。こいつ一体何者なんだ? 正体を探る旅に出た。

DOTweenでPostProcessingの値を調整しようとしてAmbiguous invocationに悩んだ話

DOTweenを使ってPostProcessingの値をスクリプトからアニメーションさせる時に遭遇したエラー。 「Ambiguous invocation」の原因と、解決策まで!

UnityでAndroidアプリを作る時のいろいろ(備忘録)

Unityでスマホゲームを作るなら、iOS/Android両対応がいいですよね!! 僕は最近やっとAndroidの実機を買ったのですが、インストールの方法やら色々最初は何度もググってた! そんな、UnityでのAndroidアプリ開発で引っ掛かりそうなところのまとめです!

uGUIのバッチ処理について

【UnityのuGUIにおけるドローコールの削減方法】 ドローコールとは何か、バッチ処理とは何か分からない方向けのまとめとなっています。アウトゲームになる部分が多く、普段個人開発ではあまり意識しない部分ですが、ユーザがストレスを感じないようにパフォ…