返回顶部
首页 > 资讯 > 精选 >Unity图形学中的ShaderLab怎么入门
  • 263
分享到

Unity图形学中的ShaderLab怎么入门

2023-06-22 08:06:38 263人浏览 泡泡鱼
摘要

Unity图形学中的ShaderLab怎么入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.格式Shader "Custom/MyShader&qu

Unity图形学中的ShaderLab怎么入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

1.格式

Shader "Custom/MyShader"//命名+右键创建shader路径{    //属性必须在代码里声明才能使用    Properties{//属性,会出现在inspector面板        _MainTex("Main Tex",2D) = "white"{}//名称("面板显示名称",数据类型) = 初始化    }    //针对不同显卡可以有不同subshader,对应不同品质的渲染    SubShader{        Tags{"LightMode"="ForwardBase"}//tags,定义渲染的设置        ZWrite Off//RenderSetup,渲染设置        Pass{//通道pass,一个subshader可以有多个pass        Name = "MyPass"//pass可以命名,在其他subshader引用UsePass大写            CGPROGRAM//开始CG代码-和ENDCG成对        #pragma vertex vert//定义渲染函数,顶点        #pragma fragment frag//片元        #pragma surface surf Lambert //表面        #include "Lighting.cginc"//包含方法库                    sample2D _MainTex;//声明变量            float4 _MainTex_ST;                    struct a2v//自定义结构体        {             float4 vertex : POSITioN;//变量类型 变量名:语义说明(语言规定)             float3 nORMal: NORMAL;        }                    v2f vert (appdata v)//函数体            {v2f o;                return o;            }        ENDCG        }    }    SubShader{...}    FallBack "Diffuse"//以上subshader显卡都不支持,默认返回漫反射}

uniform修饰词;

Name = "MyPass"

——UsePass "Unlit/Outline/MYPASS"//必须大写

——GrapPass//抓取屏幕结果存储在一张纹理中

2.属性

Unity图形学中的ShaderLab怎么入门

属性对应的变量类型,声明变量使用;属性中类型和变量中类型不一定一致;

Unity图形学中的ShaderLab怎么入门

3.语义

SV_开头表示System-Value——系统定义的语义变量;

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

4.Tags

1)SubShader可用

Queue——渲染队列

Unity图形学中的ShaderLab怎么入门

RenderType——渲染类型

(1)”Opaque”:绝大部分不透明的物体都使用这个;
(2)”Transparent”:绝大部分透明的物体、包括粒子特效都使用这个;
(3)”Background”:天空盒都使用这个;
(4)”Overlay”:GUI、镜头光晕都使用这个;
(5)还有其他可参考Rendering with Replaced Shaders;用户也可以定义任意自己的RenderType字符串
(6)”TransparentCutout“:透明测试使用;

IgnoreProjector = “True”——忽略投影器影响,AlphaTest和AlphaBlend使用;

ForceNoShadowCasting = “True”——表示不接受阴影;

2)Pass可用

"LightMode"="ForwardBase"

Unity图形学中的ShaderLab怎么入门

5.RenderSetup

1)Cull剔除

Cull Front/Back/Off

2)深度测试和写入

ZWrite Off

ZTest Off

3)Blend——透明混合设置

BlendOp

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Blend效果

Unity图形学中的ShaderLab怎么入门

6.方法

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

UnityCG.cginc常用结构体

Unity图形学中的ShaderLab怎么入门

Unity图形学中的ShaderLab怎么入门

书写建议:
1.移动平台的shader尽可能使用精度低的变量:fixed-half-float

错误:片元中大量计算导致寄存器不足——提高shaderTarget等级

尽量不要使用分支语句

不要除以0

Life is too short for so much sorrow.  

关于Unity图形学中的ShaderLab怎么入门问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注编程网精选频道了解更多相关知识。

--结束END--

本文标题: Unity图形学中的ShaderLab怎么入门

