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

免费网站空间怎么办jquery 网站框架

免费网站空间怎么办,jquery 网站框架,wordpress 3.8主题,网站建设分为哪些方面文章目录 前言一、构建需要实例化的额外数据二、在顶点着色器#xff0c;将实例化 ID 从 appdata 存入 v2f 传给片元着色器三、在片断着色器中访问具体的实例化变量三、使用代码修改Shader材质属性#xff0c;实现GPU实例化后不同对象颜色不同的效果1、在C#测试脚本生成小板凳… 文章目录 前言一、构建需要实例化的额外数据二、在顶点着色器将实例化 ID 从 appdata 存入 v2f 传给片元着色器三、在片断着色器中访问具体的实例化变量三、使用代码修改Shader材质属性实现GPU实例化后不同对象颜色不同的效果1、在C#测试脚本生成小板凳的时候修改材质属性2、我们需要使用材质属性块来修改才可以不让GPU实例化失效 前言 在之前的文章中我们解决了GPU实例化需要的 appdata 、v2f 数据准备 和 使GPU实例化后的顶点位置正确。 Unity中Batching优化的GPU实例化2 Unity中Batching优化的GPU实例化3 在这篇文章中我们来实现一下GPU实例化后怎么使不同对象使用不同的材质颜色,这里只是用颜色作为例子如果需要 GPU实例化后不同对象使用不同属性也是用此方法。 一、构建需要实例化的额外数据 因为我们需要修改材质的颜色所以需要定义一个颜色属性。 但是在使用GPU实例化定义属性时得按如下方法定义 构建需要实例化的额外数据: #ifdef UNITY_INSTANCING_ENABLED UNITY_INSTANCING_BUFFER_START(prop自定义名字) UNITY_DEFINE_INSTANCED_PROP(type, name) UNITY_INSTANCING_BUFFER_END(prop自定义名字) #endif 在UnityInstancing.cginc文件中看一下Unity这句话做了什么 UNITY_INSTANCING_BUFFER_START(prop) UNITY_INSTANCING_BUFFER_END(prop) 其实这两句话主要是定义了一个结构体。 UNITY_DEFINE_INSTANCED_PROP(fixed4, _Color) 这句话定义结构体中的变量 在我的Shader中使用材质的颜色属性作为测试: UNITY_INSTANCING_BUFFER_START(prop) UNITY_DEFINE_INSTANCED_PROP(fixed4, _Color) UNITY_INSTANCING_BUFFER_END(prop) 二、在顶点着色器将实例化 ID 从 appdata 存入 v2f 传给片元着色器 UNITY_TRANSFER_INSTANCE_ID(v, o); 当需要将实例化ID传到片断着色器时,在顶点着色器中添加. 在UnityInstancing.cginc文件中看一下Unity这句话做了什么 由源码可知这句话做了类似于 o,uv i.uv; 这样的操作 三、在片断着色器中访问具体的实例化变量 UNITY_ACCESS_INSTANCED_PROP(arrayName, propName) 在UnityInstancing.cginc文件中看一下Unity这句话做了什么 我把我测试使用的_Color替换成UNITY_ACCESS_INSTANCED_PROP(prop, _Color) fixed4 frag (v2f i) : SV_Target { UNITY_SETUP_INSTANCE_ID(i); return i.worldPos.y * 0.15 UNITY_ACCESS_INSTANCED_PROP(prop, _Color); } 三、使用代码修改Shader材质属性实现GPU实例化后不同对象颜色不同的效果 做完以上步骤后我们的Shader就支持GPU实例化后的不同对象使用不同的颜色属性了。但是我们要用代码修改才有用不是直接调节属性面板 我们可以看出调节属性面板我们的所有 GPU实例化问题属性颜色都会随之改变 1、在C#测试脚本生成小板凳的时候修改材质属性 我们在生成小板凳时。同时修改小板凳材质属性的颜色不能这样修改会导致GPU实例化失效 using UnityEngine;public class P2_6_5 : MonoBehaviour {public GameObject Prefab;public int Count 1;public int Range 10;// Start is called before the first frame updatevoid Start(){for (int i 0;i Count;i){Vector3 pos Random.insideUnitCircle * Range;Color color new Color(Random.value,Random.value,Random.value,Random.value);GameObject chair Instantiate(Prefab,new Vector3(pos.x,0,pos.y),Quaternion.identity);chair.GetComponentInChildrenMeshRenderer().material.SetColor(_Color, color);}} } 我们可以看见虽然颜色变了。但是GPU实例化失效了 2、我们需要使用材质属性块来修改才可以不让GPU实例化失效 MaterialPropertyBlock prop new MaterialPropertyBlock(); prop.SetColor(“_Color”,color); using UnityEngine;public class P2_6_5 : MonoBehaviour {public GameObject Prefab;public int Count 1;public int Range 10;// Start is called before the first frame updatevoid Start(){for (int i 0;i Count;i){Vector3 pos Random.insideUnitCircle * Range;Color color new Color(Random.value,Random.value,Random.value,Random.value);GameObject chair Instantiate(Prefab,new Vector3(pos.x,0,pos.y),Quaternion.identity);MaterialPropertyBlock prop new MaterialPropertyBlock();prop.SetColor(_Color,color);chair.GetComponentInChildrenMeshRenderer().SetPropertyBlock(prop);}} } 最终效果CPU实例化成功且不同对象有不同的颜色属性了
http://www.fuzeviewer.com/news/12513/

相关文章:

  • 2025年11月色素椒种子厂家前十排名:江苏恒润领跑市场
  • 青岛建设集团苏州招聘信息网站网站自建设需要买什么手续
  • 瀑布流分享网站源代码下载wordpress编辑写文章失败
  • 客户网站建设网站去哪备案
  • 广州网站建设哪家有眉山做网站
  • 织梦cms官方网站电子商务网站建设考试重点
  • 简单网站建设策划书范文php房产中介网站源码
  • AE/PR插件-Continuum 2026 v19.0.0 CE BCC视觉特效和转场插件一键安装版
  • 网站开发项目实战济南专业手机端网站建设
  • 现在在百度做网站要多少钱衡阳seo快速排名
  • 2025 年膜结构厂家最新推荐品牌排行榜:涵盖充电棚停车棚等多品类,精选五大优质企业权威解析景观棚/收费棚/体育棚/污水池棚/门头出入口棚/推拉棚公司推荐
  • 半商城性质网站源代码建设商城网站公司吗
  • 遵义市住房和城乡建设局网站揭阳企业网站建设开发
  • 网站优化一年多少钱深圳网站推广公司
  • 做网站要学的技术宁波网站制作价格
  • 我想给别人做网站网站建设z亿玛酷1负责
  • 睢县网站建设互联网开网站怎么做
  • 网站设计评价标准网站建设语言学什么
  • 那个网站可以做考卷截图按钮图标素材网站
  • 企业网站的seo网站开发海口
  • 阿里巴巴做网站么品牌设计风格
  • 工信部网站域名备案查询要怎样注册公司
  • 赤峰做网站的网络公司工会教工之家网站建设
  • IntelliJ IDEA 社区版支持 Spring Boot 开发说明文档
  • 旅游网站前台怎么做wordpress 主题巴士
  • 平谷重庆网站建设海南建设官方信息网站
  • 电子商务网站建设与规划平面设计网名
  • 网新中英企业网站管理系统wordpress主题搜索引擎
  • 华北理工大学学科建设处网站做一个网站成本大概多少钱
  • 从“找文件半小时”到“答案秒出现”:Dify工作流如何重塑我们团队的协作效率