Token导航 LogoToken导航TokenDH.com
研究检索执行命令github未标认证来源可访问许可证需确认审计通过

unity-lighting-vfxUnity lighting VFX 搜索

Agent Skill

unity-lighting-vfx 用于查找、检索和筛选相关信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要根据关键词、任务场景或来源线索快速定位候选结果时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

339

周安装

14

GitHub Stars

14

下载量

111
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:unity-lighting-vfx(Unity lighting VFX 搜索)
来源仓库:https://github.com/nice-wolf-studio/unity-claude-skills
仓库路径:skills/unity-lighting-vfx
安装命令:
npx skills add https://github.com/nice-wolf-studio/unity-claude-skills --skill unity-lighting-vfx
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/nice-wolf-studio/unity-claude-skills --skill unity-lighting-vfx

简介

用于 Unity Lighting 与 VFX(视觉效果)相关信息的查找、检索和筛选,适合在 Codex、Claude、Cursor、Gemini CLI 中快速定位渲染与特效资料。

  • 适用于需要根据关键词或任务场景定位候选结果时使用。
  • 通过 npx skills add 命令从 GitHub 仓库安装并使用。
  • 安装前建议确认权限范围和维护状态,避免触发不必要的联网或文件操作。
  • unity-lighting-vfx 属于研究检索类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Unity Lighting and Visual Effects

Lighting Modes

Unity provides three light modes controlling how illumination is calculated.

Realtime Lights

  • Calculate lighting every frame at runtime
  • Allow dynamic changes to intensity, color, position
  • Cast shadows up to Shadow Distance
  • Contribute only direct lighting by default (no bounced light)
  • Higher runtime cost, especially in complex scenes or low-end hardware
  • Best for: dynamic objects, flickering effects, moving light sources

Baked Lights

  • Calculations performed in the Unity Editor and saved as lighting data to disk
  • At runtime, Unity loads pre-computed data instead of calculating dynamically
  • Bake both direct and indirect lighting into lightmaps
  • Store information in Light Probes for moving objects
  • Cannot modify light properties at runtime; do not illuminate dynamic GameObjects
  • No specular contributions
  • Best for: static scenery, complex indirect lighting, performance-critical scenarios

Mixed Lights

  • Combine baked indirect lighting with real-time direct lighting
  • Behavior depends on the Lighting Mode setting in the Lighting window
  • Cast real-time shadows (not baked soft shadows)
  • Can change properties at runtime (affects real-time component only)
  • Always more expensive than fully baked lighting
  • Best for: dynamic shadows with baked background lighting

Important: All baked/mixed modes require Baked Global Illumination enabled. Without it, Mixed and Baked lights behave as Realtime.

Light Types

Directional Light

  • Located infinitely far away, emits light in one direction
  • Parallel rays, no distance-based intensity falloff
  • Simulates sun/moon; every new scene includes one by default
  • Links to procedural sky system; rotate to create time-of-day effects

Point Light

  • Located at a point, emits in all directions equally
  • Intensity follows inverse square law (diminishes with distance squared)
  • Use for lamps, explosions, local illumination

Spot Light

  • Located at a point, emits in a cone shape
  • Adjustable cone angle; light diminishes at edges (penumbra)
  • Wider angles create larger fade areas
  • Use for flashlights, headlights, searchlights

Area Light

  • Defined by a rectangle or disc; emits uniformly across surface
  • Follows inverse square law; produces soft, subtle shading
  • Bake-only -- not available at runtime
  • Use for street lights, realistic interior lighting

Global Illumination

Global illumination (GI) simulates how light bounces between surfaces, producing realistic indirect lighting.

Baked GI

  • Pre-computes indirect lighting into lightmaps using the Progressive Lightmapper (CPU or GPU)
  • Results stored in lightmap textures and Light Probes
  • Configure in the Lighting window under Bake settings
  • GPU Progressive Lightmapper offers faster bake times with configurable tile sizes

Environment Lighting

Three ambient light sources configured in the Lighting window Environment tab:

  • Skybox: Uses skybox material colors for ambient light from different angles
  • Gradient: Separate sky, horizon, and ground colors with smooth blending
  • Color: Uniform ambient light across the scene

Intensity Multiplier (0-8, default 1) controls ambient brightness.

