Unity3D 用脚本控制Shader参数

voidUpdate(){this.renderer.material.SetFloat("Progress",0.5f);}这样不行反正我试没有效果... void Update () {
this.renderer.material.SetFloat("Progress", 0.5f);
}
这样不行 反正我试没有效果
展开
 我来答
aishiniwo1398
2018-04-08 · TA获得超过1.6万个赞
知道小有建树答主
回答量:74
采纳率:0%
帮助的人:5.1万
展开全部

Unity3D用脚本控制Shader参数是:this.renderer.material.SetFloat("_Progress", 0.5f);

Unity3D是由Unity Technologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利用交互的图型化开发环境为首要方式的软件。其编辑器运行在Windows 和Mac OS X下,可发布游戏至Windows、Mac、Wii、iPhone、WebGL(需要HTML5)、Windows phone 8和Android平台。也可以利用Unity web player插件发布网页游戏,支持Mac和Windows的网页浏览。它的网页播放器也被Mac 所支持。

shader就是专门用来渲染3D图形的一种技 术,通过shader,程序设计人员可以自己编写显卡渲染画面的算法,使画面更漂亮、更逼真。

微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
鲎狐
2016-11-20 · 超过35用户采纳过TA的回答
知道答主
回答量:110
采纳率:0%
帮助的人:61.4万
展开全部
打开Shader看看 你的变量应该前面还有一个“_” 应该是 this.renderer.material.SetFloat("_Progress", 0.5f);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
魔兽第一才子
推荐于2017-12-16 · TA获得超过583个赞
知道小有建树答主
回答量:216
采纳率:66%
帮助的人:171万
展开全部
不知道这个shader是你找的还是自己写的,这个显示在面板上的 "Progress"只是一个注释,并不是这个属性的调用名字。比如你要改颜色,要调用"_Color",而不是"Main Color"
很可能写成
this.renderer.material.SetFloat("_Progress", 0.5f);
就可以了
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liu8944
2018-10-10 · TA获得超过278个赞
知道小有建树答主
回答量:243
采纳率:66%
帮助的人:89.8万
展开全部
使用如下代码
GetComponent<MeshRender>().Material.SetFloat("_MyShaderVector1",0.5f);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式