Unity - FrankNine/franknine.github.io GitHub Wiki

電子報

Blog

Unity 員工離職感言

入門教學

架構

Architecture

Dependency Injection

DI 不使用 Container 注入 ScriptableObject 流派

ECS

DOTS

C#

IL2CPP

IL

Burst

Multi-Thread

Incremental Source Generator

UniTask

UniRx

MessagePipe

MasterMemory

熱更新

更新邏輯

Lua

InjectFix

其他

更新資源

Networking

替代 C# 語言

Editor 工具

特定功能

搜尋

其他

UI

Input System

Character Controller

2D

3D

Animation

Playable

Localization

Plugin 開發

Android

iOS

PC

Rust

Serialization

原理

非 Unity 的 Serialization

MessagePack

FlexBuffers

AssetBundle

AssetBundle 不穩定

AssetBundle 打包工具

AssetBundle 瀏覽工具

Addressable

WebExtract / Binary2Text

破解

拆 AssetBundle

TypeTree

內嵌 Unity 到原生 App

Android

HTTP/2

gRPC

Client - Server

Firebase

MagicOnion

Apps Script

版本控制

Texture

Rendering

NativeRenderingPlugin

Shader

效果

  • 實在太多了

Better Shaders

系列教學

Screen Space Reflections

Postprocessing

Photoshop 模擬

水面

傳送門

Outline

Compute

陰影

Planar Shadow

深度重建

粒子

天氣

角色

PBR

Path Tracer

Render Graph

RenderQueue

Instancing

Grab

破壞

切割

UV

SDF

Ray Marching

Blending

掃描

球面場景

Voxelize

Cluster Renderer

Decal

Lightmap

Isometric

Pixel Perfect

Batching

Mesh Generation

深度遮擋

案例

BlendShape

冰凍

Deferred Rendering

Bgolus 的 Unity 教室

CJCat

Rendering Debug

RenderDoc

物理

數學

Quaternion

Curve

Audio Latency

最佳化

演講

Unity 功能

案例

Coding

記憶體

String

Profiler

Xcode Instruments

Unity MemoryProfiler

  • Analyzing your application’s physical memory footprint using Memory Profiler
    • Memory State
      • Committed:OS 派發了 Virtual Memory,但不一定有使用到 Physical Memory,沒有 Assignment 就 Lazily
      • Resident: Access Virtual Memeory -> Page Fault -> 作業系統配給 Physical Memory
      • Swap: 降低 Resident,移到 Page File 或是 Compressed Memory Storage
      • Physical memory footprint = Application resident memory + Application compressed memory pages
    • Memory Type
      • Managed memory: C#
      • Graphics memory (estimated): 從圖的長寬與壓縮格式推估
      • Untracked: OS reported 但 Unity 沒有資訊,像是 Native Plugin
      • Native memory -> Reserved memory: allocated by Unity Memory Manager but not used by any Unity object during capture
  • Unity MemoryProfiler 的工作机制及可能的改进

Mali Graphics Debugger

CPU

GPU

Batching

Shader Variant

Audio

uGUI

讀取

建置時間

建置容量

CI

GitHub Action

Troubleshooting

AssetBundle 建置

Notarization

Scriptable Build Pipeline

Lint

Mobile

iOS

Android

測試

Crash Handling

Symbolicate

Bug 回報

Telemetry

API

Script

Plugin

Lightmap

WebView

外部工具整合

Maya

Blender

Houdini

Figma

Speed Tree

案例

MiHoYo

雜項