Environment Reflections

  • Source: Skybox or custom Cubemap/RenderTexture
  • Configurable resolution, compression, intensity multiplier
  • Bounces setting controls reflection evaluation iterations between objects

Light Probes and Adaptive Probe Volumes

Light Probes

  • Capture lighting information in empty space throughout a scene
  • At runtime, indirect lighting for dynamic GameObjects is approximated using nearest probes
  • Provide indirect bounced light for moving objects and LOD system support
  • Must be manually placed using Light Probe Groups
  • Store baked lighting information; work with both direct and indirect lighting

Adaptive Probe Volumes (APV)

APV is the modern replacement for manual Light Probe placement in URP:

  • Automated probe placement -- eliminates manual Light Probe Group positioning
  • Per-pixel lighting -- superior quality compared to per-object approaches
  • Scene baking -- bake multiple scenes together using Baking Sets
  • Runtime adjustments -- Lighting Scenarios and sky occlusion for dynamic changes
  • Large-world support -- streaming data for expansive open-world environments
  • Data flexibility -- loading from AssetBundles or Addressables
  • Configurable probe density and volume size with visualization tools

Reflection Probes

Capture a spherical view of surroundings as a cubemap for reflective materials.

Types

TypeDescription
BakedCaptures static GameObjects only; best performance
CustomAllows dynamic object capture with custom textures
RealtimeUpdates during gameplay; configurable refresh mode

Key Properties

  • Importance: Rendering priority when multiple probes overlap
  • Intensity: Texture brightness in shader calculations
  • Box Projection: Enables projection mapping for interiors (requires URP config)
  • Box Size/Offset: World-space bounding box for reflection contribution
  • Blend Distance: Blending distance for deferred probes

Realtime Options

  • Refresh Mode: On Awake, Every Frame, or Via Scripting
  • Time Slicing: All Faces At Once, Individual Faces, No Time Slicing

Particle System vs VFX Graph

FeatureParticle SystemVFX Graph
SimulationCPU-basedGPU-based
Particle countThousandsMillions
Render pipelineAll pipelinesURP/HDRP only
AuthoringInspector modulesNode-based graph editor
PhysicsBuilt-in collisionCustom collision blocks
ScriptingFull C# APIEvent-based C# API
Sub-emittersNative supportGPU Event contexts
Best forSmall/medium effects, mobileLarge-scale effects, high-end

Decision Guide:

  • Use Particle System for mobile targets, simple effects, when you need full CPU-side scripting control, or when targeting the Built-in Render Pipeline
  • Use VFX Graph for massive particle counts, GPU-driven simulations, complex node-based authoring, or high-end platforms with URP/HDRP

Particle System Modules

ModulePurpose
MainInitial state: lifetime, speed, size, gravity, simulation space
EmissionRate and timing of particle spawns
ShapeVolume/surface for emission and start velocity direction
Velocity over LifetimeModify movement over particle age
NoiseTurbulence for organic, chaotic motion
Limit Velocity over LifetimeNatural deceleration
Force over LifetimeSimulated physics forces
Inherit VelocitySub-emitter particles match parent velocity
Lifetime by Emitter SpeedAdjust lifespan based on emitter velocity
Color over Lifetime / by SpeedColor changes based on age or velocity
Size over Lifetime / by SpeedDimension changes based on time or speed
Rotation over Lifetime / by SpeedOrientation changes
CollisionParticle collisions with scene geometry
TriggersDesignate particles as collision triggers
Sub EmittersParticles that emit other particles
Texture Sheet AnimationTexture grid animation frames
TrailsMotion trail rendering
LightsReal-time lights on particles
External ForcesWind zones and force fields
RendererImage/mesh transform, shading, overdraw
Custom DataAttach custom data to particles

VFX Graph Basics

Systems

  1. Spawn System: Single Spawn Context managing emission
  2. Particle System: Initialize -> Update -> Output succession
  3. Mesh Output System: Single Mesh Output Context

Contexts

  • Spawn: Executes each frame to calculate spawn amounts. States: Running, Idle, Waiting. Configurable loop duration, count, and delays
  • Initialize: Runs at particle birth, sets initial state. Processes Blocks for newly spawned particles. Configurable bounds and capacity
  • Update: Per-frame for all living particles. Automatic: position integration, rotation integration, aging, reaping
  • Output: Renders particles (Quad, Mesh, etc.). No output ports. Customizable rendering blocks

