如圖要獲取劃線物體并修改其材質(zhì)球:
private Transform[] FindChild;
public Material ChangeMat;//變換后的材質(zhì)球
private Material mat;
void Start()
{
????????FindChild = this.gameObject.GetComponentsInChildren<Transform>(true);//true表示包括隱藏物體的查找
? ? ? ? foreach (Transform child in FindChild)
? ? ? ? {
? ? ? ? ? ? if(child.childCount == 1)//0為最下子物體即AttackPosition_Special
? ? ? ? ? ? {
? ? ? ? ? ? ? ? Transform FindLChild = child.GetChild(0);
? ? ? ? ? ? ? ? mat = FindLChild.GetComponentInChildren<MeshRenderer>().material;
? ? ? ? ? ? ? ? //Debug.Log("Mat");
? ? ? ? ? ? }
? ? ? ? }
}然后再做材質(zhì)球的變化,記得拖拽。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-613305.html
這里要注意的是,如果代碼運(yùn)行無(wú)誤,包括Debug也正常輸出,且材質(zhì)球由ShaderGraph制作,但材質(zhì)球未發(fā)生變化,那么可考慮mat.shader = ChangeMat.shader;文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-613305.html
到了這里,關(guān)于Unity3D 獲取子孫物體并修改材質(zhì)球?qū)傩缘奈恼戮徒榻B完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!