728x90

2023/11 14

[Unity] Flags Attribute

enum 타입 앞에 [Flags] 어트리뷰트를 붙이면 Inspector 에서 여러 개를 선택 가능한 Bit Flags 처럼 사용할 수 있는데, 이 때 유의해야할 점. None = 0 을 앞이 두어서 아무것도 선택되지 않은 타입을 두는 게 좋다. 각 Enum 값들은 1, 2, 4, 8, ... 처럼 2진수 bit flag 한 자리씩 값을 갖는 숫자로 지정해줘야 한다. (자연수로만 구성하면 하나를 선택했을 때 다른 값도 같이 활성화되는 오동작을 할 수도 있음.) 아래는 샘플 코드. [Flags] public enum ETest { None = 0, Option1 = 1

[Unity] ScriptableObject의 CustomEditor가 있을 때 저장이 안 되는 문제

특정 ScriptableObject 에 CustomEditor를 선언하고 작업할 때, ScriptableObject가 저장되지 않는 경우가 있음. CustomEditor를 정의하면 직접 적용도 해줘야 하기 때문에 그런데, 아래처럼 serializedObject.ApplyModifiedProperties(); 함수를 호출해주면 됨. [CustomEditor(typeof(MyScriptableObject))] public class MyScriptableObjectEditor : Editor { public override void OnInspectorGUI() { DrawPropertiesExcluding(serializedObject, new string[] { "m_Script" }); serializ..

유니티 에셋 스토어 블랙 프라이 데이 50%~최대 70% 할인!

2023년 블랙 프라이데이, 유니티 에셋 스토어에서 대규모 할인 세일이 진행 중입니다. 이번 세일 기간에는 인기 에셋 300개 이상이 최소 50% 할인부터 시작하여, 플래시 딜 시간 동안 최대 70%까지 할인됩니다. $100 짜리 에셋을 $30에 구매할 수 있는 기회도 제공됩니다. 음악 패키지, 3D 소품, 백경 에셋 패키지 등을 저렴한 가격에 구매 가능합니다. 할인 정보는 아래 스토어 링크에서 확인할 수 있습니다. https://prf.hn/click/camref:1011lvz7h/pubref:sale/destination:https%3A%2F%2Fassetstore.unity.com%2F%3Fon_sale%3Dtrue%26orderBy%3D1 에셋스토어 여러분의 작업에 필요한 베스트 에셋을 찾아보세요..

파이썬(Python) - 폴더 아래 소스코드 인코딩 일괄 변환 스크립트

유니티 엔진으로 개발하던 프로젝트의 소스코드가 어째서인지 어느 순간 인코딩이 바뀌어 버렸습니다. 원인은 알 수가 없는 상황. 코드는 모두 utf-8 인코딩으로 관리하고 있었는데, 갑자기 인코딩이 변경되고 코드 내에 한글이 모두 깨져있는 상황. 그래서, 일단 파이썬으로 소스코드 전체 일관 인코딩을 변경해주는 코드를 짜서 돌렸습니다. 아래는 원본 소스. 폴더 이름과 소스코드 확장자, 인코딩을 적절히 수정해서 돌리면 됩니다. 그리고 chardet 모듈을 사용하기 때문에 pip install chardet 커맨드로 chardet 모듈을 설치해야 합니다. import os import codecs import chardet # 현재 경로 아래의 scripts 폴더 내 파일들의 인코딩을 변경합니다. director..

[Blender] <나의 첫 블렌더> 책 블렌더 기본 조작 스터디 노트

스터디 정리 서적 https://link.coupang.com/a/bghBsM 나의 첫 블렌더:19개의 실전 예제를 따라하며 배우는 COUPANG www.coupang.com 블렌더 기본 조작 카메라 회전 : 미들버튼 드래그 카메라 Pan 이동 : Shift + 미들버튼 화면 분할 : 에디터 모서리 드래그 분할 에디터 뷰 확대 토글 : Ctrl + Space 쿼드 뷰 토글 : Ctrl + Alt + Q 툴바 토글 : T 사이드바 토글 : N 오브젝트 선택 관련 모두 선택 : A 선택 반전 : Ctrl + I 영역 선택 : B 원형 선택 : C (우클릭 취소) 툴바에서 선택하거나 W 키로 선택 방식 스위칭도 가능 기즈모 이동 : G (Grab) -> X, Y, Z 키로 각 축에 고정해서 이동 가능. 회전 ..

[Unity] 드로우 콜 최적화 (Optimize DrawCall) 요약 정리

[유니티 TIPS] 유니티 최적화를 위한 필수 기본기! Batching 방법 소개 https://www.youtube.com/watch?v=w14yjBlfNeQ 0. 여러 개 메시(mesh), 여러 개 머티리얼을 : 최적화 없음 1. 여러 개 메시, 단일 머티리얼에서 UV좌표 나눠쓰기 : Batches 는 그대로, SetPass call 최적화 2. 동적 배칭 (Dynamic Batching) : Batches, SetPass Call 최적화. 동일 머티리얼의 작은 메시들은 버텍스 버퍼를 재활용 처리. 저가형 기기에서 성능을 최적화하도록 설계. (900개 이상의 버텍스 속성과 300개 이상의 버텍스를 포함하는 메시에 동적 배칭을 적용할 수 없음. 문서 참조.) https://docs.unity3d.com..

[Unity] Unity Engine 버전업 후 에러 메시지 Error : "The type or namespace name 'Newtonsoft' could not be found"

Newtonsoft.Json.JsonConvert 를 사용하고 있었는데, 유니티 엔진(Unity Engine)버전업 후 아래와 같은 에러 메시지가 출력될 경우. "The type or namespace name 'Newtonsoft' could not be found ~ " Newtonsoft 모듈 종속성 설정이 추가되지 않았기 때문. 엔진 버전업 하면서 모듈 설정이 날아가는 모양. Packages/manifest.json 을 열어서 "dependencies" 아래에 모듈 정보를 추가해주면 됨. "com.unity.nuget.newtonsoft-json": "3.0.2" 이렇게. 저장하고 유니티 엔진 리프래쉬 한 번 해주면 끝. GitHub : Newtonsoft Json for Unity https:/..

[Unity] 비동기 처리를 위한 UniTask

UniTask GitHub https://github.com/Cysharp/UniTask GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. Provides an efficient allocation free async/await integration for Unity. - GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. github.com 정리 잘 돼있는 블로그 유니티 코루틴(Coroutine) 대신 유니테스크(UniTask) https://wlsdn6..

[Unity.Shader] Scene Depth node의 Sampling 타입별 차이

Unity Engine 의 Shader Graph 에서 Scene Depth 노드의 Sampling 타입별 차이점을 알아본다. Scene Depth Node의 Sampling Type은 총 3가지. - Linear01 - Raw - Eye 순서대로 Linear01 카메라 위치로부터 Far평면까지의 거리를 정규화 해서 가까우면 0, 멀면 1값을 리턴. 즉, Far평면이 커질 수록 카메라에 가까운 좌표는 0에 다가감. Raw Near평면에서부터 물체까지의 거리를 정규화 해서 가까우면 1, 멀면 0값을 리턴. 즉, Near평면값이 커질 수록 Near평면에 가까운 좌표는 1에 다가감. Eye 카메라 위치에서부터 물체까지의 거리를 정규화 해서 가까우면 0, 멀면 1값을 리턴. 즉, 카메라에 가까운 물체의 좌표일 ..

유니티 엔진의 큰 그림? 유니티 허브 업데이트와 향후 유니티 엔진의 부분유료 방향을 짚어봅니다

유니티 허브가 v3.6.0 버전으로 업데이트 되었습니다. 이미 좀 시간이 지난 일이긴 하지만, 이번 업데이트에는 유니티 엔진과 유니티 테크놀로지스가 더 큰 방향을 모색하고 있는 것 같아요. 새로운 업데이트로는 유니티 허브에 두 가지 새로운 요소가 추가되었어요. Unity Version Control과 Unity Gaming Services라는 두 가지 새로운 컬럼이 생겼죠. 한 번 자세히 살펴볼까요? 먼저 Unity Version Control은 이미 많은 분들이 알고 계시는 형상관리 시스템과 관련된 기능입니다. Git, SVN, Perforce 등으로 알려진 것들이에요. 유니티도 자체 형상 관리 솔루션을 제공하고 있었지만, 이번에 좀 더 적극적으로 도입되었나 봅니다. 그래서 유니티 허브에서도 이를 노출..

728x90
반응형