Unity Spine 3.8 (URP) 踩坑(Shader报错修改)

这篇具有很好参考价值的文章主要介绍了Unity Spine 3.8 (URP) 踩坑(Shader报错修改)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

今天搜索spine优化,看到一篇文章项目导入多个Spine动画 合批 降低DrawCall -- UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

提供了新思路,打算尝试一下URP。但美术使用的spine版本是3.8,项目用的Unity2021.3.11f1c2,直接导入spine URP包,shader报错:half4 不能转成 SurfaceData2D;遂改下并记录:

Spine-SkeletonLit-URP-2D.shader

 #include "Packages/com.unity.render- 
pipelines.universal/Shaders/2D/Include/CombinedShapeLightShared.hlsl"

			half4 CombinedShapeLightFragment(Varyings i) : SV_Target
			{
				half4 tex = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);

				half4 main;
				#if defined(_STRAIGHT_ALPHA_INPUT)
				main.rgb = tex.rgb * i.color.rgb * tex.a;
				#else
				main.rgb = tex.rgb * i.color.rgb;
				#endif
				main.a = tex.a * i.color.a;

				half4 mask = SAMPLE_TEXTURE2D(_MaskTex, sampler_MaskTex, i.uv);
                return CombinedShapeLightShared(main, mask, i.lightingUV);
			}

修改后:
 

#include "Packages/com.unity.render-pipelines.universal/Shaders/2D/Include/CombinedShapeLightShared.hlsl"

			half4 CombinedShapeLightFragment(Varyings i) : SV_Target
			{
				half4 tex = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.uv);

				half4 main;
				#if defined(_STRAIGHT_ALPHA_INPUT)
				main.rgb = tex.rgb * i.color.rgb * tex.a;
				#else
				main.rgb = tex.rgb * i.color.rgb;
				#endif
				main.a = tex.a * i.color.a;

				half4 mask = SAMPLE_TEXTURE2D(_MaskTex, sampler_MaskTex, i.uv);
#if UNITY_VERSION  < 202120
				return half4(CombinedShapeLightShared(half4(main.rgb, 1), mask, i.lightingUV).rgb, main.a);
#else
				SurfaceData2D surfaceData;
				InputData2D inputData;
				surfaceData.albedo = main.rgb;
				surfaceData.alpha = 1;
				surfaceData.mask = mask;
				inputData.uv = i.uv;
				inputData.lightingUV = i.lightingUV;
				return half4(CombinedShapeLightShared(surfaceData, inputData).rgb, main.a);
#endif
				//return CombinedShapeLightShared(main, mask, i.lightingUV);
			}

Spine-Sprite-StandardPass-URP-2D.hlsl 也报这个错,也是同样的改法即可文章来源地址https://www.toymoban.com/news/detail-518331.html

