Burst 新機能、カメラワーク、Blurアルゴリズム - Unity Weekly #070
Unity Officials
"[BurstCompile]" を付けるだけでUnityが爆速って本当ですか!? Burst Direct Call など新機能紹介!
"[BurstCompile]" を付けるだけでUnityが爆速って本当ですか!? Burst Direct Call など新機能紹介! - YouTube
この動画ではBurstの新機能について紹介しています。
ノイズ関数を題材に、ノイズ生成メソッドをBurstでコンパイルし、そのメソッドをBurst Direct Callによって呼び出すことで、通常のメソッド呼び出しと比べてどの程度高速化するのかについて解説しています。
また、Burst Direct Call以外にも Span<T>
構造体対応や Intrinsics(組み込み関数)などの機能についても触れています。
Articles
Cinemachineを使わないお手軽なカメラワーク設計
[Unity]Cinemachineを使わないお手軽なカメラワーク設計 - Qiita
キャラクターを追従するカメラや2つのカメラワーク間をなめらかに切り替えるようなカメラワークを、Cinemachineを用いずに独自に実装する方法について紹介しています。
また、キャラクターを追従する際に、より自然に追いかけるような挙動をどう実現するのかについても触れています。
理想のスカート表現を求めて
VRChatアバターのスカートの、Clothコンポーネントでの物理アニメーションをよりきれいに見せるためのtipsを紹介しています。
ConstraintsのSurface Penetrationによるスカートのシルエット維持や法線編集による球判定の制御、コライダーめり込み対策とClothシミュレーションが破綻したときのリセット機構自動起動、DCCツール(Blender)とUnity間のやり取り効率化、着座時のスカート挙動改善のためのPhysBoneによる補助ボーン制御、スカートを掴むためのコライダーとPhysBoneの配置についてそれぞれ解説しています。
Blur
画像のぼかしアルゴリズムについて4種類のそれぞれのアルゴリズムの計算方法とUnity実装について紹介しています。
また、パラメータと出力ぼかし画像との関係や、それぞれのアルゴリズムのパフォーマンスについても考察しています。
C#からAndroid(Google Play Console)の実績を登録する
C#からAndroid(Google Play Console)の実績を登録する - きゅぶろぐ
Google Play Games Services Publishing APIを用いて、Google Play Console上の実績の登録を自動化するための方法について紹介しています。
CodemagicでOculus用VR Unityゲームを作って公開!
CodemagicでOculus用VR Unityゲームを作って公開! - Qiita
CodemagicというCIサービスを用いて、UnityのVR向けのアプリのアプリビルドとOculus CLIを利用してストアへのアップロードを自動化する方法について解説しています。
シリアライズ対象の値を直接編集する際の挙動をちゃんと理解する
【Unity】【エディタ拡張】シリアライズ対象の値を直接編集する際の挙動をちゃんと理解する - LIGHT11
SerializedObject
を用いて MonoBehaviour
や ScriptableObject
のシリアライズ可能な値を更新して保存する際注意点として、DirtyフラグやUndo対応などについてまとめています。
シェーダーでひびを入れる[その1:フラグメントシェーダー編]
【Unity】シェーダーでひびを入れる[その1:フラグメントシェーダー編] - Qiita
テクスチャなどを用いずにシェーダーの処理のみで、モデルに「ひび」を入れるような表現を、ボロノイパターンをベースに実装する方法について紹介しています。
ボロノイパターンによる「ひび」パラメータ調整による見た目の変化や、陰影の付け方についても触れています。
Photon Fusion for Unityの導入手順とPUN2との機能比較
Photon Fusion for Unityの導入手順とPUN2との機能比較 - Qiita
Exit Games社が提供するマルチプレイヤーエンジン「Photon」の新製品「Photon Fusion」についてその概要や、物理挙動の同期などの新機能、導入方法について紹介しています。
また「PUN2」と「Fusion」について同期頻度の切り口での機能比較も行っています。
UnityとFirebaseで出来ること2022
Googleの提供するモバイル向けBaaS(Backend as a Service) のFirebaseについて、そのサービスの概要から導入方法、Unityで利用できるサービスについてそれぞれ解説しています。
Unity AndroidでApplication.targetFrameRateが効かないときに見る記事
Unity AndroidでApplication.targetFrameRateが効かないときに見る記事 - きゅぶろぐ
Unityで制作したAndroidアプリで Application.targetFrameRate
が効かないことがある原因として、 QualitySettings.vSyncCount
と Frame Pacing による最適化設定についてそれぞれ紹介しています。
TextMeshProのテキストを1文字ずつアニメーション
TextMeshProのテキストを1文字ずつアニメーション【Unity】【DOTween】【TextMesh Pro】 - (:3[kanのメモ帳]
TextMeshProのテキストをDOTweenを用いて1文字づつアニメーションする方法について紹介しています。
UPM のパッケージを .unitypackage にエクスポートできる「UPM Packages in .unitypackage files」紹介
【Unity】UPM のパッケージを .unitypackage にエクスポートできる「UPM Packages in .unitypackage files」紹介 - コガネブログ
UPM(Unity Package Manager)のパッケージを .unitypackage
データに変換する needle-tools/hybrid-packages について、その利用方法を紹介しています。
Unityのil2cppバイナリを簡易静的解析して対策してみる
Unityのil2cppバイナリを簡易静的解析して対策してみる
il2cppビルドされたAndroidアプリ(apk)を、リバースエンジニアリングツールのGhidraとIl2CppInspectorを用いて簡易的に解析し、またその解析に対しての対策方法について解説しています。
記事中では、SQLCipherによって暗号化されたSQLiteのデータベースの中身を、簡易解析によって取得したデータベースのキーによって取得する方法と、対策としてキー文字列の難読化や「Obfuscator」というアセットを用いたコードシンボルの難読化、データベースをパスを Application.persistentDataPath
から Androidの内部ストレージのパスに保存することで、adbで簡易的にデータベースを吸い出しにくくする方法などについて紹介しています。