木匠沙
码龄24年
关注
提问 私信
  • 博客:19,046
    社区:5,842
    24,888
    总访问量
  • 9
    原创
  • 1,023,363
    排名
  • 12
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:广东省
  • 加入CSDN时间: 2001-03-02
博客简介:

木匠沙的专栏

查看详细资料
个人成就
  • 获得8次点赞
  • 内容获得2次评论
  • 获得30次收藏
创作历程
  • 9篇
    2022年
成就勋章
TA的专栏
  • Shader
    9篇
  • Shader Graph
    1篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

9、无须光照的模型假阴影实现 URP

模型阴影我们在实际项目中,经常会有模型影子的需求。这个时候如果使用光照的话,在移动端性能消耗太大。如果使用一个假的阴影片,效果又不太好。我们希望有能够有和灯光系统一样的阴影效果。我们通过模拟灯光的方式来实现之前我们写的shader都是对顶点颜色的控制,也就是fragment shader的编写。这次我们需要产生阴影,那么就要用到vector shader的编写。我们首先写一个简单模型渲染shader这次还是一个双pass的shader实现。Shader "Unlit/ModelShad
原创
发布博客 2022.05.25 ·
1523 阅读 ·
4 点赞 ·
2 评论 ·
14 收藏

8、2D建筑与3D模型的遮挡问题 URP Shader

在我们的实际项目中根据实际情况,我们的建筑采用了2D面片的方式,但因为我们的英雄是3D模型,同时策划有需求,英雄可以在主城里面走动。这个时候就给我们提出了一个比较麻烦的问题,我们知道正常情况下渲染是谁的渲染队列高谁渲染在上面,我们这里英雄的Render Queue是2900,建筑面片的Render Queue是2800.渲染结果就会是下图的样子。我们希望的是2D的建筑能正确的遮挡3D模型。模型在建筑前面时又可以正常显示也就是在部分区域可以遮挡模型,其它区域不遮挡模型。但是这样的需求,单Pass
原创
发布博客 2022.05.15 ·
837 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

ROK 万国觉醒 建筑 shader

发布资源 2022.05.14 ·
shadergraph

7、万国觉醒建筑白天黑夜效果(Shader Graph)

建筑白天黑夜效果实现,包含Shader Graph实现、HLSL代码实现。
原创
发布博客 2022.05.13 ·
1538 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

6、Shader 如何支持半透

如何增加半透支持我们在实际项目中,很多情况下渲染都是需要支持半透材质的。我们之前的shader大家如果尝试过,可能会发现是不支持半透材质的。我们继续修改之前的示例shader首先将Tags 中的RenderType 和Queue的值都改为transparent,也就是默认支持半透渲染。加入Blend指令,用来指明半透物体之间如何混合。Shader "Mark/Unlit" { //名字 Properties { _MainTex ("Base (RGB)", 2D) = "white"
原创
发布博客 2022.05.10 ·
1041 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

5、Shader如何启用SPR Batcher支持

如果查看Shader是否支持SPR Batcher我们可以在Unity里面看一下我们之前写的示例Shader红框位置是直接回显示是否适配SPR Batcher,我们的示例Shader是不适配的。白色叹号后面是具体的说明。下面我们来改一下示例Shader,在pass的自定义属性加上CBUFFER_START、CUBFFER_END。Shader "Mark/Unlit" { //名字 Properties { _MainTex ("Base (RGB)", 2D) = "white" {}
原创
发布博客 2022.05.09 ·
901 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

4、Shader示例分析

先来看一下之前介绍Shader基本结构的shaser 示例代码。关键位置都已经加了注释、了解一下就可以,后面我们会用示例的方式一点点的去了解、学习。Shader "Mark/Unlit" { //名字 Properties { _MainTex ("Base (RGB)", 2D) = "white" {} //定义贴图属性 _Color("Main Color", Color) = (1,1,1,1) //定义一个主颜色 } SubShader { Tags {"R
原创
发布博客 2022.05.09 ·
176 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

3、shader的基本结构

shader的基本结构Shader "ShaderName"{ Properties{ ... } SubShader{ ... } Fallback "VertexLit"}ShaderName是自己定义的shader名字,可以类似“Custom/MyShader”这样来定义目录结构,不需要和文件名相同。Properties是用来自定义属性SubS
原创
发布博客 2022.05.08 ·
337 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2、为什么选择URP

为什么选择URP现在所在项目为SLG类项目,有同屏200+英雄的需求。Unity传统渲染管线的动态批处理有个限制是Skined Mesh Renderer不能进行动态批处理。英雄如果不采用Skined Mesh Renderer又不能满足美术的需求。URP 的 SRP Batcher的功能恰好可以完美解决这个问题。UPR在灯光处理上可以极大的降低消耗,在高模英雄展示上我们可以增加一些辅助光源来提高展示质量。SRP BatcherSRP Batcher 是一个渲染循环,可通过许多使用同一着色器变
原创
发布博客 2022.05.08 ·
2290 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

1、什么是Shader

什么是ShaderShader,中文名为着色器。Shader其实就是专门用来渲染图形的一种技术,通过shader,我们可以自定义显卡渲染画面的算法,使画面达到我们想要的效果。小到每一个像素点,大到整个屏幕。
原创
发布博客 2022.05.08 ·
10261 阅读 ·
4 点赞 ·
0 评论 ·
6 收藏