亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ShaderGraph 材質顏色變化

ShaderGraph 材質顏色變化

C#
繁星coding 2022-01-09 15:54:09
我制作了一個 ShaderGraph 著色器,并將其應用于材質。在著色器中,我在“public”中放入了一個變量 Color 以更改材質顏色。從檢查器來看,如果它不是運行時,它確實可以工作;我想在游戲過程中根據不同的元素來改變這個材質的顏色。材質應用于 lineRenderer。我嘗試了很多方法,但它永遠不會改變顏色;GetComponent<EnemyType>().color; return a RGBA color. I tried :     LaserLine.material.color = GetComponent<EnemyType>().color;     LaserLine.startColor = GetComponent<EnemyType>().color;     LaserLine.endColor = GetComponent<EnemyType>().color;     LaserLine.material.SetColor("_Color", GetComponent<EnemyType>().color);我究竟做錯了什么 ?
查看完整描述

2 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

當您使用自定義著色器時,屬性可能有不同的名稱

根據您的另一個問題中屏幕截圖,您的顏色屬性被命名為“Color”而不是“_Color”,盡管很難看到(因為出于某種原因,您為該問題縮放了圖像)而且我不知道 ShaderGraph 的代碼類型實際輸出(例如,它可能只是一個顏色節點,其實際內部名稱類似于“_Node-2389”)。

如果您點擊此按鈕,然后“編輯著色器”,它將向您顯示有關著色器屬性的一些信息,包括每個屬性的真實字符串表示。

http://img1.sycdn.imooc.com//61da94fb0001432a03580064.jpg

像這樣:

http://img1.sycdn.imooc.com//61da95070001087303310088.jpg


查看完整回答
反對 回復 2022-01-09
?
月關寶盒

TA貢獻1772條經驗 獲得超5個贊

好吧,我發現,

計數的不是屬性的名稱,而是引用。要查看它,請進入 ShaderGraph,然后單擊屬性,您會在屬性參數上找到引用名稱(左上角):

http://img1.sycdn.imooc.com//61da951d0001d88d13000909.jpg

像這樣使用參考槽代碼更改參數值

    material.SetColor("_Color", new Color());



查看完整回答
反對 回復 2022-01-09
  • 2 回答
  • 0 關注
  • 790 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號