unityでいってみよう!

unityがチョットワカル位の人のブログ

Apple's privacy manifestまとめ 2024年3月11日版

目次 目次 UnityEngine Coreライブラリには署名が必要が無い Apple's privacy manifestのマイルストーン Unityのアップグレード UnityEngine Coreライブラリには署名が必要が無い 3月8日(金)のUnity Forumの投稿によると、Appleとの話し合いの結果、Unit…

Vulkan validation layersを有効にしてみよう!

概要 UnityとVulkan validation layersの連携 UnityでVulkan validation layersを有効にする具体的な手順 Androidアプリケーションに引数を指定する UnityPlayerActivityを拡張してコマンドライン引数を指定する adb shellから指定する 概要 Vulkan validati…

Unity6ベータ版の新機能を分かった気になってみよう!

目的 UnityForumのUnity 6 beta (2023.3) - Feature HighlightsでUnity6の新機能が紹介されています。色々機能が増えて理解が追い付きませんが、とりあえず誰かに聞かれても「あーあれね」と知ってるふりがとりあえず出来る浅い知識の獲得を目指します。 新…

Apple's privacy manifestまとめ 2024年2月5日版

概要と免責 Apple's privacy manifestはWWDC23において発表された新しいガイドラインです。 2024年春からこのガイドラインが適用され、このガイドラインを満たさない場合、AppStoreへのサブミットがリジェクトされる可能性がありますが、現状は情報が出揃っ…

AndroidでのWebGPUサポート

developer.chrome.com 以下の条件を満たすAndroidデバイスでWebGPUが有効になるとのこと。 Android12以降 QualcommもしくはARMのGPU Chrom 121以降 もしかしてUnityWebのWebGPUがAndroid端末でも動作する可能性が・・・。 一方AppleはiOS17.4でChrome等のSaf…

Unity6でのUnityWebについて

blog.unity.com からの抜粋。 UnityWeb ブラウザ向けのプラットフォーム名はUnity Web 将来的に以下のビルドが作成できるようになる 。 WebGLを使用したビルド WebGPUを使用したビルド WebGLとWebGPUを使用したビルド モバイルプラットフォームのサポート Un…

Time.maximumDeltaTimeについて解説してみよう!

概要 「Time.maximumDeltaTimeの値を小さくしたのですが、処理落ちが改善しないのは何故ですか?」 という質問が定期的に寄せられます。 パフォーマンスに影響を与えるパラメーターという点に関してはあながち間違ってはいないのですが、1フレームにかかる…

FixedUpdateが実行されないフレームがある原因について考えてみよう!

概要 「FixedUpdate()が実行されないフレームがあるのですが、何故ですか?」 この質問が定期的に発生するので、この問題について解説します。 結論 フレームレートとTime.fixedDeltaTimeが一致していない為に発生します。 解説 UnityはPlayerLoopの先頭で下…

いまさらのPhysicsによる当たり判定のもやもやを解説してみよう!

概要 これまで、普通にUnityを使用してきたが、Collider.isTrrigerやRigidbody.isKinematicっていまいちよく分からんと思っている人向けの解説です。 ColliderとRigidbody Unityにおいて物理エンジンの対象となるGameObjectはColliderコンポーネントのみの場…

Unity2022からのWebGLでのAssetBundleのキャッシュについて調べてみよう!

概要 Unity2022からWebGLプラットフォームではCachingクラスが非サポートとなりました。 何故? ブラウザー自体がキャッシュを行う為、Unity側が独自にキャッシュを行う必要がない為のようです。ドキュメントに以下の記載が追加されていました。 The Cache A…

WebGL Playerのマルチスレッド対応状況を調べてみよう!

概要 WebGLPlayerでマルチスレッドを有効にする為に下記の条件を全て満たす必要があります。 PlayerSettings.WebGL.threadsSupportをtrueに設定する WebGLPlayerを出力するが実行するブラウザー側も WebAssembly threadsに対応している マルチスレッドに対応…

Unity2022以降でWebGLのMemorySizeを指定してみよう!

概要 以前、Unity2019以降向けの記事としてWebGLのMemorySizeの指定方法を投稿したのですが、Unity2022では設定方法が変更されていたので、改めてUnity2022以降向けの設定方法を記載します。 unityletsgo.hatenablog.com 設定方法 Player Settings > Publisi…

WebGL向けにビルドしたコンテンツをローカルPC上で実行してみよう!

概要 WebGLプラットフォーム向けにビルド済みのコンテンツを実行する(index.htmlをダブルクリックする)と以下のエラーが表示され、実行できません。 Failed to download file XXX.data.gz. Loading web pages via a file:// URL without a web server is not…

Unity2019以降でWebGLのMemorySizeを指定してみよう!

概要 Unity2018まではPlayerSettingsからMemorySizeを設定出来たのですが、Unity2019以降では項目が無くなりました。 そこでUnity2019以降でMemorySizeを指定するにはどうしたら良いのかというお話しです。 r なお、Unity2022以降に関しては設定方法が大きく…

ComponentをスクリプトからResetしてみよう!

