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

网站开发工资多少稳定么石家庄网站排名优化

网站开发工资多少稳定么,石家庄网站排名优化,浏览器网页游戏,深圳市住房和城乡建设局网站在上一节中#xff0c;我们添加了外轮廓线#xff0c;但这个外轮廓线在所有使用该Shader的网格上是始终存在的。 如果我们想做一个开关#xff0c;决定是否打开外轮廓线时#xff0c;我们可以使用一个新的Uniform bool值#xff0c;然后判断bool是否为true来开启外轮廓线…在上一节中我们添加了外轮廓线但这个外轮廓线在所有使用该Shader的网格上是始终存在的。 如果我们想做一个开关决定是否打开外轮廓线时我们可以使用一个新的Uniform bool值然后判断bool是否为true来开启外轮廓线。 但是这样会造成性能的浪费因为就算我们没有开启这个功能Shader还是会遍历每一个if条件。这与GPU的运行原理有关。 故我们使用Unity的多编译功能将Shader多次编译成多个子Shader。 Shader中添加开关 定义开关名称 // 自定义关键字 [Toggle(_ENABLE_OUTLINE_ON)] _EnableOutline(Enable OutLine, Float) 0.0 // 默认关键字默认为 名称大写_ON [Toggle] _EnableOutline(Enable OutLine, Float) 0.0 // 默认关键字为_ENABLEOUTLINE_ON在Input中声明变量 1. half _EnableInline;2. #ifdef UNITY_DOTS_INSTANCING_ENABLED UNITY_DOTS_INSTANCING_START(MaterialPropertyMetadata)...UNITY_DOTS_INSTANCED_PROP(float , _EnableInline) UNITY_DOTS_INSTANCING_END(MaterialPropertyMetadata)3. #define _EnableInline UNITY_ACCESS_DOTS_INSTANCED_PROP_FROM_MACRO(float , Metadata__EnableInline)定义关键字 //pass中定义 #progma shader_feature _ENABLE_OUTLINE_ON//自定义关键字 #progma shader_feature _ENABLEOUTLINE_ON//默认关键字使用关键字 #if defined(_ENABLE_OUTLINE_ON)#else#endif在GUI中设置开关来控制该关键字 在子GUI面板中添加按钮设置Shader中变量值 public static class Styles {public static readonly GUIContent InlineEnable new GUIContent(开启内勾边,); }public struct LitProperties {public MaterialProperty InlineEnabled;public LitProperties(MaterialProperty[] properties){InlineEnabled BaseShaderGUI.FindProperty(_EnableInline, properties, false);} }/// summary /// 当滚轮滑动材质Inspector面板时该函数调用4次 /// 当修改参数或点击按钮时该函数也会调用约8-12次 /// 因此可将该函数看作多次遍历的函数 /// /summary public static void DoDetailArea(LitProperties properties, MaterialEditor materialEditor) {materialEditor.ColorProperty(properties.OutLineColor, Styles.OutLineColorContent.text);materialEditor.FloatProperty(properties.OutLineSize, Styles.OutLineSizeContent.text);// 显示按钮设置GUI按钮的值,返回开关选中的状态bool inlineEnabled EditorGUILayout.Toggle(Styles.InlineEnable, properties.InlineEnabled.floatValue 0.5f);// 根据按钮的选中状态修改Shader值properties.InlineEnabled.floatValue inlineEnabled ? 1f : 0f;// BeginDisabledGroup参数填True则为禁用Begin至End直接的功能。在untiy面板上置灰。EditorGUI.BeginDisabledGroup(!inlineEnabled);{materialEditor.FloatProperty(properties.InlineSize, Styles.InlineSizeContent.text);materialEditor.FloatProperty(properties.Inlineluminance, Styles.InlineluminanceContent.text);materialEditor.FloatProperty(properties.HightLightTransition, Styles.HightLightTransitionContent.text);}EditorGUI.EndDisabledGroup(); }此时便可以通过按钮设置properties.InlineEnabled.floatValue的值了。 根据Shader中变量值设置宏的值 根据Shader中变量值_EnableInline设置宏_ENABLE_INLINE_ON的值 public static void SetMaterialKeywords(Material material) {if (material.HasProperty(_EnableInline)){bool isSnowEnabled material.GetFloat(_EnableInline) 0.5f;CoreUtils.SetKeyword(material, _ENABLE_INLINE_ON, isSnowEnabled);} }当用户使用这个ShaderGUI将材质加载到内存中或者改变Inspector中的值时编辑器调用下面这个方法。我们在这个方法中调用SetMaterialKeywords函数 public override void ValidateMaterial(Material material) {CP_DragonOutLineGUI.SetMaterialKeywords(material); }该方法可用于设置材质中的各个宏定义。
http://www.dnsts.com.cn/news/262989.html

相关文章:

  • 单位举报网站建设维护情况报告WordPress内网外网访问
  • 建设银行交罚款网站郑州西区做网站
  • 用python做网站怎么赚钱广东网站设计专业团队
  • 图片做视频在线观看网站app开发网站开发
  • 佛山网站制作的公司营销型网站的建站步骤是什么意思
  • 自学做网站可以嘛建设网站的公司的官网
  • 山西响应式网站建设设计wordpress显示一个类目
  • 响应式网站设计的优点网站克隆镜像做关键字seo
  • 网站上传网站后台栏目
  • 门户网站开发是什么网站集约化建设的好处
  • 深圳网站开发招聘我请网络公司做的网站上的图片被当广告拦截了_怎么回事
  • 企业培训公司有哪些seo常用工具包括
  • 设计公司网站时什么是重要的大学网站开发与管理课程心得体会
  • 什么是网站的用户体验网站备案用户名忘了怎么办
  • id创建网站中国建设工程信息网官网清欠
  • 网站地址解析资讯门户网站 dede
  • 仿新浪全站网站源码花卉网站源码
  • 网站设计哪个好百度推广助手
  • 闵行工程建设网站网站网页设计工作内容
  • 网站建设知识学习心得山东网站备案号
  • 华为建站wordpress网络搜索优化
  • 为什么国外网站有时打不开成都工程网站建设
  • 做网站 包含详情页设计吗企业管理咨询服务协议
  • 为什么要建设企业网站河北婚庆网站建设定制
  • 做网站你给推广app推广活动策划方案
  • 企业网站建设的提案seo公司多少钱
  • 唐山网站从哪里找注册公司流程和费用l
  • 自己做网站上传相册wordpress数据库配置文件路径
  • php网站的后台地址福田做网站哪家专业
  • 地信的网站建设wordpress反斜杠安装