精選文章

SmallBurger Asset Home

  SmallBurger

2025年12月17日 星期三

🌸GPU-Driven Poetic Dynamics: From Simulating Ghost of Tsushima’s Iconic Flower Field to the Birth of a Complete Vegetation System

 

In my previous post, Simulating Ghost of Tsushima’s Iconic White Flower Field in Unity, I wrote:

“I hope it can eventually run just as smoothly on mobile devices.”

That goal was achieved sooner than expected.
And that white flower field is no longer alone.

Today, the same architecture can support twenty types of vegetation — all processed on the GPU — handling wind simulation, interaction, painting, and culling simultaneously.

This article is not merely a showcase of results, but a record of the journey — from a simple flower field experiment to a complete vegetation system.
A journey to find what I call “poetic dynamics” on the GPU.

2025年11月25日 星期二

Camera-Adherent GPU Particles 1.0.3 — Multi-Light, Forward+, and Hybrid Lighting Upgrade


The 1.0.3 update brings a major visual improvement to the Camera-Adherent GPU Particle system.

This release focuses purely on foreground, camera-facing particle effects—such as wind swirls, impact bursts, weapon trails, magic glows, atmosphere streaks, UI-adjacent FX, and any particle that stays tightly aligned to the screen.

These particles now react to lighting in a way that matches the rest of your scene’s illumination—without losing the performance advantages of a camera-adherent GPU pipeline.

2025年10月13日 星期一

Simulating Ghost of Tsushima’s Iconic White Flower Field in Unity

 

I’ve always been fascinated by the vegetation system in Ghost of Tsushima.
After finishing the grass part earlier, I finally decided to tackle the iconic white flower field.

2025年9月30日 星期二

Building a Cross-Platform GPU Procedural Grass System in Unity URP (Optimized for Mobile)


Recently, I’ve been working on a project called UnityURP-Procedural-DrawMeshInstancedIndirect, and I’d like to share some advantages of procedural generation.

Unlike traditional methods that rely on massive Transform Buffers or GameObject instances, this approach dynamically generates grass using ComputeShaders. For culling, I use a RenderTexture to store results (since SSBOs aren’t supported in many mobile VertexShaders), ensuring compatibility with most mobile devices.

This architecture significantly improves load times and performance, especially on mid- to low-end phones. Let’s break down the key design concepts step by step.

2025年9月26日 星期五

Unity Shader Keywords: shader_feature vs multi_compile — Complete Comparison Table and Usage Guide


Many Unity Shader developers often get confused about the differences between shader_feature and multi_compile, and when to use each one. I’ve encountered similar confusion myself, so I’ve put together this comparison table and practical guide to help everyone quickly understand the correct usage.

2025年9月1日 星期一

Unity Brush Technology: Breakthroughs and Practical Insights — From SetPixels to Compute Shader

During the process of developing a brush system in Unity, I found that in-depth discussions about the “principles of brushes” are quite rare online. Many developers tend to use the engine’s built-in tools directly, rarely exploring the underlying mechanisms. In reality, only by truly understanding how brushes work can we break through the limitations of existing tools and create fully customized brushes tailored to our needs. This is also my motivation for writing this article — to share my technical explorations and practical insights, and to help more people understand and build their own brush systems.

2025年8月12日 星期二

A Hidden Benefit of RenderGraph in Unity 6 URP: Public Access to Core Render Resources


While exploring Unity 6’s URP, I noticed an interesting change: In the 2022.3.x versions, many internal render textures (like m_DepthTexture) could only be accessed via reflection, which was neither convenient nor safe.