到了这里,关于Unity Spine 3.8 (URP) 踩坑(Shader报错修改)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity URP Shader “Redefinition of _Time“ error

    强烈建议先尝试阅读本文之后自行解决:https://zhuanlan.zhihu.com/p/360566324 我这里记录一下我的思路: 首先检查URP升级是否正确,主要看Asset是否设置,ShaderGraph表现是否正常 尝试排除是否是未定义宏导致的问题,主要是对比ShaderGraph自动生成的代码 确认自己的代码是否使用了

    2024年02月15日
    浏览(28)
  • unity URP 利用particle system制作简单的shader交互

    首先这里制作了一个简单交互,使用shader grapgh,根据计算距离和变化数值的差实现交互后的扩散,同时计算消散遮罩让它逐渐谈去。 将他赋予材质物体,根据脚本传入位置和逐渐变化的大小后,呈现这样的效果。 但是,shader graph这样的工具,在做这种效果非常快的同时,也

    2024年02月07日
    浏览(30)
  • unity build-in 渲染管线升级urp渲染 shader篇

            由于工作原因需要对项目进行升级,从build-in渲染管线升级到urp渲染管线,我自己对应的unity版本是2018.版本升级到2021.3.2版本,由于最近几年unity版本升级比较快,个体版本差异有所不同,如遇与版本不一致问题敬请谅解。以下是根据官网等系列网站整理的内容

    2023年04月16日
    浏览(42)
  • 《Unity的URP项目中使用自定义shader导致材质消失的解决办法》

            在Unity中使用URP时,会有需求使用自定义的一些shader来实现特殊效果,这时如果我们直接使用新建材质与无光照着色器(Unlit shader),可能会发生一个对于新手而言意料之外的问题—— 物体!消失了!         打开你正在使用的的 通用渲染器(Universal Rendere

    2024年02月06日
    浏览(43)
  • Unity Shader 学习笔记(4)URP渲染管线带阴影PBR-Shader模板 -- 新增可自定义阴影颜色

    材质面板截图 功能实现(URP渲染管线下): 1、进一步优化Shader结构和算法; 2、包含PBR材质; 3、投射和接收阴影,并升级 支持自定义阴影颜色 ; 4、支持点光源照射(但不支持点光源阴影)。 通用渲染截图 自定义阴影颜色截图 完整代码: 写在最后: 1、在我的上一篇文

    2024年02月12日
    浏览(29)
  • 【Unity Shader Graph URP渲染管线下的自定义半透明效果_半透明案例分享】

    URP的渲染管线下 在项目设置里找到“Graphic” 找到URP Asset文件 索引到Renderer List文件——“ForwardRenderer” 在这个“ForwardRenderer”文件里找到“Add Renderer Feature” 添加一个渲染对象,类似下图:Render Object (Experimental) 如图设置,将“Event”设置成 AfterRenderingSkybox ,然后“Layer M

    2024年02月09日
    浏览(45)
  • 【unity】URP的shader开发中支持多光源,_ADDITIONAL_LIGHTS_VERTEX 和 _ADDITIONAL_LIGHTS 区别

    项目里有一个其他同事实现的shader,美术那边希望能支持多个光源, 我一看代码里面, frag 函数里已经实现了   代码也加了:             #pragma multi_compile _ _ADDITIONAL_LIGHTS_VERTEX _ADDITIONAL_LIGHTS 材质里加了这个keyword还是没起作用,   若宏控制注了有效。  一开始没搞明白

    2024年02月11日
    浏览(35)
  • 【Unity 踩坑系列】项目升级URP/HDRP渲染管线时如何解决材质丢失问题 (模型全部为粉红色)

    在我们创建项目时候如果我们一开始使用的是默认内置渲染管线,后期项目需要升级到URP或者HDRP渲染管线时有可能会出现预制体材质丢失的问题(原因是大部分资源的预制体在Unity官方推荐使用URP渲染管线之前,都只是使用默认内置管线的材质。所以并不适配现在的URP渲染管

    2024年02月16日
    浏览(40)
  • Unity URP VR 边缘锯齿 闪烁 优化

    1、将ProjectSetting中的Graphics选项卡中的ScriptableRenderPipelineSettings改为UniversalRP-MediumQuality  2、更改UniversalRP-MediumQuality中的AntiAliasing(MSAA) 为4x  3、修改Camera中的Anti-aliasing选项为FXAA,Renderer改为0:UniversalRenderer并勾选PostProcessing选项  修改完后基本能解决大部分锯齿状像素 与闪

    2024年02月15日
    浏览(27)
  • Unity Shader - UI/Default shader 优化示例

    Unity : 2020.3.37f1 Pipeline : BRP 做性能优化都是慢慢都扣出来的 当然,优先处理 top 热点的 但是一些就算不是 top,但是像素面积有多,overdraw 也多不可小觑 当然,如果你能找到性能热点,那还是优先分析一下哪些 shader 占的 cycles 最高,和 A, L/S, T, 最高 还有 register 的数量尽可能

    2024年02月07日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包