首頁>Game>source

例如,我在播放模式下直接在材質上进行颜色交換,但是当我迴到編輯模式時,設置仍然保留吗?

例如 mymaterial.SetColor(" _ Color",蓝色); 要麼 mymaterial.color = blue;

最新回復
  • 5月前
    1 #

    這實際上与 SetColor無關 和 color ,以及与场景物件資产之間的差異有關的一切。

    對於场景中的資料,例如场景層次結構中的遊戲物件及其元件以及某些照明設置,Unity会在进入"播放模式"之前儲存打開的场景的副本.当您退出"播放模式"時,它將恢複儲存的副本,从而有效擦除/重置遊戲執行時场景中發生的任何更改。

    但是資产檔案(例如材料,纹理,可指令碼化物件,遊戲物件的預製件等)不在您的场景中.它们是您專案檔案夹中自己的独立資产檔案.因此,在进入"播放模式"時,它们不会被清除並儲存為這種方式,也不会在以後還原。

    如果您想調整材質使其看起来恰到好處,或者一組遊戲引數要在特定的遊戲時刻感覺恰到好處,那麼這很有用,然後退出遊戲模式並保持更改。

    如果您不想以這種方式修改您的源資产,則應该建立它的副本.如果您使用 Renderer.material,這將自動發生 或 Renderer.materials 财产获取者.但您也可以使用以下方法手動複製它:

    var myMaterial = Instantiate(sourceMaterial);
    

    然後您可以修改 myMaterial 而這些影响不会溢位到盤上對源資产的持續更改中。

  • unity:如何建立虛擬屏障来阻止和阻止玩家繼續前进?
  • licensing:我可以在商業独立遊戲中使用具有創意的通用许可CC By 40模型吗?