mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-03-26 22:49:01 +08:00
Merge branch '4.1' into 4.2-beta
This commit is contained in:
commit
8ef5a6537a
@ -162,6 +162,8 @@
|
|||||||
* Added `Spine/SkeletonGraphic Fill` shader to provide functionality of `Spine/Skeleton Fill` shader for `SkeletonGraphic`.
|
* Added `Spine/SkeletonGraphic Fill` shader to provide functionality of `Spine/Skeleton Fill` shader for `SkeletonGraphic`.
|
||||||
* Lit Spine URP shaders (`Universal Render Pipeline/Spine/Sprite` and `Universal Render Pipeline/Spine/Skeleton Lit`) now support `Forward+` rendering path as introduced by Unity 2022.2 and URP version 14.
|
* Lit Spine URP shaders (`Universal Render Pipeline/Spine/Sprite` and `Universal Render Pipeline/Spine/Skeleton Lit`) now support `Forward+` rendering path as introduced by Unity 2022.2 and URP version 14.
|
||||||
* `SkeletonGraphic` now supports automatic scaling based on its `RectTransform` bounds. Automatic scaling can be enabled by setting the added `Layout Scale Mode` Inspector property to either `Width Controls Height`, `Height Controls Width`, `FitInParent` or `EnvelopeParent`. It is set to `None` by default to keep previous behaviour and avoid breaking existing projects. To modify the reference layout bounds, hit the additional `Edit Layout Bounds` toggle button to switch into edit mode, adjust the bounds or hit `Match RectTransform with Mesh`, and hit the button again when done adjusting. The skeleton will now be scaled accordingly to fit the reference layout bounds to the object's `RectTransform`.
|
* `SkeletonGraphic` now supports automatic scaling based on its `RectTransform` bounds. Automatic scaling can be enabled by setting the added `Layout Scale Mode` Inspector property to either `Width Controls Height`, `Height Controls Width`, `FitInParent` or `EnvelopeParent`. It is set to `None` by default to keep previous behaviour and avoid breaking existing projects. To modify the reference layout bounds, hit the additional `Edit Layout Bounds` toggle button to switch into edit mode, adjust the bounds or hit `Match RectTransform with Mesh`, and hit the button again when done adjusting. The skeleton will now be scaled accordingly to fit the reference layout bounds to the object's `RectTransform`.
|
||||||
|
* Added previously missing unlit URP 2D shader variant, available under `Universal Render Pipeline/2D/Spine/Skeleton`.
|
||||||
|
* Added support for light cookies at `Universal Render Pipeline/Spine/Sprite` shader.
|
||||||
|
|
||||||
* **Breaking changes**
|
* **Breaking changes**
|
||||||
* Made `SkeletonGraphic.unscaledTime` parameter protected, use the new property `UnscaledTime` instead.
|
* Made `SkeletonGraphic.unscaledTime` parameter protected, use the new property `UnscaledTime` instead.
|
||||||
|
|||||||
@ -0,0 +1,64 @@
|
|||||||
|
Shader "Universal Render Pipeline/2D/Spine/Skeleton" {
|
||||||
|
Properties {
|
||||||
|
_Cutoff("Shadow alpha cutoff", Range(0,1)) = 0.1
|
||||||
|
[NoScaleOffset] _MainTex("Main Texture", 2D) = "black" {}
|
||||||
|
[Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
|
||||||
|
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
||||||
|
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Comparison", Float) = 8 // Set to Always as default
|
||||||
|
}
|
||||||
|
|
||||||
|
SubShader {
|
||||||
|
// Universal Pipeline tag is required. If Universal render pipeline is not set in the graphics settings
|
||||||
|
// this Subshader will fail.
|
||||||
|
Tags { "RenderPipeline" = "UniversalPipeline" "Queue"="Transparent" "IgnoreProjector"="True" "RenderType"="Transparent" }
|
||||||
|
LOD 100
|
||||||
|
Cull Off
|
||||||
|
ZWrite Off
|
||||||
|
Blend One OneMinusSrcAlpha
|
||||||
|
|
||||||
|
Stencil {
|
||||||
|
Ref[_StencilRef]
|
||||||
|
Comp[_StencilComp]
|
||||||
|
Pass Keep
|
||||||
|
}
|
||||||
|
|
||||||
|
Pass {
|
||||||
|
Tags { "LightMode" = "Universal2D" }
|
||||||
|
|
||||||
|
ZWrite Off
|
||||||
|
Cull Off
|
||||||
|
Blend One OneMinusSrcAlpha
|
||||||
|
|
||||||
|
HLSLPROGRAM
|
||||||
|
// Required to compile gles 2.0 with standard srp library
|
||||||
|
#pragma prefer_hlslcc gles
|
||||||
|
#pragma exclude_renderers d3d11_9x
|
||||||
|
|
||||||
|
// -------------------------------------
|
||||||
|
// Unity defined keywords
|
||||||
|
#pragma multi_compile_fog
|
||||||
|
|
||||||
|
//--------------------------------------
|
||||||
|
// GPU Instancing
|
||||||
|
#pragma multi_compile_instancing
|
||||||
|
|
||||||
|
//--------------------------------------
|
||||||
|
// Spine related keywords
|
||||||
|
#pragma shader_feature _ _STRAIGHT_ALPHA_INPUT
|
||||||
|
#pragma vertex vert
|
||||||
|
#pragma fragment frag
|
||||||
|
|
||||||
|
#undef LIGHTMAP_ON
|
||||||
|
|
||||||
|
#define USE_URP
|
||||||
|
#define fixed4 half4
|
||||||
|
#define fixed3 half3
|
||||||
|
#define fixed half
|
||||||
|
#include "../Include/Spine-Input-URP.hlsl"
|
||||||
|
#include "../Include/Spine-Skeleton-ForwardPass-URP.hlsl"
|
||||||
|
ENDHLSL
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
FallBack "Hidden/InternalErrorShader"
|
||||||
|
}
|
||||||
@ -0,0 +1,9 @@
|
|||||||
|
fileFormatVersion: 2
|
||||||
|
guid: 3bb7ed9d223c7d749bc42dad56e4ad0f
|
||||||
|
ShaderImporter:
|
||||||
|
externalObjects: {}
|
||||||
|
defaultTextures: []
|
||||||
|
nonModifiableTextures: []
|
||||||
|
userData:
|
||||||
|
assetBundleName:
|
||||||
|
assetBundleVariant:
|
||||||
@ -5,7 +5,7 @@
|
|||||||
[Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
|
[Toggle(_STRAIGHT_ALPHA_INPUT)] _StraightAlphaInput("Straight Alpha Texture", Int) = 0
|
||||||
[MaterialToggle(_LIGHT_AFFECTS_ADDITIVE)] _LightAffectsAdditive("Light Affects Additive", Float) = 0
|
[MaterialToggle(_LIGHT_AFFECTS_ADDITIVE)] _LightAffectsAdditive("Light Affects Additive", Float) = 0
|
||||||
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
||||||
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 0.0 // Disabled stencil test by default
|
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 8 // Set to Always as default
|
||||||
}
|
}
|
||||||
|
|
||||||
HLSLINCLUDE
|
HLSLINCLUDE
|
||||||
|
|||||||
@ -39,7 +39,7 @@ Shader "Universal Render Pipeline/2D/Spine/Sprite"
|
|||||||
[HideInInspector] _RenderQueue("__queue", Float) = 0.0
|
[HideInInspector] _RenderQueue("__queue", Float) = 0.0
|
||||||
[HideInInspector] _Cull("__cull", Float) = 0.0
|
[HideInInspector] _Cull("__cull", Float) = 0.0
|
||||||
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
||||||
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 0.0 // Disabled stencil test by default
|
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 8 // Set to Always as default
|
||||||
}
|
}
|
||||||
|
|
||||||
HLSLINCLUDE
|
HLSLINCLUDE
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
#include "SpineCoreShaders/Spine-Common.cginc"
|
#include "SpineCoreShaders/Spine-Common.cginc"
|
||||||
#include "Spine-Common-URP.hlsl"
|
#include "Spine-Common-URP.hlsl"
|
||||||
|
|
||||||
#if defined(_RIM_LIGHTING) || defined(_ADDITIONAL_LIGHTS) || defined(MAIN_LIGHT_CALCULATE_SHADOWS)
|
#if defined(_RIM_LIGHTING) || defined(_ADDITIONAL_LIGHTS) || defined(MAIN_LIGHT_CALCULATE_SHADOWS) || defined(_LIGHT_COOKIES)
|
||||||
#define NEEDS_POSITION_WS
|
#define NEEDS_POSITION_WS
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -122,6 +122,10 @@ half4 LightweightFragmentPBRSimplified(InputData inputData, half4 texAlbedoAlpha
|
|||||||
#else
|
#else
|
||||||
Light mainLight = GetMainLight();
|
Light mainLight = GetMainLight();
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(_LIGHT_COOKIES)
|
||||||
|
half3 cookieColor = SampleMainLightCookie(inputData.positionWS);
|
||||||
|
mainLight.color *= cookieColor;
|
||||||
|
#endif
|
||||||
|
|
||||||
half3 finalColor = inputData.bakedGI * albedo.rgb;
|
half3 finalColor = inputData.bakedGI * albedo.rgb;
|
||||||
finalColor += LightingPhysicallyBased(brdfData, mainLight, inputData.normalWS, inputData.viewDirectionWS);
|
finalColor += LightingPhysicallyBased(brdfData, mainLight, inputData.normalWS, inputData.viewDirectionWS);
|
||||||
@ -193,6 +197,11 @@ half4 LightweightFragmentBlinnPhongSimplified(InputData inputData, half4 texDiff
|
|||||||
#else
|
#else
|
||||||
Light mainLight = GetMainLight();
|
Light mainLight = GetMainLight();
|
||||||
#endif
|
#endif
|
||||||
|
#if defined(_LIGHT_COOKIES)
|
||||||
|
half3 cookieColor = SampleMainLightCookie(inputData.positionWS);
|
||||||
|
mainLight.color *= cookieColor;
|
||||||
|
#endif
|
||||||
|
|
||||||
half3 diffuseLighting = inputData.bakedGI;
|
half3 diffuseLighting = inputData.bakedGI;
|
||||||
|
|
||||||
half3 attenuation = mainLight.distanceAttenuation* mainLight.shadowAttenuation;
|
half3 attenuation = mainLight.distanceAttenuation* mainLight.shadowAttenuation;
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
[Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0
|
[Toggle(_DOUBLE_SIDED_LIGHTING)] _DoubleSidedLighting("Double-Sided Lighting", Int) = 0
|
||||||
[MaterialToggle(_LIGHT_AFFECTS_ADDITIVE)] _LightAffectsAdditive("Light Affects Additive", Float) = 0
|
[MaterialToggle(_LIGHT_AFFECTS_ADDITIVE)] _LightAffectsAdditive("Light Affects Additive", Float) = 0
|
||||||
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
||||||
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 0.0 // Disabled stencil test by default
|
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 8 // Set to Always as default
|
||||||
}
|
}
|
||||||
|
|
||||||
SubShader {
|
SubShader {
|
||||||
|
|||||||
@ -45,7 +45,7 @@ Shader "Universal Render Pipeline/Spine/Sprite"
|
|||||||
[HideInInspector] _RenderQueue("__queue", Float) = 0.0
|
[HideInInspector] _RenderQueue("__queue", Float) = 0.0
|
||||||
[HideInInspector] _Cull("__cull", Float) = 0.0
|
[HideInInspector] _Cull("__cull", Float) = 0.0
|
||||||
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
[HideInInspector] _StencilRef("Stencil Reference", Float) = 1.0
|
||||||
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 0.0 // Disabled stencil test by default
|
[Enum(UnityEngine.Rendering.CompareFunction)] _StencilComp("Stencil Compare", Float) = 8 // Set to Always as default
|
||||||
}
|
}
|
||||||
|
|
||||||
SubShader
|
SubShader
|
||||||
@ -107,6 +107,8 @@ Shader "Universal Render Pipeline/Spine/Sprite"
|
|||||||
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
|
#pragma multi_compile _ _ADDITIONAL_LIGHT_SHADOWS
|
||||||
#pragma multi_compile _ _SHADOWS_SOFT
|
#pragma multi_compile _ _SHADOWS_SOFT
|
||||||
#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
|
#pragma multi_compile _ _MIXED_LIGHTING_SUBTRACTIVE
|
||||||
|
#pragma multi_compile_fragment _ _LIGHT_COOKIES
|
||||||
|
|
||||||
// Farward+ renderer keywords
|
// Farward+ renderer keywords
|
||||||
#pragma multi_compile_fragment _ _LIGHT_LAYERS
|
#pragma multi_compile_fragment _ _LIGHT_LAYERS
|
||||||
#pragma multi_compile _ _FORWARD_PLUS
|
#pragma multi_compile _ _FORWARD_PLUS
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
"name": "com.esotericsoftware.spine.urp-shaders",
|
"name": "com.esotericsoftware.spine.urp-shaders",
|
||||||
"displayName": "Spine Universal RP Shaders",
|
"displayName": "Spine Universal RP Shaders",
|
||||||
"description": "This plugin provides universal render pipeline (URP) shaders for the spine-unity runtime.\n\nPrerequisites:\nIt requires a working installation of the spine-unity runtime, version 4.2.\n(See http://esotericsoftware.com/git/spine-runtimes/spine-unity)",
|
"description": "This plugin provides universal render pipeline (URP) shaders for the spine-unity runtime.\n\nPrerequisites:\nIt requires a working installation of the spine-unity runtime, version 4.2.\n(See http://esotericsoftware.com/git/spine-runtimes/spine-unity)",
|
||||||
"version": "4.2.10",
|
"version": "4.2.12",
|
||||||
"unity": "2019.3",
|
"unity": "2019.3",
|
||||||
"author": {
|
"author": {
|
||||||
"name": "Esoteric Software",
|
"name": "Esoteric Software",
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user