Graph Elements

  • Blocks: Stackable nodes within Contexts; each handles one operation; top-to-bottom execution
  • Operators: Low-level property workflow nodes connecting to Block/Context ports
  • Properties: Connectable via property workflow
  • Settings: Non-connectable editable values per Context

GPU Events

Experimental feature where GPU computes events (vs CPU for normal events). Cannot be customized with Blocks.

Common Patterns (C#)

Create and Configure a Light

using UnityEngine;

public class LightSetup : MonoBehaviour
{
    void Start()
    {
        GameObject lightObj = new GameObject("Dynamic Light");
        Light light = lightObj.AddComponent<Light>();
        light.type = LightType.Point;
        light.color = Color.yellow;
        light.intensity = 2.0f;
        light.range = 15f;
        light.shadows = LightShadows.Soft;
        light.shadowResolution = UnityEngine.Rendering.LightShadowResolution.Medium;
    }
}

Create a Realtime Reflection Probe

using UnityEngine;
using UnityEngine.Rendering;

public class ProbeSetup : MonoBehaviour
{
    void Start()
    {
        GameObject probeObj = new GameObject("Realtime Reflection Probe");
        ReflectionProbe probe = probeObj.AddComponent<ReflectionProbe>();
        probe.size = new Vector3(10, 10, 10);
        probe.mode = ReflectionProbeMode.Realtime;
        probe.refreshMode = ReflectionProbeRefreshMode.EveryFrame;
        probe.resolution = 256;
        probe.hdr = true;
    }
}

Control Particle System at Runtime

using UnityEngine;

public class ParticleController : MonoBehaviour
{
    ParticleSystem ps;

    void Start()
    {
        ps = GetComponent<ParticleSystem>();

        // Modify emission rate -- cache module in local variable first
        var emission = ps.emission;
        emission.rateOverTimeMultiplier = 50f;

        // Modify main module
        var main = ps.main;
        main.startLifetime = 3f;
        main.startSpeed = 5f;
        main.simulationSpace = ParticleSystemSimulationSpace.World;
    }

    void OnTriggerEnter(Collider other)
    {
        // Burst emit particles
        ps.Emit(100);
    }

    void OnDisable()
    {
        ps.Stop(true, ParticleSystemStopBehavior.StopEmittingAndClear);
    }
}

VFX Graph Runtime Control

using UnityEngine;
using UnityEngine.VFX;

public class VFXController : MonoBehaviour
{
    VisualEffect vfx;
    VFXEventAttribute eventAttr;

    void Start()
    {
        vfx = GetComponent<VisualEffect>();
        eventAttr = vfx.CreateVFXEventAttribute();

        // Set exposed properties
        vfx.SetFloat("SpawnRate", 100f);
        vfx.SetVector3("Direction", Vector3.up);
        vfx.playRate = 1.5f;
    }

    void OnTriggerEnter(Collider other)
    {
        // Send custom event with attributes
        eventAttr.SetVector3("position", other.transform.position);
        vfx.SendEvent("OnHit", eventAttr);
    }

    public void StopEffect()
    {
        vfx.Stop();
    }
}

Refresh Reflection Probe on Demand

using UnityEngine;

public class ProbeRefresher : MonoBehaviour
{
    ReflectionProbe probe;

    void Start()
    {
        probe = GetComponent<ReflectionProbe>();
        probe.refreshMode = UnityEngine.Rendering.ReflectionProbeRefreshMode.ViaScripting;
    }

    public void RefreshReflections()
    {
        probe.RenderProbe();
    }

    public bool IsReady()
    {
        return probe.IsFinishedRendering(probe.RenderProbe());
    }
}

Anti-Patterns

Lighting Anti-Patterns

  1. Too many Realtime lights: Each realtime light adds per-frame cost. Use Baked or Mixed for static lights
  2. Forgetting to enable Baked Global Illumination: Mixed/Baked lights silently fall back to Realtime without it
  3. Overlapping Reflection Probes without Importance values: Causes flickering; always set Importance to establish priority
  4. Using Area Lights expecting runtime behavior: Area lights are bake-only; they produce no light at runtime
  5. Ignoring Indirect Multiplier: Leaving at default can cause over-bright or too-dark bounced light; tune per light
  6. Not setting Shadow Bias correctly: Too low causes self-shadowing artifacts (shadow acne); too high causes peter-panning (shadows detach from objects)
  7. Manual Light Probe placement in large scenes: Use Adaptive Probe Volumes (APV) in URP instead for automated, per-pixel quality

Particle System Anti-Patterns

  1. Not caching module references: Each property access on a module struct immediately writes to native code; cache the module variable
  2. Using World simulation space for attached effects: Particles drift away from moving parents; use Local space for attached FX
  3. Excessive particle counts on CPU: Particle System is CPU-bound; for >10K particles, consider VFX Graph
  4. Forgetting to Stop/Clear: Leaked particle systems consume CPU even when invisible

VFX Graph Anti-Patterns

  1. Using VFX Graph for simple effects on mobile: GPU overhead and URP/HDRP requirement make it overkill for simple mobile effects
  2. Not setting Capacity in Initialize: Default capacity may allocate too much or too little GPU memory
  3. Ignoring Bounds: Incorrect bounds cause effects to be culled when visible; always configure bounds in Initialize context
  4. Sending events every frame without throttling: SendEvent has CPU-GPU sync cost; batch or throttle event dispatch

Key API Quick Reference

Light (UnityEngine.Light)

MemberTypeDescription
typePropertyLightType (Directional, Point, Spot, Area)
colorPropertyEmitted light color
intensityPropertyBrightness multiplier
rangePropertyMax distance (Point/Spot)
spotAngle / innerSpotAnglePropertyOuter/inner cone angles
shadowsPropertyLightShadows (None, Hard, Soft)
shadowResolutionPropertyShadow map quality
shadowBias / shadowNormalBiasPropertyShadow artifact reduction
bounceIntensityPropertyGI bounce strength
cookiePropertyProjected texture mask
cullingMaskPropertyLayer-based filtering
colorTemperaturePropertyCCT in Kelvin
lightmapBakeTypePropertyBaking configuration
bakingOutputPropertyLast bake contribution details
AddCommandBuffer()MethodExecute GPU commands at specified points

ParticleSystem (UnityEngine.ParticleSystem)

MemberTypeDescription
main / emission / shapePropertyModule access structs
particleCountPropertyCurrent active particles
isPlaying / isPaused / isStoppedPropertyPlayback state
Play() / Pause() / Stop()MethodPlayback control
Emit(count)MethodImmediate particle spawn
Simulate(time)MethodFast-forward simulation
GetParticles() / SetParticles()MethodDirect particle data access
Clear()MethodRemove all particles
TriggerSubEmitter()MethodActivate sub-emitters

VisualEffect (UnityEngine.VFX.VisualEffect)

MemberTypeDescription
visualEffectAssetPropertyAssign/change effect graph
playRatePropertySimulation speed
aliveParticleCountPropertyActive particle count
Play() / Stop() / Reinit()MethodPlayback control
SendEvent(name, attr)MethodTrigger graph events
CreateVFXEventAttribute()MethodCreate event payload
SetFloat() / SetVector3() / etc.MethodSet exposed properties
GetFloat() / GetVector3() / etc.MethodRead exposed properties
HasFloat() / HasVector3() / etc.MethodCheck property existence
ResetOverride(property)MethodRestore original values

ReflectionProbe (UnityEngine.ReflectionProbe)

MemberTypeDescription
modePropertyBaked/Custom/Realtime
size / centerPropertyBounding box config
intensity / importancePropertyBrightness and priority
boxProjectionPropertyEnable box projection
refreshMode / timeSlicingModePropertyRealtime update config
RenderProbe()MethodForce cubemap refresh
IsFinishedRendering()MethodCheck time-sliced completion
BlendCubemap()MethodBlend two cubemaps

Related Skills

  • unity-graphics -- Render pipelines (URP/HDRP/Built-in), shaders, materials, cameras
  • unity-2d -- 2D lighting (URP 2D Renderer), sprite rendering
  • unity-platforms -- Platform-specific lighting quality tiers, mobile optimization

Additional Resources

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.11%
按下载量换算38

Claude

27.35%
按下载量换算30

Cursor

19.19%
按下载量换算21

Gemini CLI

10.07%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

执行命令

安装流程涉及命令执行,可能通过 npx skills add https://github.com/nice-wolf-studio/unity-claude-skills --skill unity-lighting-vfx 联网下载 Skill 或依赖。用户安装前应确认命令来源、仓库内容和执行环境。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills