Unity/쉐이더 맨텀 2022. 12. 29. 13:37
테스트 버전 Unity 2022.1.24f1 / AmplifyShaderEditor 1.9.1.2 기본적으로 노드가 비슷하기 때문에 유니티의 기본 Shader Graph에서도 만들 수 있음. #. 불 쉐이더를 만들자! 트위터에서 아래의 글을 보고 Amplify로 만들어보기로 결정. HTML 삽입 미리보기할 수 없는 소스 #. 최종 아웃풋 미리보기 URP Unlit Opaque AlphaTest로 작성함. 일렁거리는 Dissolve만들기 우선 SmoothStep부터 만들어준다. Noise Generator로 위쪽으로 Panning되는 노이즈 하나 만들어주자. Noise 설정은 Simple, Scale 35, 0-1Range 체크. 이제 이 두개의 노드를 step으로 연결해주자. 좀 더 불꽃처럼 일렁거리는 ..
Unity/유니티 엔진 동작 관련 맨텀 2022. 12. 10. 01:24
#. 빌드 용량 최적화 에셋 번들이나 어드레서블을 사용하기 전인 개발 초기 단계에서는 Build Report 에셋을 통해 빌드에 포함된 리소스 파일의 용량을 확인한 후, 필요 없는 레퍼런스를 제거하고 불필요하게 사이즈가 크게 잡힌 텍스쳐들의 사이즈를 조정하는 작업이 가능했다. 2020.04.11 - [Unity/에셋스토어 추천] - Build Report / 빌드 후 세부 정보 분석 Build Report / 빌드 후 세부 정보 분석 https://assetstore.unity.com/packages/tools/utilities/build-report-tool-8162?aid=1101l7zGS Build Report Tool | 유틸리티 | Unity Asset Store Get the Build Rep..
Unity/유니티 프로그래밍 맨텀 2022. 12. 7. 23:12
2022.12.07 - [Unity/프로그래밍] - Unity C# IEnumerator vs IEnumerable Unity C# IEnumerator vs IEnumerable 본론에 앞서 IEnumerator 에 대한 이야기부터 해보자. IEnumerator는 유니티를 다루는 사람이라면 코루틴 덕분에 익숙한 키워드 일 것이다. 코루틴 앞에 붙여야 하는 자료형으로 의미를 모르고 외웠을 mentum.tistory.com 이전 글에 이어서 구체적인 IEnumerator 예시를 살펴보자. #. 구현 사항 다음과 같은 코드를 짜고 있었다. 게임 중 특정 이벤트에 대한 보상을 정의한다. 기획자가 엑셀에서 임의 개수의 보상 타입과 value를 쭉 적으면, 그걸 파싱 해서 타입-Value 리스트 형태로 만들어놓고..
Unity/유니티 프로그래밍 맨텀 2022. 12. 7. 23:10
본론에 앞서 IEnumerator 에 대한 이야기부터 해보자. IEnumerator는 유니티를 다루는 사람이라면 코루틴 덕분에 익숙한 키워드 일 것이다. 코루틴 앞에 붙여야 하는 자료형으로 의미를 모르고 외웠을 수 있다. 하지만 코루틴이 정확히 어떤 일을 하는지 알고 있고, C# 쪽을 심화해서 학습했다면 IEnumerator가 의미하는 바를 알 것이다. #. IEnumerator란? MSDN에서는 다음과 같이 설명한다. 'IEnumerator(열거자)란 컬렉션을 단순하게 반복할 수 있도록 지원합니다.' IEnumerator는 System.Collections 네임스페이스에 속한 interface이며, 내부 구현으로는 현재 위치를 뜻하는 Current;와 다음 위치까지 이동하는 bool MoveNext()..
Unity/유니티 엔진 동작 관련 맨텀 2022. 11. 21. 22:21
#. 특정 씬에서 시작하는 게임 환경 어느 씬 에서나 테스트할 수 있어야 한다!라는 개발 방침을 따르고 있지만 서버 등이 들어간 경우에는 시작 씬부터 초기화를 순차 진행하지 않으면 오류가 발생할 여지가 많다. 개별 테스트는 각 씬에서 진행하고 최종 테스트를 할 때는 시작 씬부터 시작해서 테스트하는 경우가 많다. 매번 시작씬 테스트를 하기 위해서 씬을 옮겨서 플레이하는 건 귀찮은 상황. 그런데 현재 씬과 관계없이 플레이모드 시작 씬을 커스텀할 수 있는 방법이있다. #. 시작 씬 설정하기 EditorSceneManager.playModeStartScene를 설정해주면 현재 씬과 관계없이 시작되는 씬을 설정할 수 있다. 물론 어느 상황에나 자동 설정되게 하기 위해 [InitializeOnLoad] 애트리뷰트 ..
Unity/유니티 엔진 동작 관련 맨텀 2022. 11. 20. 16:44
자동 구현 프로퍼티는 인스펙터에서 노출되지 않기 때문에 테스트하기에 불편한 경우가 많다. Debug 창에서 노출된다만, 커스텀 인스펙터를 사용하는 경우라면 일일이 Debug 창을 보기가 귀찮다. [field: SerializeField] 란? 자동 구현된 프로퍼티는 field: SerializeField 애트리뷰트로 인스펙터에 노출 가능하다. 중요한 점은 흔히 알려져있는 SerializeField랑은 다른 애트리뷰트임. [field: SerializeField] vs [SerializeField] 비교 비교를 위해 다음과 같이 SerializeField랑 field: SerializeField 를 같은 형식의 프로퍼티에 적용해본다. 사실 완전히 다른 애트리뷰트는 아니고, 내부 구현으로는 해당 프로퍼티 내..