레이캐스팅(raycasting)이란? 말 그대로 쓰자면, 한 지점에서 광선을 쏴서 그 광선이 어딘가에 충돌하는지 알아내는 방법이다. 원래는 렌더링을 위한 기법으로 사용되었는데, 반사가 없는 레이 트레이싱으로 생각할 수도 있기 때문이다. 또한, 그림자를 계산하는데 사용될 수도 있다. 생각보다 활용도가 매우 높아서, 게임에서 마우스 클릭시 어떤 오브젝트가 선택되었는지 오브젝트 피킹에 사용되기도 하고, NPC의 시야에 플레이어가 보이는지 체크할 수 도 있다….
[글쓴이:] batmask
Godot : 입력을 받는 위치, _input(), _process(), _physics_process()
Godot 에서 입력의 처리는 다음 세가지 함수에서 가능하다. 세 경우의 차이를 알아보자.
Android Studio : Parameter Popup 없애기
안드로이드 스튜디오를 사용하면서 가장 걸리적 거리는게 바로 이 Parameter Popup이다. 원하지도 않는데, 자동으로 떠서 화면을 가리고 불편하게 만든다. 설정에서 간단하게 없애거나 타임아웃을 길게 줄 수 있는데, 정확히 어떤 항목인지 찾느라 고생해서 기록해둔다. 먼저 파라미터 팝업이 뭐냐면, 다음과 같은거다. 보면, 함수 Column을 사용하려하면, 자동으로 파라미터 입력부분에 팝업이 뜬다. 나같은 경우는 파라미터를 잘 모를 땐 함수에 대한…
Android: External Storage and Storage Access Framework(SAF)
개요 SD Card 또는 External Storage에 대해 가볍게 접근했다가 대혼돈이라는걸 뒤늦게 알았다. 내맘같아선, 그냥 기존처럼 자유롭게 접근하게 냅두면 좋겠지만… 모든 변화의 핵심은 Internal Storage 수준의 보안과 권한(Permission)이다. 사족을 달자면, 대부분 앱들은 아이폰용으로도 개발되기 때문에 이 골치아픈 External Storage를 다루지 않고 전부 Internal Storage만 사용한다, 카카오 톡처럼. 내용을 볼수록 이것도 이해가 되긴 하는데, 안드로이드 유저로선 그냥…
Android : Intent 정리 #1
명시적 인텐트(Explicit Intent) 요즘엔 단일 Activity로 앱 개발이 주로 이루어지지만, 초기에는 모두 Activity로 만들어졌었다. 하나의 앱내에서도 Activity를 띄우기 위해선 startActivity()를 사용하는데, 인자로 Intent객체를 넘겨줬다. Activity를 띄우는 예제 코드를 보면 다음과 같다. Intnet 객체를 생성하는 첫번째 인자는 Context이고, 두번째는 불러올 Activity의 클래스 이름이다. “::class.java” 는 무엇일까? ::class 는 Kotlin에서 KClass를 리턴해주는 reflection 문법이다. 안드로이드 Intent는 java…