분류 전체보기 120

[Unity/UnityEditor] EditorApplication, EditorSceneManager

EditorApplication.playModeStateChanged : Play Mode 이벤트EditorSceneManager.activeSceneChangedInEditMode : Scene 변경 이벤트InitalizeOnLoad : 클래스 어트리뷰트, 컴파일 또는 플레이 모드에 실행InitalizeOnLoadMethod: 메소드 어트리뷰트, 컴파일 또는 플레이 모드에 실행using UnityEngine;using UnityEditor;using UnityEngine.SceneManagement;using UnityEditor.SceneManagement;[InitializeOnLoad]public class ReloadManager{ static ReloadManager() { ..

Unity/UnityEditor 2023.05.17

Serialization

산발적으로 퍼져있는 데이터들을 바이트 형식으로 직렬(일렬로 나열)화 시키는 것역직렬화 : 직렬화한 것을 풀어서 메모리에 올리는 것직렬화는 asset dependency때문에 중요- metafile, GUID, fileID 로 관리함- guid : asset 고유 아이디- fileID : 항목마다의 아이디- monoBehaviour 항목이 추가되면m_Script 에 fileID 와 guid가 생기는데 guid는 고유 id이므로 이걸 통해 에셋을 찾을 수 있음scriptableObject : monobehaviour가 참조해서 사용할 수 있는 에셋화 시킨 데이터 구조참고https://youtu.be/kEu_AQ_Es-8

Unity/잡학 사전 2023.05.15

[Unity/UnityEditor] UnityEditor.Selection

하이어라키 창에서 오브젝트 선택 관련해서 해당 api를 사용해서 판단할 수 있다.Selection.acitveGameObject참고https://docs.unity3d.com/2022.3/Documentation/ScriptReference/Selection.html Unity - Scripting API: SelectionSuccess! Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable. Closedo..

Unity/UnityEditor 2023.05.10

[Unity/UnityEditor] DestroyImmediate 에디터 모드 시 오브젝트 제거

에디터 모드에서는 DestroyImmediate를 사용해야 함참고https://docs.unity3d.com/ScriptReference/Object.DestroyImmediate.html Unity - Scripting API: Object.DestroyImmediateThis function should only be used when writing editor code since the delayed destruction will never be invoked in edit mode. In game code you should use Object.Destroy instead. Destroy is always delayed (but executed within the same frame). Use t..

Unity/UnityEditor 2023.05.10

[Unity] Unity Korea Youtube - IL2CPP, Mono, AOT, JIT 개념 파헤치기

mono : .net 프레임워크 대응(리눅스 기반) - C# 이 .net 프레임워크 기반인데 최종적으로 우리는 안드로이드, 애플에 배포를 해야하기 때문에 mono 프레임워크를 사용해서 변환해서 함. IL : 중간 언어 - C#에서 IL로 변환되고 mono가 런타임상에서 파싱하면서 돌게 함 - C# -> IL -> mono => JIT (Just it time) 그때 그때 돈다는 말 - Lua, python 을 인터프리터 언어라고 불림 > 생언어를 인터프리터가 실시간 파싱하면서 돌림, 그래서 굉장히 느림 - JIT 방식은 한번 변환된 어셈블리를 가지고 타겟 디바이스에 맞게 컴파일러 하므로 인터프리터보다는 빠름(제일 빠른건 아님) - mono가 C#을 IL로 바꿔주는 것까지 지원, unity는 IL을 C++..

Unity/잡학 사전 2023.04.28

[Unity/최적화] Unity Korea Youtube - Baked Lighting

https://youtu.be/J4iVXAYaJfQ실시간 라이팅과 shadow는 비싼 연산hard 는 한번만 샘플링, soft는 경계를 부드럽게 하기 위해 여러번 샘플링gi는 매우 비싸기 때문에 미리 구워놓는다lightmap: 빛을 텍스쳐로 만든것(19:00)ambiant occultion : on 하면 입체감 있게 표현가능(34:00) 다른 것보다 shadowmask가 더 자연스럽게 이어진다, 미리만든 텍스쳐 + 실시간 연산, 맵이 커지면 퀄이 낮아지기 때문에 밸런스가 중요DistanceShadowMask: 성능 조절을 위한 기능, 가까이 있는건 제일 자연스러워보이고 멀리 있는건 어색해보이나 성능을 높일 수 있음좁은 씬에 2048일때 6장이면 모바일에서 큰 편, 회사마다 다르므로 내부 회의 필수Form..

Unity/최적화 2023.04.10