Unity | Shader基础知识(第一集:unity中最简单的shader)

这篇具有很好参考价值的文章主要介绍了Unity | Shader基础知识(第一集:unity中最简单的shader)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、unity的shader

二、创建一个shader(在创建时,选前三种都可以)

三、内容解读

1.shader一直都在

2.我们写shader在写什么

四、没有被干预的shader(最简单的shader)


相关阅读

编写着色器概述 - Unity 手册


一、unity的shader

unity写的shader并不是真正意义上的shader。

官方解释:

为 Unity 编写着色器时,使用以下语言:

  • 一种称为 HLSL 的编程语言。使用它可编写着色器程序本身。
  • 一种称为 ShaderLab 的 Unity 特定语言。使用它可定义 Shader 对象,它充当着色器程序的容器。

简单解释:真正的shader语言写起来还是麻烦的,unity希望大家写起来简单一点,于是在原来的基础上,给大家优化了两个语言,一个叫HLSL,另一个叫ShaderLab,所以我后面讲的Shader其实是ShaderLab。

二、创建一个shader

在创建时,选前三种任意一个都可以(如图1所示),前三个都是用ShaderLab写的,他们的区别只是里面预制的内容是不一样的,就像你写的不同的脚本,都是C#编写,只是里面的内容不一样。

Unity | Shader基础知识(第一集:unity中最简单的shader),Unity中写shader,unity,游戏引擎,着色器
图1 创建Shader的界面

三、内容解读

1 shader一直都在

shader在unity里,它是一直存在的,且自己正常运作的,运作流程就是之前写的文章。

Unity | Shader基础知识(什么是shader)_unity shader-CSDN博客

2 我们写shader在写什么

我们其实是在选择性的干预其中一个步骤,导致它最后输出出来的结果不同。

例子(如图2所示):我们的手电筒一直都在工作,我如果拿手去挡了一部分光,就会出现手影,在这个过程中,我们没有去改手电筒,而是去干预了光线(挡住了光)

Unity | Shader基础知识(第一集:unity中最简单的shader),Unity中写shader,unity,游戏引擎,着色器
图2 灯光下的手影

结论:我们写shader也只是把其中一部分拿出来,进行干预,其他部分保持不变,最后结果就会出现变化。

四、没有被干预的shader(最简单的shader)

上文创建了一个shader,我们把里面所有内容都删除。仅留下图中内容(如图3所示)。

Unity | Shader基础知识(第一集:unity中最简单的shader),Unity中写shader,unity,游戏引擎,着色器
图3 余下的代码

留下的“Custom/001”是这个shader在unity里保存的位置(如图4所示),当你在材质中寻找它时,也是通过这个位置去寻找的。我们将这个Shader放入材质后,发现是玫红色(如图5所示),这里不太明白,也可以去看之前写的内容:Unity | Shader(着色器)和material(材质)的关系-CSDN博客

Unity | Shader基础知识(第一集:unity中最简单的shader),Unity中写shader,unity,游戏引擎,着色器
图4 Shader所在位置
Unity | Shader基础知识(第一集:unity中最简单的shader),Unity中写shader,unity,游戏引擎,着色器
图5 球体上了玫红材质

 

PS:如果以前经常用材质的小伙伴发现,之前如果材质丢失,就显示的红色。

所以,材质丢失 = shader空了,显示了最本来的面目。

五、下节预告

因为了解了空白Shader,我们就希望去学习如何写Shader,

下一节,我们讲解基础的Shader语法文章来源地址https://www.toymoban.com/news/detail-757816.html

