• 2024-11-01特效通用的半透明等材质
    逐片元操作这一阶段也叫做输出合并阶段主要任务有:1.决定每个片元的可见性涉及很多测试 例如:模版测试、深度测试等2.如果一个片元通过了所有的测试,就需要把这个片元的颜色值和已经存储在颜色缓冲区的颜色进行合并,也叫做混合帧缓冲区帧缓冲区也叫做帧缓存,是用于存放一
  • 2024-10-30OpenCL 实现Sobel边界检测过滤
    1.Sobel边界检测过滤器        Sobel算子是计算机视觉领域的一种重要处理方法。主要用于获得数字图像的一阶梯度,常见的应用和物理意义是边缘检测。 Sobel算子是把图像中每个像素的上下左右四邻域的灰度值加权差,在边缘处达到极值从而检测边缘。        在边
  • 2024-10-24Unity 5.6 Basic shader framework
    UnityShader参考入口VertexandfragmentshaderShader"Unlit/NewUnlitShader"{Properties{_MainTex("Texture",2D)="white"{}}SubShader{Tags{"RenderType"="Opaque&quo
  • 2024-10-23Unity3D教程:次表面散射的简单实现
    次表面散射指的是光线射入半透明材质,在内部发生散射后再透射出来的光线传播过程,考虑到有些项目会需要使用次表面散射,下面就给大家介绍下在Unity3D中次表面散射的简单实现,希望可以帮到大家。 一、前言本文旨在与大家一起探讨学习新知识,如有疏漏或者谬误,请大家不吝指出。以下内
  • 2024-10-23卡通渲染(描边方案)
    法线外扩Pass{Name"OutLine"CullFrontZWriteOnCGPROGRAM#pragmavertexvert#pragmafragmentfrag#include"UnityCG.cginc"structappdata{float
  • 2024-10-23阴影
    实时阴影渲染自定义阴影原理平面阴影Pass{Name"Shadow"BlendSrcAlphaOneMinusSrcAlphaStencil//避免阴影重影{Ref255CompNotEqualPassReplace
  • 2024-10-23unity贴花实现
    Shader"Decal"{Properties{_MainTex("Texture",2D)="white"{} _MixedColor("MixedColor",Color)=(1,1,1,1)//颜色混合 _Alpha("Alpha",Range(0,1.0))=1//透明度}SubShader{
  • 2024-10-23Unity Shader-GodRay,体积光(BillBoard,Volume Shadow,Raidal Blur,Ray-Marching)
    前言好久没有更新博客了,经历了不少事情,好在最近回归了一点正轨,决定继续UnityShader的学习之路。作为回归的第一篇,来玩一个比较酷炫的效果(当然废话也比较多),一般称之为GodRay(圣光),也有人叫它云隙光,还有人叫它体积光(探照灯)。这几个名字对应几种类似的效果,但是实现方式相差甚远。先来
  • 2024-10-10UE4.26 Emissive Decal(发光贴花)模拟Light Function
    【USparkle专栏】如果你深怀绝技,爱“搞点研究”,乐于分享也博采众长,我们期待你的加入,让智慧的火花碰撞交织,让知识的传递生生不息!主要是想用EmissiveDecal(发光贴花)来模拟出SpotLight的LightFunction效果。原因是SpotLight的LightFunction依赖于阴影,而SpotLight开阴影比较费,且U
  • 2024-07-16假阴影,低开销的阴影实现方式
    参考:Unity无光照假阴影Shader实现及常见问题总结-简书(jianshu.com) 游戏实现阴影的常见处理方式(动态人或物,非烘焙)1.实时光照实时光照属于真阴影,一般来说效果是最好的,但是开销也是最大的。 ShadowMap(阴影贴图)跟SoftShadows(软阴影)-JeasonBoy-博客园(cn
  • 2024-07-14【Shader】ComputeScreenPos 的使用
     在顶点着色器中使用ComputeScreenPos.使用tex2Dproj搭配screenPos来按屏幕uv采样屏幕材质(如_CameraDepthTexture和_CameraNormalTexture).ComputeScreenPos:接受的输入顶点在裁剪空间(经过MVPmatrix的变换)的位置将输出从  ---转自 ComputeSc
  • 2024-06-04URP案例(较重要)
    简约水面场景准备:水底和水面的示例物体天空球和天空球一样的Cubemap组成部分深度颜色水下扭曲泡沫高光反射焦散代码部分github地址:有注释,就不写了详细过程了C# usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;namespaceU
  • 2024-06-01Unity 实现让物体渲染在最前面
    演示实现方案1.创建一个shader脚本2.删掉原来的内容:我们自己写附上完整的shader代码:Shader"Custom/ZTestAlways"{Properties{_Color("ColorTint",Color)=(1,1,1,1)_MainTex("MainTex",2D)="white"{}}Sub
  • 2024-03-02【Filament】材质系统
    1前言​本文主要介绍Filament的材质系统,官方介绍详见→FilamentMaterialsGuide。材质系统中会涉及到一些空间和变换的知识点,可以参考:【Unity3D】空间和变换、【Unity3D】Shader常量、变量、结构体、函数、【OpenGLES】MVP矩阵变换、【OpenGLES】透视变换原理。​
  • 2024-03-01Unity 贴图叠加,添加水印
    原创内容,转载请标明出处Shader"Custom/AddWatermarkShader"{Properties{_MainTex("MainTexture",2D)="white"{}_WatermarkTex("WatermarkTexture",2D)="white"{}_WatermarkPosit
  • 2024-01-26标准光照Shader
    思路《Shader入门精要》看到第九章,试着结合前面的知识实现一个标准光照模型,采用Blin-Phong模型,分为三大部分环境光,漫反射,高光反射。实现过程中加入凹凸效果,阴影效果。注释部分是透明效果,采用透明度测试的方法实现。具体细节见代码代码//UpgradeNOTE:replaced'mul(UNITY_MAT
  • 2024-01-25Shader实现翻书效果
    原理翻书这个过程可以看成是平面上的点都绕z轴旋转,但是直接这样写的话会出现问题。因为旋转轴是在中间的,所以我们在旋转之前要把点向左偏移5个单位这样旋转轴就到了最左边,然后再乘上旋转矩阵得到旋转之后的位置,再向右边偏移5个单位还原一下。这样实现的太生硬了,所以带入正弦函数
  • 2023-12-31Unity3d Vertex/Fragment Shader添加Shadow
    Shader"ZX/BaseVertFragmentShadow"{Properties{_DiffuseTexture("DiffuseTexture",2D)="white"{}_DiffuseTint("DiffuseTint",Color)=(1,1,1,1)}SubShader{
  • 2023-12-14Unity shader 里面使用数组
    很多人不知道Unityshader是支持通过C#脚本,往shader脚本里写入数组的。我不知道Properties里面怎么写,但是可以用C#代码往里写。数组的总长度似乎最大2048。注意,是所有数组的总长度加一起不能超过2048。比如你写了五个数组,每个数组的长度是100,五个数组的总长度就是500。不是
  • 2023-12-06Unity DOTS《群体战斗弹幕游戏》核心技术分析之3D角色动画 鲨鱼辣椒 鲨鱼辣椒
    最近DOTS发布了正式的版本,我们来分享现在流行基于群体战斗的弹幕类游戏,实现的核心原理。今天给大家介绍大规模战斗群体3D角色的动画如何来实现。DOTS对角色动画支持的局限性截止到UnityDOTS发布的版本1.0.16,目前还是无法很好的支持3D角色动画。在DOTS的baker过程种,不支持
  • 2023-11-01【MME编写入门】光照模型
    float4x4WorldViewMatrix:WORLDVIEW;float4x4WorldViewProjMatrix:WORLDVIEWPROJECTION;float4x4WorldMatrix:WORLD;//需要用到的矩阵//需要用到光的位置、相机位置float3LightDirection:DIRECTION<stringObject="Light";>;fl
  • 2023-11-01【MME编写入门】后处理模板
    1float4ClearColor={1,1,1,0};2floatClearDepth=1.0;34floatScript:STANDARDSGLOBAL<5stringScriptOutput="color";6stringScriptClass="scene";7stringScriptOrder="postprocess";8
  • 2023-10-20基于SDF的光照效果
    基于SDF的光照效果好久没写博客了,怠惰了,就当爬了一步原神二次元风格面部渲染效果ShowmethecodeShader"Unlit/SDF"{Properties{_Color("Color",Color)=(1,1,1,1)_MainTex("Texture",2D)="white"{}_SdfTex(&
  • 2023-09-17Unity URP 仿原神渲染解析
    OutlinePass用于渲染轮廓。这个Pass看起来比较简单,就是对模型正面剔除后,将背面沿法线偏移线宽的距离,然后直接用轮廓线的颜色渲染背面。ShaderLabPass{Name"Outline"Tags{"LightMode"="SRPDefaultUnlit"}CullFront//进行了正面剔除
  • 2023-09-13Unity Shader顶点数据疑问
    1)UnityShader顶点数据疑问2)Unity2018发布在iOS16.3偶尔出现画面不动的问题3)安卓游戏启动后提示“应用程序异常”这是第352篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。UWA社区主页:community.uwa4d.comU