本文链接: https://lsjlt.com/news/303558.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Unity图形学中的ShaderLab怎么入门
    Unity图形学中的ShaderLab怎么入门,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.格式Shader "Custom/MyShader&qu...
    99+
    2023-06-22
  • Unity图形学之ShaderLab入门基础
    这篇只是一个总结,方便我写shader的时候查找API; 1.格式 Shader "Custom/MyShader" //命名+右键创建shader路径 { //属...
    99+
    2024-04-02
  • Unity基于ShaderLab实现光照系统的代码怎么写
    今天就跟大家聊聊有关Unity基于ShaderLab实现光照系统的代码怎么写,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。一、着色器1.顶点片元着色器分顶点着色器和片元着色器,对应渲...
    99+
    2023-06-22
  • 详解Unity中的ShaderGraph入门使用教程
    一,ShaderGraph 简介 简介: Unity2018版本之后推出了一个可编程渲染管线工具ShaderGraph,让我们可以通过可视化界面拖拽来实现着色器的创建和编辑。 官方话...
    99+
    2024-04-02
  • Canvas入门实战之怎么实现一个图形验证码
    这篇文章主要介绍“Canvas入门实战之怎么实现一个图形验证码”,在日常操作中,相信很多人在Canvas入门实战之怎么实现一个图形验证码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大...
    99+
    2024-04-02
  • linux怎么进入图形界面
    本篇内容主要讲解“linux怎么进入图形界面”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux怎么进入图形界面”吧!安装有图形界面的情况下,启动linux在终端下输入:startx&nbs...
    99+
    2023-06-10
  • linux怎么进入图形化界面
    要进入Linux的图形化界面,您可以按照以下步骤操作:1. 启动您的Linux系统。2. 在登录页面,输入您的用户名和密码。3. 如...
    99+
    2023-10-19
    linux
  • 0基础Python入门学习路线图应该是怎样的?
    Python因语法简洁功能强大,受到了很多初学者的喜爱,很多人奔着就业的目的自学Python,那么在自学之前,小优会首先建议同学先充分了解Python的岗位性质,工作内容,然后通过网课自学先试学一下,如果自己真的感兴趣,就可以规划自己的学习...
    99+
    2023-06-02
  • 深入了解PyQt5中的图形视图框架
    目录1.QGraphicsItem图元类2.QGraphicsScene场景类3.QGraphicsView视图类4.图形视图的坐标体系5.小结在之前的章节中,笔者一般使用QLabe...
    99+
    2024-04-02
  • Linux新手入门怎么学?如何学习好Linux?
      因为自身情况的问题,很多朋友可能对自己的工作不是很满意,因此都看中了Linux一片大好的趋势,想要转行学习Linux技术,但是却又对此不太了解,于是都非常好奇Linux如何学习呢怎么学习Linux好接下来针对问题为大家解读一下吧。  第...
    99+
    2023-06-05
  • Unity中ShaderGraph怎么实现旋涡传送门效果
    本篇内容主要讲解“Unity中ShaderGraph怎么实现旋涡传送门效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Unity中ShaderGraph怎么实现旋涡传送门效果”吧!一,最终效果...
    99+
    2023-06-20
  • HTML5中怎么绘制图形
    本篇内容主要讲解“HTML5中怎么绘制图形”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5中怎么绘制图形”吧! HTML5中...
    99+
    2024-04-02
  • Android中Intent组件的入门学习心得
    目录什么是 Intent ?Intent 的类型?Intent 的组成显式 Intent 的使用隐式 Intent 的使用总结什么是 Intent ? Intent是Android开...
    99+
    2024-04-02
  • ubuntu无法进入图形界面怎么办
    ubuntu无法进入图形界面的解决方法:在登录界面按【ctrl+Alt+F1】,在输入用户名密码进行登录。登录成功后切换到root用户,输入“startx”命令,好运即可进入图形界面。若出现多行错误,提示提示你/home/用户名/.Xaut...
    99+
    2024-04-02
  • c语言怎么实现图形化输入
    在C语言中,可以使用图形用户界面(GUI)库来实现图形化输入。以下是一些常用的C语言GUI库: GTK+:GTK+ 是一个跨平台...
    99+
    2024-02-29
    c语言
  • 【Python入门系列】第八篇:Python中GUI编程和图形界面设计
    文章目录 前言一、Tkinter、PyQt和wxPython库简单使用1、Tkinter简单使用2、PyQt简单使用3、wxPython简单使用 二、Tkinter、PyQt和wxPyth...
    99+
    2023-09-13
    python GUI编程
  • VB.NET中怎么操作GDI图形
    VB.NET中怎么操作GDI图形,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。通过重载Form1窗体的OnPaint()方法绘制GDI图形Protected&n...
    99+
    2023-06-17
  • 怎么报名学习新梦想的Linux入门课程
    Linux的课程一直很火,很多初学者想快速入门,本人就整理了新梦想的Linux入门课程,此课程适合Linux初学者,或者初、中级软件测试工程师一步一步学起。本课程内容主要讲解CentOS7的安装、体系结构、用户相关命令、vi命令、目录命令、...
    99+
    2023-06-05
  • Unity中 ShaderGraph 实现超级炫酷的溶解效果入门级教程
    目录前言一,效果展示二,原理介绍三,实现效果四,使用示例五,完整图示前言 若你的工程还没有进行基础配置,请查看我的博文Unity 之 ShaderGraph入门使用详解,按照步骤操...
    99+
    2024-04-02
  • opencv形态学中的孔洞填充详细图解
    目录1. 原理2. 漫水填充算法1. 原理 孔洞指的是被前景像素点或者说感兴趣的像素点包围起来的区域,这个区域是我们不感兴趣的背景区域。 数字图像处理的孔洞填充的公式为: I 为前...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作