728x90
유니티 라이팅 세팅은 활성화된 씬의 세팅을 가져오는데
additive load된 씬은 활성화된 씬이 아니기 때문에 additive laod된 씬의 라이팅 정보를 가져오지 않는다.
그래서 additive load할 씬의 라이팅 정보를 가져와 적용할 때는 해당 씬을 활성화 시켜줘야 한다.
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class TestAdditiveSceneManager : MonoBehaviour
{
[SerializeField] Button button;
// Start is called before the first frame update
void Start()
{
button.onClick.AddListener(()=>
{
OnClickButton();
});
// scene load가 완료되면 callback 호출
SceneManager.sceneLoaded += SceneLoadComplete;
}
void OnClickButton()
{
//버튼 클릭시 buildsetting에 등록된 2번 씬 로드
SceneManager.LoadScene(2, LoadSceneMode.Additive);
}
void SceneLoadComplete(Scene scene, LoadSceneMode mode)
{
Debug.Log($"Scene Load Complete : {scene.name}, {mode}");
//로드 완료된 씬을 활성화
SceneManager.SetActiveScene(SceneManager.GetSceneByName(scene.name));
Debug.Log($"Active Scene : {SceneManager.GetActiveScene().name}");
}
}
- 참조
https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.SetActiveScene.html
728x90
반응형
'Unity3D > Unity & C#' 카테고리의 다른 글
Unity & C# ~ 이미지 파일을 로드하여 스프라이트로 만들기 (Image file Load to Sprite) (0) | 2023.03.14 |
---|---|
Unity & C# ~ JsonConvert 사용법 (0) | 2023.02.24 |
Unity & C# ~ Regex 사용해보기 (0) | 2022.12.28 |
Unity & C# ~ InputField가 선택 되었을 때, 커서 위치 (0) | 2022.11.17 |
Unity & C# ~ Tab 키를 눌러서 입력 필드 위치 변경 (public list 활용) (0) | 2022.11.17 |