位置: 编程技术 - 正文

Unity shader教程-第三课:实践!同一个shader,多个material。(unity shader cull off)

编辑:rootadmin

推荐整理分享Unity shader教程-第三课:实践!同一个shader,多个material。(unity shader cull off),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:《unity shader入门精要》,unity shader cull off,unity的shader用法,unity shader cull off,unityshader教程,unity shader视频教程,unity shader视频教程,unityshader教程,内容如对您有帮助,希望把文章链接给更多的朋友!

本文首发地址: surface surf Lambert这一行,回车另起一行后加入下面的三行代码

清除原来在这个地方的

找到方法 void surf(Input IN, inout SurfaceOutput o),把里面的内容改成

为保证你做成的最后内容跟我的一样,这里是最后的shader代码

到这里,我们就可以保存shader。回到Unity中。

回到Unity后,选中名字为myDiffuse的material,然后按下键盘上的Ctrl&#;D,复制出material,把它改名为myDiffuse2。同样的方式,复制出myDiffuse3, myDiffuse4。这个方式,能让我们制作出使用同一个shader的不同的四个material出来。

在Scene面板中,如果你没有加满4个sphere,可以现在添加。然后分别给这四个球拖入我们的myDiffuse、myDiffuse2、myDiffuse3、myDiffuse4这几个material。

Unity shader教程-第三课:实践!同一个shader,多个material。(unity shader cull off)

选中任意一个material,你可以在Inspector上选择Emissive Color或者Ambient Color,也可以通过拖动滑动条来改动数&#;,改动的过程中可以看到Scene中的物体会随你的改动而变化显示。同时,虽然我们只写了一个shader用到4个物体上,改动一个物体的material并不会影响到跟它使用不一样的material的物体。也就是说,我们属性里的&#;,其实是存在于material中。在我们改变相关的&#;的时候,unity会把&#;存到material对应的文件中,并在运行的时候,作为shader需要的参数送到shader中。由此,虽然我们只写了一个shader,但是因为送入的参数不同,因此物体的表现也就不同(为那些好奇的人,这节课的附录部分介绍了怎么打开material文件的方式,可以看到存储的内容)。

对于我们上面改动的代码的解释

当你在Properties块声明一个新的属性&#;的时候,你也就给shader提供了一种让用户通过Inspector面板调整内部&#;的方式。每个变量都会存储下最后用户修正的结果。但是,如果代码需要在SubShader{}这个块中用到这些&#;,必须在这个块中同时声明同样名字的变量,这个方式把我们在Inspector上的&#;和最后代码的&#;链接起来,形成一个整体。

一旦你在SubShader{}块中声明这些变量后,你就可以在surf()方法中使用到这些变量了。surf()方法中,我们用到的pow()方法是NVidia的cg语言提供的一个方法,unity shader可以用cg中的方法,这个方法跟其他语言中的pow类&#;,是“返回指定数字的指定次幂”。

附录:

Unity提供了把一些文件存成文本型的方式,我们可以利用这个方式来查看material文件的内容。

步骤:

菜单 Edit | Project Settings | Editor,会打开如下的面板