概要 Inspectorから各ComponentのコンテキストメニューにあるResetを実行することで、Componentの値を初期値にリセットすることが出来ますが、それをスクリプトから実行したいといお話しです。 結論 UnityEditor.Unsupported.SmartReset(UnityEngine.Object …

Object.FindObjectsByTypeをつかってみよう!

まとめ Object.FindObjectsOfType(Type type)の代わりにObject.FindObjectsByType(Type type, FindObjectsSortMode sortMode)を使用すると処理負荷が軽減します。 Object.FindObjectsOfType (type)としている箇所をObject.FindObjectsByType(type, FindObjec…

AssetBundleのモヤモヤを調べてみよう!

はじめに AssetBundleの処理の流れがモヤモヤしていたので少し調べてみました。 調査を行ったUnityのバージョンはUnity2021.3.13f1です。他のバージョンではここで記載した内容と異なっている可能性があります。 また、自分の調査に不備があり間違っている可…

セーフエリアとカットアウトについて解説してみよう!

概要 iPhoneX以降ディスプレイ内に内蔵カメラ等が組み込まれたことにより、画面上に表示されない領域(いわゆるノッチ)というものが現れました。一方、Androidプラットフォームでもノッチが組み込まれたデバイスがリリースされるようになり、Androidではノ…

AssetBundleをダンプしてみよう!

目的 AssetBundleをダンプしてAssetBundleの構造を理解します。 検証環境 Unity2021.3l7f1で検証を行いましたが、Unity2017以降であれば特に変更は無いと思います。 Tools AssetBundleをダンプする為にはWebExtract・binary2textの2種類のToolを使用します…

UnityEditorからadbコマンドを実行してみよう!

概要 Android SDKに含まれるadbコマンドをUnityEditor上から実行する方法に関するお話しです。 結論 スクリプトリファレンスには記載が無いですが、実はUnityEditor.Android配下にADBクラスが存在しているのでそれを使えば簡単にUnityEditor上からadbコマン…

BuildAssetBundleOptionsを解説してみよう!

概要 AssetBundleのビルドオプションであるBuildAssetBundleOptionsに関しての解説です。 スクリプトリファレンス読めば判ることから何を言っているかわからんことまで解説しています。 尚、Unity2021.3時点での内容で記載しています。 AssetBundleのファイ…

アプリケーションとUnityEditorを同期する「UnityPlayerSync」を紹介してみよう!

概要 github.com UnityPlayerSyncはUnityでビルドしたアプリケーションとUnityEditorを同期する機能を追加するパッケージです。 具体的にはアプリケーションで実行中の画面をUnityEditorのHierarchy Viewへ展開し、UnityEditor上で編集したGameObjectのパラ…

「TECH STREAM RELEASE Unity 2022.1」を日本語化してみよう!

## あなたとともにイノベーションを創る テックストリームのリリースでは、新機能や新ツールをいち早く試すことができ、お客様のフィードバックによってUnityの開発方針が決定されます。年に2回公開されるテックストリームは、次のリリースまでサポートされ…

UnityDataToolsのREADMEを日本語化してみよう!

概要 UnityDataToolsはUnity2022.1で追加されたUnityFileSystemApiで何が出来るのかを検証する為のプロジェクトで、GitHub上で公開されており、下記はREADME.mdを日本語化したものになります。 UnityDataTools UnityDataToolは、UnityFileSystemApiネイティ…

「Unity 2022.1 Tech Stream is now available」を日本語化してみよう!

新しいリリースサイクルであるTech Streamで最新機能を探求し、次のUnity LTSリリースに向けた第一歩を踏み出しましょう。 本日、新しい2022.1 Tech Streamがリリースページよりダウンロードできるようになったことをお知らせします。Tech Stream のリリース…

Androidデバイス上で直接システム トレースを実行してみよう!

概要 Androidネイティブでのプロファイリングといえばsystraceですが、Android 9(APIレベル28)以降のデバイスであれば、デバイス上から直接システムトレースの記録を行うことが可能です。 今回はデバイス上からシステム トレースを行う方法を説明します。 設…

Shader Cacheを削除してみよう!

Shader Cacheとは? OpenEL GSのデバイスでは、Shader(Snipet)はRuntime上(デバイスで実行されるアプリケーション内)でGPU Programにコンパイルされます。このコンパイルは非常に処理負荷が高い為、コンパイルされたGPU ProgrameをCacheして再利用しようとい…

【Android】Gradle Template変数一覧を作ってみよう!

概要 Androidプラットフォームでビルドを行う際、Gradle Templateをベースとしてbuild.gradleが生成されます。 これらに関しては、マニュアルで説明はされていますが、Template変数はマニュアルに記載されていないものが多々あります。そこで、マニュアルを…

TextAsset.textプロパティの実装を比較してみよう!(Unity2019vsUnity2020)

概要 Unity2020へバージョンアップしてから、TextAssetのtextプロパティの処理負荷が上がっている気がしたので、Unityのソースコードを確認したらプロパティへアクセスする毎にbytesデータを処理するように変更されていたというお話しです。 Unityのソースコ…

Chocolateyでgradleの任意のバージョンをインストールしてみよう!

はじめに 前回はSDKMAN!でgradleの任意のバージョンをインストールしましたが、今回はWindowsで任意のバージョンをgradleをインストールしてみます。 unityletsgo.hatenablog.com Chocolatey Windows向けのHomebrewやSDKMAN!のようなアプリケーションマネー…