unity 5

프로퍼티와 getter/setter 메서드

필드의 데이터 무결성을 유지하는 것은 매우 중요하다.무결성의 중요성 자체는 여기서 다루지 않겠지만, 이를 지키기 위한 대표적인 방법이 바로 캡슐화이다. 그리고, C#에서 이를 구현하기 위해 프로퍼티를 주로 사용한다. 프로퍼티에는 크게 3가지 장점이 있다.값 검증 및 제한프로퍼티의 set 블록에 조건 로직을 삽입함으로써, 외부에서 잘못된 값을 주더라도 내부에서 자동으로 교정하거나 거부할 수 있다.캡슐화와 기능 삽입내부 필드에 대한 접근을 통제하면서, 접근 시 부가 기능도 함께 실행할 수 있다.읽기와 쓰기 제어로 인한 무결성 유지get, set 각각에 접근제어자를 독립적으로 지정할 수 있어서, 읽기 전용, 쓰기 전용, 둘 다 가능, 등 다양한 제한을 둘 수 있다.   프로퍼티는 간결성, 유연성, 커스텀 로직..

유니티에서 데이터를 저장하는 방법

유니티에서 데이터를 저장하는 방법은 목적과 사용 범위에 따라 여러 가지가 있다.PlayerPrefs로컬 파일 저장 (JSON, XML, Binary)ScriptableObjectSQLite/Database 저장클라우드 저장각 데이터 저장 방법의 추천 용도, 저장 위치, 지원 데이터 타입, 장단점을 알아보고 비교하자  1. PlayerPrefs추천 용도 : 설정값, 사용자 이름, 점수 등 소량의 데이터게임 설정값 (볼륨, 해상도, 언어 등)마지막으로 저장된 레벨이나 체크포인트간단한 튜토리얼 완료 여부로그인 여부, 간단한 유저 상태점수, 최고기록 등 간단한 통계 데이터저장 위치 : 해당 기기 내부에 저장되며 자세한 위치는 플랫폼에 따라 다르고, unity에서 변경 가능지원 데이터 타입int, float, s..

부동 소수점 (Floating Point)의 오류(Error)와 흔들림(Jitter)

부동 소수점은 소수점이 있는 수를 컴퓨터에서 근사하여 표현하는 방식이다. 유리수와 달리 실수는 불가산집합,즉 무한하기 때문에 컴퓨터로 구현할 수 없어서 유사한 값을 정해진 비트 안에서 최대한 가까이 표현하는 방법이다. 부동 소수점은 크게 float와 double로 나눌 수 있으며, 속도와 GPU 호환성을 이유로 unity에서는 주로 float를 사용한다.하지만 소수점 약 15자리까지 안전한 double과 달리 float는 소수점 7자리까지의 정밀도를 보장하기 때문에, 매우 미세한 오차가 반복 계산 또는 시간 누적에 따라 큰 오차가 될 가능성이 있다.    부동 소수점 오류(Error)float a = 0.1f;float b = 0.2f;float c = a + b;float d = (c == 0.3f ?..

public vs SerializeField

public 과 [SerializeField] 는 Unity에서 필드를 인스펙터에 노출할 때 사용하는 방식이다. 둘 다 필드를 직렬화하는데 사용되지만 접근성과 캡슐화 면에서 근본적인 차이가 있고, 이를 잘못 사용하면 안전성과 유지보수 측면에 문제가 생길 수 있다.  공통점필드가 인스펙터에 노출된다.public외부 클래스에서도 접근이 가능하다.외부 클래스가 이 값을 마음대로 바꿀 수 있어 캡슐화 원칙에 위반된다.실수나 외부 의존성 때문에 디버깅이 어려워질 수 있다.[SerializeField]외부 클래스에서는 접근 불가 ( private 또는 proteced ).에디터에서는 값이 보이지만, 코드 상에서는 이 필드에 직접 접근할 수 없다.캡슐화를 유지하면서 인스펙터에서 데이터 조작이 가능하다.외부에서 필드 ..

Unity 조사하기

▶ Unity를 이용해 만든 프로젝트 서비스 명장르, 분류제작사첫 번째 프로젝트Pokemon GO실시간 증강현실 게임Niantic두 번째 프로젝트원신오픈월드 ARPGmiHoYo세 번째 프로젝트오리와 도깨비불액션 플랫포머,메트로베니아 어드벤처Moon Studios네 번째 프로젝트어몽어스멀티플레이Innersloth다섯 번째 프로젝트Slya the Spire로그라이크 카드 배틀MegaCrit  ▶ 위 프로젝트들의 공통된 특징이 있나요?    실사적인 그래픽 보단 2D이거나 카툰 랜더링을 기반으로 해서, 애니메이션적인 느낌을 준다 ▶ 여러분이 생각하는 Unity의 강점은 뭐라고 생각하나요?    입문 난이도가 언리얼 엔진에 비해 낮아 배우기 쉽고, 멀티플랫폼을 지원하는 것 ▶ 여러분은 Unity를 이용해 어떤 ..

Unity 개발 일지 2025.03.18