unity 如何让particleSystem随机播放材质的子材质
我创建了个particleSystem,材质贴图包含x方向平行的4个子材质然后我用如下代码想要设置发射出来的粒子为随机某一个子材质。intparticlePart=Ran...
我创建了个particleSystem,材质贴图包含x方向平行的4个子材质
然后我用如下代码想要设置发射出来的粒子为随机某一个子材质。
int particlePart = Random.Range(0,4); foreach (Transform child in transform) { switch (particlePart) { case 0: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0, 0)); break; case 1: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.25, 0)); break; case 2: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.5, 0)); break; case 3: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.75, 0)); break; } }
可是事与愿违,每次都是所有的已经发出的particle都同步修改了,我希望的效果是只修改新发出的particle,坐等ING 展开
然后我用如下代码想要设置发射出来的粒子为随机某一个子材质。
int particlePart = Random.Range(0,4); foreach (Transform child in transform) { switch (particlePart) { case 0: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0, 0)); break; case 1: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.25, 0)); break; case 2: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.5, 0)); break; case 3: child.gameObject.renderer.material.SetTextureOffset ("_MainTex", new Vector2 ((float)0.75, 0)); break; } }
可是事与愿违,每次都是所有的已经发出的particle都同步修改了,我希望的效果是只修改新发出的particle,坐等ING 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询