Unity Weekly 098
Unity Officials
Unity 2021 LTS のユニバーサルレンダーパイプラインに光を当てる
Unity 2021 LTS のユニバーサルレンダーパイプラインに光を当てる | Unity Blog
URP(Universal Render Pipeline)の設定のうち、特にライティング・ライトクッキー・リフレクションプローブなどに関する設定とそれぞれの設定の実装、どのようにパフォーマンスに影響を与えるかについて紹介しています。
また、URPのレンダリングパスや扱うことのできるライティングモデルについてもそれぞれ紹介しています。
Unity 2022 New Feature! Splines Introduction
Unity 2022 New Feature! Splines Introduction - YouTube
Unity 2022からつかえるSplinesパッケージの導入方法から曲線編集、曲線のメッシュ表示、曲線に沿ったアニメーション、曲線に沿ったオブジェクトの配置、応用例などについて紹介しています。
Articles
Input Systemでボタンの押した瞬間/離した瞬間を判定する
【Unity】Input Systemでボタンの押した瞬間/離した瞬間を判定する | ねこじゃらシティ
新しいInput Systemでボタンを押した瞬間と離した瞬間の判定について「Input ActionのPress Interactionを用いる方法」と「Input ManagerのGetButtonDownなど状態を判定するメソッドを毎フレームチェックすることで判定する方法」の2つの実装を紹介しています。
SpringBone第2回 Spring Boneで布表現をする方法と、謎の距離制限について
SpringBone第2回 Spring Boneで布表現をする方法と、謎の距離制限について|COLOPL Creators
Spring Boneの距離制限によってスカートなどの足抜けを回避する方法について紹介しています。
Unity Optimization Tips: Mobile & Desktop
Unity Optimization Tips — Optimize Unity Game, Tutorial 2022
Unityアプリの最適化Tipsについてまとめています。
パフォーマンスを低下させる原因やパフォーマンスを解析するための各種ツールの紹介、UIやグラフィックス、物理など各分野での最適化の勘所などについてまとめています。
UnityのAndroidビルドでAPIレベル31にしたらGradle地獄だった話
UnityのAndroidリリースビルドだけ起こったバグの話 - Qiita
UnityのAndroidビルドでAPIレベル31にしたらGradle地獄だった話 - Qiita
Unityで制作したAndroidビルドで、ProGuardによる難読化によって特定のJavaのクラスがビルド時に除外される不具合とその対応方法、Target APIを31にあげると発生するGradleのビルドエラーとその対応方法について紹介しています。
Splinesパッケージの内部計算式
【Unity2022】Splinesパッケージの内部計算式 | ねこじゃらシティ
Unity 2022からUnityが公式で配布しているSplinesパッケージの内部で利用されている、スプライン補間のためのベジエ曲線について解説しています。
Photon Fusion for Unityの公式サンプルBR200を触ってみた キャラ追加編
Photon Fusion for Unityの公式サンプルBR200を触ってみた キャラ追加編 - Qiita
Photon FusionのバトルロワイアルサンプルBR200で独自のキャラクターを追加する方法について紹介しています。
LocalizationのStringTableCollectionを一括でCSVに出力するエディタ拡張を作った
【Unity】LocalizationのStringTableCollectionを一括でCSVに出力するエディタ拡張を作った - はなちるのマイノート
Unityが提供するLocalizationパッケージの StringTableCollection
を UnityEditor.Localization.Plugins.CSV.Csv
を用いてCSVとしてエクスポート、またはCSVからインポートする方法について紹介しています。
結婚式のプロフィールムービーを Unity で作ってみた
結婚式のプロフィールムービーを Unity で作ってみた - 凹みTips
Timeline・Unity Recorder・Shader Graph・URPを用いてスプラトゥーン風なスライドショームービーを制作するための、Timelineでのムービーの制御やインクの表現のShader Graphでの実現方法、素材写真やコメントを差し替えやすくするための仕組みなどについて紹介しています。
Advent Calendar
今年もAdvent Calendarの季節になりました。特にUnityに関するAdvent Calendarの記事も取り上げていきたいと思います。
Unity開発の現場でJenkinsがしていることの紹介
Unity開発の現場でJenkinsがしていることの紹介 | QualiArtsエンジニアブログ
Unityアプリを開発する現場で構築されているJenkinsの各種自動化としてアプリビルド・アセットバンドルビルド・PRの自動生成・PRに対するテストなどについて紹介しています。
UnityでUIパフォーマンスを向上させる8つのTips
UnityでUIパフォーマンスを向上させる8つのTips【Advent Calendar 12/1】|Colorful Palette
UIパフォーマンスを向上させるための設定や設計について紹介しています。
Semantic Confidenceでセグメントの境界線をぼかす
【ARDK】Semantic Confidenceでセグメントの境界線をぼかす - Qiita
Nianticが提供するARライブラリARDKにExperimentalで追加されたSemantic Segmentationの紹介とこの機能を用いた仮想世界のオブジェクトと現実世界のオクルージョン処理においてセグメントの境界線をぼかす実装を紹介しています。
なぜUnityを使い始め、9年間も使い続けているのか
なぜUnityを使い始め、9年間も使い続けているのか【Unity】【雑記】 - (:3[kanのメモ帳]
ブログ著者がUnityを使い続けるモチベーションやメリットなどについて紹介しています。
Unity WebGL で canvas で文字を描画する
Unity WebGL で canvas で文字を描画する - Qiita
UnityのWebGLアプリケーションで、TextMeshProなどを用いずにcanvasで文字を描画する方法の紹介とメリット・デメリットについてまとめています。
Houdini x Unity : VAT関連Tips & 備忘録
Houdini x Unity : VAT関連Tips & 備忘録 - Qiita
HoudiniでVAT(Vertex Animation Texture)を書き出す際にどのバージョンで書き出すとUnityで安定した再生が行えるのかについてまとめています。
最短でAirTestでUIテストをしてSlackに定期的に結果を通知する方法!
最短でAirTestでUIテストをしてSlackに定期的に結果を通知する方法! - Qiita
AirTestとPocoを用いたUIの自動テスト環境の構築方法とテスト結果をAirTestからSlackに通知する方法、テストを定期実行する方法についてまとめています。
Unityでデザイナーがいじってほしいパラメータ用のAttributeを作ってみた
Unityでデザイナーがいじってほしいパラメータ用のAttributeを作ってみた - Qiita
デザイナーさんに設定してほしいに特定のAttributeをつけることで、パラメーターをインスペクター上で色付けやヒエラルキー上を行う実装について紹介しています。
Unityエディタ上で循環的複雑度(CCN)を計測する
Unityエディタ上で循環的複雑度(CCN)を計測する - Qiita
lizardというpythonライブラリを用いてプログラムの複雑度を循環的複雑度で計測する方法と、Unityエディタ上からライブラリを呼び出してエディタ上で結果を確認する方法について紹介しています。
Unityエディタ上でスクリーンショットを撮る
Unityエディタ上でスクリーンショットを撮る - Qiita
Unityエディタ上でスクリーンショットを取る方法を ScreenCapture.CaptureScreeshot
を用いた方法と開発者モードを利用する方法の2つの方法をまとめています。
Unity VFXGraphを1ヶ月で完全に理解した話
Unity VFXGraphを1ヶ月で完全に理解した話 - Qiita
VFX GraphのSubgraphやMesh Samplingの設定、Experimentalなオペレーターやブロックを利用するための設定についてまとめています。
ML-AgentsとFinal IKでアバターを学習させて動かす(ように見せる)
【Unity】ML-AgentsとFinal IKでアバターを学習させて動かす(ように見せる) - Qiita
ML-Agentsの3DBallの学習結果とFinal IKを用いて、板の上にのったボールをアバターが落とさないように動かすような実装について紹介しています。
RiderFlowはいいぞ!
JetBrains社が提供するUnityエディタプラグインRiderFlowの「Hierarchy WindowにおけるGameObject管理機能」・「Scene View management toolbar」・「スマートエディター」・
「GameObjectのReplace」・「Find Usages」・「Search Everywhere」の使い方やRiderFlowのデータの保存場所についてまとめています。
スマホ端末の傾き角を知る方法
【Unity】スマホ端末の傾き角を知る方法【決定版】【加速度センサー】【ジャイロスコープ】 - Qiita
Unityで利用可能なセンサーとして加速度センサーとジャイロセンサーの紹介とそれぞれのセンサーの入力値を取る方法、注意点として座標系とiOS/AndroidでのZ軸の回転の違いについてまとめています。
シーン内のInject対象コンポーネントを自動で収集する [VContainer]
シーン内のInject対象コンポーネントを自動で収集する [VContainer] - Qiita
シーン内にあるInject対象のコンポーネントを、シーン保存時に自動で収集するエディタ拡張の実装について紹介しています。
GitHub Pagesで手軽にスマホゲームを公開する
[Unity]GitHub Pagesで手軽にスマホゲームを公開する - Qiita
UnityアプリをWebGLビルドしてGitHub Pagesで公開する方法について紹介しています。
UnityでARスタンプラリーアプリを作ってみた
UnityでARスタンプラリーアプリを作ってみた - Qiita
AR Foundationを用いてARアプリ上でスタンプラリーを行うようなアプリを実装する方法について紹介しています。
「え!UnityYAML読めないんですか?」
「え!UnityYAML読めないんですか?」 - Qiita
Unity YAMLのビューワーの独自実装を、YamlDotNetでのYamlパース・TreeView表示・ClassId解決・Icon適用・GUIDの解決などの観点でまとめています。
サイズの大きいUnityプロジェクトのGitリポジトリを効率的に扱うコツ
サイズの大きいUnityプロジェクトのGitリポジトリを効率的に扱うコツ - Qiita
アセットがサブモジュールで管理されたアセットサイズの大きなUnityプロジェクトで、プラットフォーム切り替えでの再インポートを避けるためにプラットフォームごとにUnityプロジェクトをクローンする際に、git worktreeやLFSのローカルキャッシュを共有することでストレージを節約する方法についてまとめています。
Unity + Doozy UI ManagerでUI制御をわかりやすく作るならこれだけは覚えておけ!集
Unity + Doozy UI ManagerでUI制御をわかりやすく作るならこれだけは覚えておけ!集 - Qiita
Doozy UI ManagerでUI制御を行う際に知っておくべきコンポーネントやフローグラフ、Signal/Streamという仕組み、便利コンポーネントの紹介と、実際にDoozy UI Managerを用いた簡単な画面遷移の実装について解説しています。
SPAJAM 2022 決勝戦で Unity (C#)
で Speech-to-Text API
と DeepL API
を使ったので紹介するよ
SPAJAM 2022 決勝戦で Unity (C#)
で Speech-to-Text API
と DeepL API
を使ったので紹介するよ
UnityでSpeech-to-Text APIやDeepL APIを利用する方法について紹介しています。
Orbital Cameraの独自実装の手法について
Orbital Cameraの独自実装の手法について - Qiita
CinemachineのVirtual Cameraを用いてOrbital Camera(対象オブジェクトをLookAtしつつ円周上の軌道に沿って操作できるカメラ)を実装する方法について紹介しています。
VRM(VRoid)モデルをMayaのHumanIKに対応し、モーキャプしたモーションを流す
VRM(VRoid)モデルをMayaのHumanIKに対応し、モーキャプしたモーションを流す - Qiita
VRMモデルをFBXに変換してからMayaで読み込む方法、そのモデルをMayaのHumanIKに対応する方法(とスクリプトでの自動化)、モーションの転写方法、UniVRM経由でUnity上でモーションを再生する方法についてまとめています。
Unityで動画を再生する様々な方法
Unityで動画をVideo Playerを用いて再生する方法についてRender Modeの設定や外部においたファイルの再生方法、音声の制御やスクリプトから動画再生を制御する方法についてまとめています。
また、Youtube動画の再生方法、HLS形式のストリーミング動画を再生する方法などについてもそれぞれ紹介しています。
Netcode for GameObjectsの通信量過剰時の挙動と対策
Netcode for GameObjectsの通信量過剰時の挙動と対策 - Qiita
Netcode for GameObjectsで1フレームあたりの通信(RPCとレプリケーション)を過剰に行った場合にどのような挙動をするのかと、RPCの信頼性( RpcDelivery.Unreliable
)を設定することによって実際に通信するメッセージの優先度を設定することで、通信量過剰時でも優先度の高い通信を行うための方法について紹介しています。
インポートしたモデルのマテリアルをまとめて外に出す
インポートしたモデルのマテリアルをまとめて外に出す [Unity] - Qiita
fbxをインポートしたときにアセット内部にあるマテリアルをUnityプロジェクトに展開するエディタ拡張の実装について紹介しています。
Repositories
Megacity-Sample
Unity-Technologies/Megacity-Sample: ECS sample
ECS(Entity Component System)のサンプルデモプロジェクト。
Unity Geometry Grass Shader
Velorexe/unity-geometry-grass-shader: A Geometry shader written for Unity's build-in Render Pipeline
ジオメトリシェーダーを用いたインタラクティブな草シェーダー実装。
Asset Store Tools v2
Asset Storeへのパッケージ公開のための検証や提出を自動化するためのツール。
Open Brush - Tilt Brush Evolved
icosa-gallery/open-brush: Open Brush is the open source, community led evolution of Tilt Brush!
VRの3DペイントアプリケーションTilt BrushをフォークしてUnityのアップグレードや機能追加などを行ったライブラリ。
PBD2D
andywiecko/PBD2D: Unity Position Based Dynamics in two dimensions
2次元のPosition Based DynamicsのUnity ECS実装。
Position Based Dynamics+各種コンストレイント、コリジョンシステム、剛体やソフトボディのシミュレーションなどが実装されている。
Pixel Anti-Cheat
チート対策ライブラリ。
スピードハックやメモリハックなどの各種検出実装から暗号化型やPlayer Prefsの暗号化実装、各種暗号化のためのクラスが用意されている。
OpenGraphGUI
URPのShader Graphからマテリアルプロパティのインスペクターの外観を、ShaderのBlackboardにあるプロパティ名に特定の文字を入力することで調整できるツール。
WSNet2
KLab/wsnet2: モバイルオンラインゲーム向けのリアルタイム通信システム
WebSocketベースなモバイルゲーム向けリアルタイム通信システム。クライアントにUnity実装が用意されています。