반응형
현재 Scene의 스탠다드 터레인 머티리얼을 HDRP 기본 셰이더로 변경해주는 스크립트입니다.
using System.Collections.Generic;
using UnityEngine;
using UnityEditor;
using UnityEditor.SceneManagement;
using UnityEngine.SceneManagement;
public class StandardToHDRP
{
[MenuItem("Edit/Render Pipeline/Upgrade Scene Terrain Materials")]
public static void UpgradeSceneTerrainMaterial()
{
Scene scene = EditorSceneManager.GetActiveScene();
List<GameObject> gameObjects = new List<GameObject>();
scene.GetRootGameObjects(gameObjects);
if (gameObjects.Count == 0) return;
foreach(GameObject root in gameObjects)
{
Terrain[] terrains = root.GetComponentsInChildren<Terrain>();
foreach(Terrain terrain in terrains)
{
if (!terrain.materialTemplate.shader.name.ToLower().Contains("standard")) continue;
terrain.materialTemplate.shader = Shader.Find("HDRP/TerrainLit");
}//Terrain
}//GameObject
}
}
반응형
'Unity > Common' 카테고리의 다른 글
Unity 문서 사용법 (0) | 2021.04.14 |
---|---|
Unity - Can't receive UDP data from editor. (0) | 2020.11.04 |
Unity .collabignore 설정 후 Checking for changes 에서 충돌날 때 (0) | 2020.10.23 |
Unity package 에서 에러가 발생시 시도해볼만한 방법 (0) | 2020.10.22 |