到了这里,关于Unity | Shader基础知识(第一集:unity中最简单的shader)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Unity中Shader的PBR的基础知识与理论

    Unity中Shader的PBR的基础知识与理论 PBR(Physically Based Rendering),中文译为基于物理的渲染 PBR是一种渲染方式 ,是使用基于物理原理和微微、平面理论的光照模型,以及使用从现实中测量的表面参数来准确表示真实世界材质的渲染理念 PBR是一系列技术的集合 ,包含GI、PBS等。 P

    2024年04月26日
    浏览(28)
  • Unity编辑器扩展-第一集-在菜单栏加入自己的按钮

    一、概述 unity自己本身就是一个大的程序,我们看见的所有功能,都是用程序写出来的,但是根据各行各业不同的需求,有些时候我们制作时,想要自己编辑一些原有的功能。 二、本节目标+效果展示 1.在菜单栏加入属于自己的一行 2.在菜单栏内加入子菜单 3.在子菜单当中加

    2024年02月12日
    浏览(33)
  • Unity面经(自整)——Unity基础知识

    Image比RawImage更耗性能。 Image只能使用sprite属性的图片。而RawImage什么都可以使用 碰撞器是触发器的载体,而触发器是碰撞器上的一个属性。 如果IsTrigger为false,碰撞器根据物理引擎引发碰撞,产生碰撞的效果 如果IsTrigger为true,碰撞器被物理引擎忽略,没有碰撞的效果 碰撞器

    2024年04月13日
    浏览(33)
  • Unity中的热更新的基础知识,Xlua与ILRuntime基础知识

    热更新是指在不需要重新编译打包游戏的情况下,在线更新游戏中的一些非核心代码和资源,比如活动运营和打补丁。热更新分为资源热更新和代码热更新两种,代码热更新实际上也是把代码当成资源的一种热更新,但通常所说的热更新一般是指代码热更新。资源热更新主要

    2023年04月09日
    浏览(72)
  • Unity读书系列《Unity3D游戏开发》——基础知识

    本篇对应标题书籍的第一章基础知识,也就是unity的基本常识和工作流的说明。 Unity目前用于创建2D和3D游戏、模拟应用程序、可视化体验以及其他虚拟现实(VR)和增强现实(AR)应用,游戏工业两开花。 Unity初版是在2005年发布的,开始时用unity3.X、4.X这样的名称进行版本更新

    2024年01月18日
    浏览(50)
  • Unity地面交互效果——3、曲面细分基础知识

    回到目录   大家好,我是阿赵。   之前介绍了使用动态法线贴图混合的方式模拟轨迹的凹凸感,这次来讲一下更真实的凹凸感制作。不过在说这个内容之前,这一篇先要介绍一下曲面细分着色器(Tessellation Shader)的用法。   之前通过法线贴图模拟了凹凸的感觉:   法

    2024年02月05日
    浏览(39)
  • Unity基础知识笔记(三)——NGUI中的UIInput

    NGUI中的UIInput的使用_ngui uiinput-CSDN博客 https://blog.csdn.net/MonoBehaviour/article/details/78423299?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171023629716800180684601%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257Drequest_id=171023629716800180684601biz_id=0utm_medium=distribute.pc_search_result.none-task-blog-2~all~so

    2024年03月25日
    浏览(27)
  • Unity基础知识之顶点吸附、创建组合体

    顶点吸附 :选择物体后按住键盘上的 V键 ,鼠标定点定位,再拖拽到目标物体对齐即可。 注:操作成功后先松 V键 。 1、两个平面Plane的顶点吸附 2、两个物体cube的顶点吸附 组合体子弹由2个capsule(胶囊)、1个cylinder(圆柱体)组成,如图先创建这3个对象。 再将其中一个c

    2023年04月25日
    浏览(26)
  • Unity 游戏开发、01 基础知识大全、简单功能脚本实现

    Unity默认窗口布局 Hierarchy 层级窗口 Scene 场景窗口,3D视图窗口 Game 游戏播放窗口 Inspector 检查器窗口,属性窗口 Project 项目窗口 Console 控制台窗口 恢复默认布局 Window | Layouts | Default 调大页面字体 Preference | UI Scaling 新项目默认创建了 SampleScene 场景 {摄像机,平行光} SampleScen

    2024年02月09日
    浏览(52)
  • 【unity3D】TileMap基础知识(详细版)

    💗 未来的游戏开发程序媛,现在的努力学习菜鸡 💦本专栏是我关于游戏开发的学习笔记 🈶本篇是unity的TileMap基础知识 window—2D—Tile Palettee 选择工具(Select Tool) 选择想要使用的瓦片,可以点击选择或拖拽多选选择, 快捷键S 。 移动工具(Move Tool) 可以选择并移动瓦片位

    2024年02月06日
    浏览(34)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包