vs unity shader插件_【白话Shader入门】(一)基础概念

96e38ce1c605699b3b3280c247ad8215.png

一、Unity环境

在学习之前,我们需要搭建我们的开发环境。Unity Shader的开发环境相当简单,你只需要下载Unity,我们的版本是unity2018.3.1f,你可以在官网直接下载编辑器,或者使用unityhub下载。

由于最近unity官网抽风,大家可以通过以下链接安装unity。

https://pan.baidu.com/s/1oxXzXoR5WYp2swzFVBWXKw​pan.baidu.com

提取码:g6g7

创建一个新的工程,用于Shader学习,创建模板选择3D

59523836872e55b1371d44ce6cb01cc6.png
创建项目

512a8457e7412a20f5f8dfe71c0d804f.png
unity初始界面

而关于写shader代码的编写工具,当然你可以选择VS,但是我更推荐VSCode,它更加轻量级,打开文件更快,对Shader的高亮支持也不错。

Visual Studio Code - Code Editing. Redefined​code.visualstudio.com
e40173dd0b111abbd65bb5d3cd716ab0.png

在Edit-Reference中设置外部编码工具为VSCode,这样,当我们双击shader文件时,就可以直接打开VSCodeVisual Studio Code - Code Editing. Redefined在Edit-Reference中设置外部编码工具为VSCode,这样,当我们双击shader文件时,就可以直接打开VSCode

ad7e812d848098487728147f765908ad.png
编码工具设置

二、模型

模型一般使用建模工具制作,例如3dmax、maya、Blender等,这里推荐Blender2.8,这是一款开源软件,各方面功能相当全面,插件众多。

软件下载 - Blender中国社区​www.blendercn.org

我们可以把模型定义为非常多三角面的集合,如下图所示:

30d112b036227139e57026b924a1eab9.png
简单模型

6a907b270b28a4ee4538f5053df55322.png
模型的三角面

三、材质

建模工作完成后,我们就得到了一层薄薄的皮,举个例子,一个人类的模型,其实就是一层由三角面构成的皮,由于这层皮是完全闭合的,我们看不到里面,所以就看不到破绽。

293333f601100c45e9b7e1899af450ea.png
人类模型

但是光有模型是不够的,模型只定义了形状,在游戏中,我们看到的生动的画面,除了形状,我们还要看到它的颜色,而颜色的明暗、阴影、高光、散射等等,可以让我们分辨清楚看到的是一种什么材质。例如下图的巫师3截图,我们可以很明显看出来皮肤、头发、金属、皮革给我们的感受是不一样的,这就是材质的区别。

010b9e58493ad3f0373dd7a3799729b9.png
巫师3里的材质

在Unity的Project视窗下,右键菜单里可以创建一个材质

30ba020d525d75063eb39bb953a29b18.png
创建材质

点击这个材质,就可以看到材质属性菜单,一般一个材质有很多种属性可以调节,我们以其中一项属性为例,在属性栏的第三行,有一个属性名为Smoothness,从名称就可以看出这控制着材质的光滑度,光滑度的概念很容易理解,例如剑的表面就比粗糙塑料的表面更加光滑,将这个属性在0-1之间滑动,我们可以很清楚的看到下方的预览窗口中的变化,以此感受不同材质。

cda60778a8201a8822c7abf311d932bf.png

四、光

点击层次视图里的Directional Light,就可以看到这个光的相关参数,可以再Type中看到这个光的类型是直射光,直射光一般用于模拟太阳光。

91208cb32e44415e264881c9d799f59e.png
光的属性

光对于材质的影响非常大,一般光会作为参数传入到shader中,影响材质表现。

五、Shader

Shader是材质背后的内部计算,可以把shader想象成一个黑箱,它的输入是环境信息(例如光照、反射探针、环境光),输出是物体显示在屏幕上的一个个像素点。现在为止,我们只能通过调整光照和材质里的属性来改变模型的外观,在接下来的教程中,我们会通过Shader这个工具,制作出真实而又精美的虚拟世界。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值