【Unity】Shader自定义GUI笔记

这篇具有很好参考价值的文章主要介绍了【Unity】Shader自定义GUI笔记。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

ShaderGUI笔记

0、效果

shader gui,教程,ASE,笔记,c#,unity

可折叠展开,自定义排版

1、首先做好一个Shader,手写、SG、ASE都行,节点名称命名要规范!

打开Shader代码,在结尾添加上

CustomEditor "这里是你创建的C#脚本的名字(类名)" 
//这样就可以关联在一起了 位置随意 不用填写路径 注意:要放在大括号里面

2、创建一个C#脚本

继承自ShaderGUI类

//             自定义类名  Shader 关联用的就是这个名字
public class ShaderGUI01 : ShaderGUI
{
}

3、画布绘制

//重写 OnGUI类
public override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties)
{
    //这里放UI的代码
}

4、常用API

布局类 (在OnGUI类里面使用)
//创建一个矩形方框作为画布  读取自定义的宽高、标题、样式
GUI.Box(rect, title, style);

文章来源地址https://www.toymoban.com/news/detail-539717.html

  //创建一个矩形 可自定义位置          偏移值            长宽
var ToggleRect = new Rect(rect.x + 4f, rect.y + 4f, 20f, 20f);
//垂直布局                              这里的参数可以按需选择
EditorGUILayout.BeginVertical(EditorStyles.helpBox);

//垂直布局结束
EditorGUILa

到了这里,关于【Unity】Shader自定义GUI笔记的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity Shader 学习笔记(4)URP渲染管线带阴影PBR-Shader模板 -- 新增可自定义阴影颜色

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

    2024年02月12日
    浏览(29)
  • 【Unity Shader】Shader中内置文件目录与自定义

    在unity shader中经常会使用一些 #include ,可以看这些文件包含了什么吗,当然可以,具体路径是在Unity安装目录下的 EditorDataCGIncludes 这里是在 EditorDataCGIncludes 目录下新建一个 mycginc 目录,里面新建一个 sbin.cginc 文件,这个文件命名好像还必须是 sbin.cginc 或者 sbin2.cginc ,

    2024年02月11日
    浏览(37)
  • Unity Shader 属性的定义

    人的衣服 决定材质跟灯光的作用 若是把shader看作class,那么Property就可以看成成员变量 属性定义的通用格式 Properites{ Property[Property…] } ep:定义一个int: name:变量的名字,正常以下划线开头 display name: 供外界使用的参考说明,显示在unity的属性页 number:表示默认值 颜色属性

    2024年01月20日
    浏览(28)
  • 在unity shader当中定义枚举值(两种方法)

    第一种方法 :使用Enum标识符 在properties当中定义Enum,后面option1为显示面板内容,逗号分隔开的是值类型 注意:值只能是整数 定义之后直接可以在代码段中使用 第二种方法:定义KeywordEnum标识符,并创建变体 properties当中定义如上所述; 之后在cg代码段中定义变体,前面加

    2024年02月16日
    浏览(21)
  • Unity Shader 入门笔记(二)

    前言 前一篇 Unity Shader 入门笔记 (一) 中,我们学习和了解了Shader程序是什么以及Unity Shader代码的主要结构和相关含义,本篇文章中我们将进一步学习和了解Shader程序如何编写。 1. 写一个简单的Shader程序 1.1. 代码运行效果 1.2. 代码解释 我们在上面的代码中使用了 POSITION ,

    2024年01月22日
    浏览(30)
  • Unity Shader 入门笔记 (一)

    前言 这个笔记系列并不会过多涉及图形学数学基础和渲染流水线的相关知识,但要求你具备相关知识,因此强烈建议你在学习和查阅此笔记前了解基础的图形学基础知识和渲染流水线相关知识。这里强烈推荐 闫令琪 老师开设的 Games101课程 :Lecture 01 Overview of Computer Graphics_哔

    2024年01月24日
    浏览(32)
  • Unity Shader 入门笔记(四)

    目录 前言 一、光照模型 1. 简介 2. 发展历程 3. 局部光照模型和全局光照模型 3.1. 局部光照模型 3.2. 全局光照模型 二、Unity Shader实现标准光照模型 1. 逐顶点的光照模型 1.1. 实现效果如下: 1.2. 实现代码参考: 2. 逐像素的光照 2.1. 实现效果: 2.2. 实现代码参考: 三、参考链接

    2024年02月19日
    浏览(32)
  • 【Unity Shader 学习笔记】ShaderLab

    什么是ShaderLab? ShaderLab是Unity为开发者提供的高层级的渲染抽象层,是专门用来编写UnityShader的一种说明性语言。 Unity shader的基本结构 材质和Unity Shader的桥梁:Properties Properties语义块包含了一系列属性,这些属性会显式的出现在材质面板中。便于开发者在材质面板中能够方便

    2023年04月26日
    浏览(26)
  • 《Unity Shader 入门精要》笔记07

    Unity中通常使用两种方法来实现透明效果:第一种是试用 透明度测试(Alpha Test) ,这种方法其实无法得到真正的半透明效果;另一种是 透明度混合(Alpha Blending) 。 由于深度缓冲的存在,可以让不透明物体不考虑他们渲染顺序也能得到正确的排序效果。但是实现透明效果需

    2024年02月07日
    浏览(33)
  • Unity ShaderGraph教程——基础shader

     1.基本贴图shader:   基础贴图实现:主贴图、自发光贴图、光滑度贴图、自发光贴图(自发光还加入了颜色影响和按                              钮开关). 步骤:最左侧操作组——新建texture2D——新建sample texture 2D承接图片,转接到fragment片元着色器 颜色的rgb的每个值

    2024年02月10日
    浏览(29)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包