当前位置: 首页 > news >正文

上线了做的网站可以登陆阿里云建站后台建站

上线了做的网站可以登陆,阿里云建站后台建站,公司没有自己的网站,百度关键词排名突然下降很多俗话说久病成医#xff0c;虽然不是专业技术美术#xff0c;但代码写久了自然会积累一些常用的shader交互方法。零零散散的#xff0c;总结如下#xff1a; 1#xff0c;改变UGUI的材质球属性 有时候我们需要改变ui的一些属性#xff0c;从而实现想要的效果。通常UGUI上…  俗话说久病成医虽然不是专业技术美术但代码写久了自然会积累一些常用的shader交互方法。零零散散的总结如下 1改变UGUI的材质球属性 有时候我们需要改变ui的一些属性从而实现想要的效果。通常UGUI上有如下属性而我们想要改变就需要获取到Material这个属性 这里拿Image来举例 简单的调用示例如下关联测试 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI;/// summary /// 测试UI闪白效果 /// /summary public class TestUIShan : MonoBehaviour {public Image image;public Material material;private bool isShan false;// Start is called before the first frame updatevoid Start(){material image.material;}// Update is called once per framevoid Update(){if (Input.GetKeyDown(KeyCode.A)){isShan !isShan; material.SetFloat(_Switch, isShan ? 1 : 0); }} }我们可以通过代码看出我们可以直接获取到面板上的Material属性然后通过SetFloat之类的Set方法来改变UGUI的材质球属性。 2改变物体的材质球属性 这里多了一步不是直接改变Material而是先new一个MaterialPropertyBlock然后再将其赋值给Renderer属性。实现示例代码如下 /// summary/// 改变子物体颜色/// /summarypublic void ChangeColor(Transform _tran, bool _isHas){var _render _tran.GetComponentMeshRenderer();if (_render ! null){var _pro new MaterialPropertyBlock();_pro.SetFloat(_IsEnable, _isHas ? 0 : 1);_render.SetPropertyBlock(_pro);}var _render1 _tran.GetComponentSkinnedMeshRenderer();if (_render1 ! null){var _pro new MaterialPropertyBlock();_pro.SetFloat(_IsEnable, _isHas ? 0 : 1);_render1.SetPropertyBlock(_pro);}if (_tran.childCount 0) foreach (Transform idx in _tran) ChangeColor(idx, _isHas);} 这里是通过SetFloat来控制_IsEnable这个属性的开关同理我们可以调用别的set方法来改变对应的属性。 3替换shader 这个就更简单了只需要得到Material的shader属性并替换即可示例代码如下 /// summary/// 替换shader/// /summarypublic void ChangeShader(Transform _tran, Shader _s){if (_tran.name.Contains(diban) || _tran.name.Contains(qiang)) return;//0511佳琪定var _render _tran.GetComponentInChildrenMeshRenderer();if (_render ! null){_render.material.shader _s;}var _render1 _tran.GetComponentInChildrenSkinnedMeshRenderer();if (_render1 ! null){_render1.material.shader _s;}if (_tran.childCount 0) foreach (Transform idx in _tran) ChangeShader(idx, _s);} 关键函数为  _render1.material.shader _s; 直接赋值替换即可。 4批量获取父节点下所有具有某一属性的物体 其实通过2/3函数我们可以看出用递归去获取父物体下所有具有renderer属性物体的方法实现起来实在太繁琐了那么有没有更简单的方法呢 答案是有的使用_tran.GetComponentsInChildren即可示例代码如下 var _ms transform.GetComponentsInChildrenSkinnedMeshRenderer(); 5改变全局shader属性 比如我们有很多使用了某一shader的物体其中包括AI、场景等等如果要频繁改变这些材质球的某一属性不可能遍历去寻找的。 好在引擎为我们提供好了方法示例函数如下 Shader.SetGlobalFloat(_YydInterval, _getTime); 同理我们可以用set来改变更多的属性比如Shader.SetGlobalTexture来改变全局的贴图等等。
http://www.zqtcl.cn/news/571287/

相关文章:

  • 海宁市建设局官方网站6哔哩哔哩网页版官网在线观看
  • 泉州网站建设轩奇网讯韩国美容网站模板
  • 培训好吗网站建设wordpress手游
  • 元典科技网站建设网页设计制作图片页面
  • 网站设置什么意思无代码搭建平台
  • 织梦做的网站后台登录做网站购买域名
  • 哈尔滨网站关键词优化排名合江做网站
  • 手机网站自动适配旅游网络营销方案
  • 敦化网站开发黔东南购物网站开发设计
  • 建设一个网站 需要提供什么如何免费推广自己的网站
  • 佛山企业网站制作公司中国互联网企业100强榜单
  • 买了域名就可以做网站怎么创造游戏软件
  • 广东广州电脑个人建站徐州网站排名公司
  • 网站优化 流量做网站对企业有什么好处
  • 建设机械网站制作人工智能工程师月薪多少
  • wordpress 百度站长沈阳app开发公司哪家好
  • 做网站平台公司网站建设硬件环境
  • 可视化编辑建站平台新密市城乡建设局网站
  • 电子商务的网站的建设内容wordpress主题 微软
  • 什么软件可以做动画视频网站网站的按钮怎么做 视频
  • 饰品做商城网站模式17网站一起做网店新塘
  • 微信做的地方门户网站做设计的平台
  • 旅游网站建设国内外现状安卓开发软件安装教程
  • 网站建设必备网站自助建设
  • 杭州免费自助建站模板辽宁建设工程信息网为什么打不开
  • sdcms网站源码百度怎么免费做网站
  • 图书馆网站参考咨询建设wordpress安装500
  • 详细描述建设网站wordpress 子页面
  • 做公司网站推广如何快速推广
  • 给期货交易类做网站违法吗青海企业网站制作