Godot 3D rendering #1 : 3D Model and Camera

3D 그래픽을 얘기하려면 대학 수업 수준의 방대한 내용을 말해야 한다. 많은걸 생략하고 Godot과 같은 게임 제작 툴을 사용하기 위한 내용에 포커싱을 맞춰 정리해 보려 한다. 3D Model 3D 그래픽은 기본적으로 vertex라고 불리는 3D공간상의 점들의 집합에 이 점들을 이은 선들로 면을 만들어 물체를 표현한다. 이와 같은 방법으로 일반적인 3D 오브젝트는 다음과 같이 삼각형으로 구성된다. 삼각형을 기본단위로 […]

게임엔진 및 3D 프로그램들 좌표계(Coordinate system)

본 내용은 처음 접하는 Godot: Pong 게임을 만들어 보자 #3 에서 독립적인 내용을 추출한 포스팅 입니다. 아, 내가 좌표계 얘길 했던가? Godot에서는 화면의 좌측 상단이 (0, 0)이고 오른쪽이 +X 축, 아래쪽이 +Y축이다. 2D 좌표계는 공식 문서에서 확인할 수 있다. 얘기가 나온김에 3D도 살펴보자. 3D는 오른손 좌표계와 왼손 좌표계로 나뉜다. Godot은 오른손 좌표계를 사용한다. 오른손 좌표계에서도 […]

Android: gradle 7.0 upgrade 후 에러

Android Studio Arctic Fox 2020.3.1 이 정식버전으로 릴리즈됐다. 업데이트 하면서 Android Studio와 AGP(Android gradle plugin)의 버전 체계가 변경되었다. Android Studio는 그 기반인 IntelliJ IDEA에 맞춰 <IntelliJ년도>.<Major 버전>.<Minor 버전> 형태를 사용하고, AGP는 시멘틱 버전관리를 따르면서 필요로하는 gradle 버전을 따라가게 되었다. 이 버전에 대한 자세한 내용은 공식 블로그를 통해 살펴볼 수 있다. 문제는 자연스럽게 Android Studio를 업데이트 […]

Multithread Singleton 구현에서의 Double-checked locking pattern

안드로이드 Room에서 Database 클래스의 Singleton 구현에 조금 의아해 보이는 코드가 있었다. Database class 코드를 다시보면 아래와 같은데, singleton 구현부분에서 getInstance() 함수만 떼어서 보자. 코드를 보면, instance의 null 여부를 두 번 체크하고 있다. 생각없이 보면 이상할 수 있는데, 멀티 쓰레드 동기화시 꼭 필요한 부분이며 Double-checked locking 이라고 부르는 디자인 패턴이다. 링크의 위키페이지를 따라가면 관련 설명이 있다. […]

Android : 무선 디버깅 사용하기

에뮬레이터가 되긴 하지만, 컴터가 좀 구려서 바로 이전에 쓰던 폰을 테스트 시료로 사용중인데, 이놈이 USB포트 접촉불량이 좀 있다. USB선을 건드리지 않고 쓰는게 너무 스트레스라 찾아보니 역시나 adb를 리모트로 연결하는 법이 있네. 안드로이드 스튜디오에서도 인식해서 무지 편해짐. 1. Android 11 이전 방법 참고로, android 11부터 무선 디버깅(wireless debugging)이 추가 됐다. 먼저 android 11 이전버전에서의 방법을 알아보자. […]