该面板的Asset Serialization中,Mode点开,选择 Force Text等进度条完成任务硬盘上找到我们的myDiffuse材质(material)文件(以.mat)结尾,用可以打开文本文件的软件打开(写字本、Ultraedit、Notepad&#;&#;都可以)查看里面的内容,我这里的如下图

图中高亮的地方可以看到我们选择的颜色&#;。

Unity 实现大转盘笔记 1、unity中要实现旋转一个gameobject,我们需要改变它的transform下对应的Rotation,由于我们的大转盘是2D的视角,所以我们首先需要明确大转盘旋转的方向是

Unity3d-反编译C#和提取资源 使用MonoDevelop查看代码1.解压缩一个Ipa文件,找到如下目录2.拖拽一个Assembly-CSharp.dll文件到MonoDevelop工具栏,即可查看C#代码其他C#反编译工具:.NETReflector

ubuntu . 重置unity桌面 今天ubuntu.发生内部错误(不知道做了什么操作,感觉应该是设置了什么快捷键导致的)然后重启后进入桌面发现侧边栏(启动器)顶部栏(面板)全

标签: unity shader cull off

本文链接地址:https://www.jiuchutong.com/biancheng/375809.html 转载请保留说明!

上一篇:unity学习之摄像机的应用(unity摄像机在哪里)

下一篇:Unity 实现大转盘笔记(unity转盘游戏)

  • 交易性金融资产和其他权益工具投资的区别
  • 未达起征点附加税还需要扣税嘛
  • 向个体工商户付款可以现金支付吗
  • 当前时间该属期不可申报
  • 所购税控盘减免税款
  • 总分机构账务处理
  • 化工类资质建筑企业有哪些
  • 小企业收到下列票据后,银行存款账户不变的是
  • 暂估费用时可以抵扣吗
  • 未达起征点的增值税要交所得税吗
  • 农村合作社开的鸡蛋免税票可以抵进项税吗?
  • 出口分为哪四步
  • 以旧翻新视频
  • 信用证和银行承兑汇票的区别如何做分录
  • 为什么电脑上找不到蓝牙耳机
  • 办理对公账户手续流程
  • 服务业发票进项税怎么做凭证?
  • 什么科目呀
  • 资产转让税费哪方承担
  • 纳税单位与免税单位共用的房屋由纳税单位全额纳税
  • 免税收入包括哪些收入
  • 一般贸易和进料加工的区别是什么
  • 当月取得的进项必须当月勾选吗
  • 华为正式发布鸿蒙官网
  • 手动滑屏怎么操作
  • 上年度所得税未计提已交本年度如何计提
  • dhcp存在哪些安全隐患
  • 餐饮业会计做账技巧
  • 农业种植公司要纳税吗
  • windows11 缩放
  • php上传文件参考文件类型
  • PHP:pg_field_is_null()的用法_PostgreSQL函数
  • 将现金存入银行,登记银行存款日记账的依据一般是
  • NJeeves.exe - NJeeves进程文件是什么意思 有什么用
  • 银行存款日记账与银行对账单之间的核对属于
  • 出口退税退的是啥
  • 其他应收款的会计处理
  • 企业的组织形式共5种
  • 科尼西卡神庙在哪里
  • Java8 Stream流Collectors.toMap当key重复时报异常(IllegalStateException)
  • token登录器
  • PHP使用pear实现mail发送功能 windows环境下配置pear
  • 开的发票超过了限额会怎样,怎么办?
  • 第十章光结局和夜结局
  • vue uncaught typeerror
  • 关于眼中的世界的作文
  • sftp 加密算法
  • repo命令详解
  • 专利收费的职能包括
  • php打不开网页
  • 农民专业合作社属于什么企业类型
  • 短期投资的入账成本
  • 筹办分公司
  • 税务系统重置密码
  • 预缴税款计算表填0.01行吗
  • 物流辅助服务属于什么科目
  • 发放职工福利的会计处理
  • 经营费用属于什么类科目
  • 收到购货款用预付款吗
  • 老板买私人飞机可以避税吗
  • 劳务简易征收最新政策2020
  • 公对公转账后对方拒绝开发票
  • 支付宝支付高速通行费如何开发票
  • 银行固定资产有哪些
  • mysql建索引有哪些策略和原则
  • sql存储过程实例
  • win10预览版选哪个
  • win10系统共享打印机无法访问怎么解决
  • 写出10个linux系统操作命令和用法
  • php创建注释的方法
  • window10提示更新总是
  • windows图标变化
  • crontab每秒执行一次命令
  • 在bash shell环境下
  • unity怎么替换模型位置
  • jquery动态创建元素
  • python过程中遇到的问题
  • 使用jquery
  • 增值税发票打印机怎么连接电脑
  • 英国个税税率最高
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设