-
[Unity] 처음 배울 때 만들어 본 것들
세계관 전도! 마크 시드에서 대충 뽑아서 그럴듯 하게 만들어 보았다.주인공 레이니크의 시안들. 결과적으로 제일 무난한 파란색이 채택되었다. 2, 3, 4는 어디서 많이 본 캐릭들이라 기각. 메인 화면! UI에 애니메이터를 붙여서 만들었는데, 이거 이렇게 해도 되는 건지 잘 모르겠다.그림자 적용무식하게 설계한 UI대충 기획한 맵들 그리고 대략 23년 3월, 한달이 지났을 무렵 이 리소스들은 관짝으로 들어가게 되었습니다. 하지만 여러모로 재미있는 경험이었어요 :) 마지막으로 언제나 리소스를 제공해 주신 청강문화산업대학교 Omegu 학생에게 언제나 감사드립니다.
-
벡터장의 flux, 발산 정리, 그린/스토크스의 정리
벡터장의 flux?????????flux의 경우는 간단하게 말해서, 단위 시간당 경로를 따라 빠져나간 유입/유출량이 얼마인가? 를 따진다고 볼 수 있다. divergence의 경우는 미소 영역(점?)에 대해 논하지만, flux의 경우에는 좀 더 스케일이 커진 케이스라고 볼 수 있을 것이다.이 벡터장은 중심에서 바깥으로 퍼져 나가는 형태이고, 모든 점에서 Divergence가 양수일 것이다. 물론 Flux라고 해서 크게 다를건 없어 보이고, 실제로도 양수이다. 결론적으로 경계 안/밖으로의 유입/유출량에 대한 정보가 Flux가 될 것인데, 근데 왜 공식이 저렇게 되는지 의문이 들 수 있을 것이다. 아래와 같은 조건이 있다고 해보자.파란 화살표는, 각 면의 중점에서 측정한 벡터장이다.빨간 화살표는, 각 면의 ..
-
Divergence, Gradient, Curl, Laplacian
Vector Filed(벡터장)은 유클리드 공간의 각 점에 벡터를 대응시킨것을 의미한다. 반면에 Scala Field라고 하면은, 유클리드 공간의 각 점에다가 어떤 스칼라 값을 대응시킨 것을 의미한다. 이때 이들에 대한 연산은 여러가지가 있다. 그중 대표적인 것은 Divergence, Gradient, Curl등이 있는데, 아래에서 소개하도록 하겠다.Ref : Encyclopedia Magnetica, 가장 잘 설명한 그림인 것 같아서 가져왔다. Divergence (발산, Vector Field -> Scala Field)Divergence는 발산이라는 뜻을 가지고, 아마도 기초 미적분학에서는 무한급수의 수렴/발산 판정법을 다룰때 들어 봤을 것이다. 물론 Vector Field에 대한 Divergenc..
-
[CG] 폴리곤 메쉬 표현 기법
삼각형 메쉬를 표현하는 단순한 방법은, 그냥 버퍼에다가 어떤 삼각형의 정점 정보를 기입하는 것이다. 이를 정점 버퍼라고 부르게 된다. 다만 이 경우, 중복되는 데이터가 다수 기입되는 문제가 있다. 폴리곤의 수가 적다면 딱히 문제가 될 것은 없어 보이나, 만약 폴리곤의 수가 상당히 많은 경우 (특히 요즘 같은 게임에서는) 데이터 저장 공간을 과다하게 차지하게 된다. 이럴때 사용 하는 것이 인덱스 버퍼이다. 이는 어떤 모델의 정점은 여러개의 삼각형이 참조함에서 기인한 것으로, 정점 버퍼에 정점들을 저장하고 (중복은 X) 이들을 가리키는 인덱스 버퍼의 인덱스로 삼각형의 위치 정보를 표현하는 것이다. 이를 인덱스 삼각형 리스트라고 한다. 다만 통상적으로, 정점의 좌표(위치)만 저장하는 것이 아니라 법선 벡터(n..
-
CPP와 디자인 패턴
CPP 강의를 만들다가, DP 부분은 도움이 될 것 같아 공개적으로 PPT를 업로드합니다. 추상 팩토리, 프로토 타입, 싱글톤, 어뎁터, 컴포짓, 데토레이터, 파사드, 옵저버, 스테이트 패턴에 대해서 개념을 알아보고 대걍 코드로 작성한 것입니다. 많은 분들에게 도움이 되기를 바랍니다.
-
CPP와 ASM
사실 컴퓨터 구조 시간에 충실히 수업을 들은 분들이라면, 굳이 입 아프게 설명할 필요는 없지만.. 어쨋든 필요하신 분이 있을 것이라 추측되어, CPP 강의에 사용된 PPT중 일부를 업로드 했습니다. Volatile, Disassembly, CA에 대해서 간단하게 다뤘으므로, 겉핥기로나마 배우고 싶으신 분들에게 도움이 되길 바랍니다.
-
[C#] Thread, Task, Coroutine
Thread : 프로세스 보다 작은 실행 단위, 그래서 우스갯 소리로 서브 프로세스라고 한다. 하나의 프로세스 안의 여러 스래드가 메모리를 공유하여 코드를 실행한다. 물론 여기서 발생하는 문제가 상당히 많다...Task : 원래는 비동기 작업을 추상화해서 만든 클래스이다. 다만 안에서 내부적으로 Thread의 Pool을 만들어서 (Object Pooling 패턴 참고.) 작업을 처리하게 되므로, 쓰레드에 비해서 개발자가 지지고 볶을 필요가 없게 되었다. 더불어 Await/Async를 지원하기에 비동기 프로그래밍을 구현한다. 스레드와 테스크의 메서드나 플래그에 대해서는, 다른 블로그에서 아주 친절하고 자세하게 설명하고 있으므로 생략한다. 다만 이 포스트에서는 Thread를 사용할 때의 몇가지 유의사항에 대..
-
원숭이도 알아 먹을 수 있는 VAE 설명
전형적인 CS계열 학부생의 모습학부연구생 연구에 있어서, VAE가 긴급하게 필요한 상황이라 이 글을 작성하게 되었습니다. 따라서 이 포스트는 ML이나 DL, 확률론에 대한 기본적인 개념 이해가 있다고 가정하고 진행하게 됩니다. (혹여나 오류를 발견한 Ms나 Dr이 있으시다면 양해를 부탁드립니다.) MotivationRef : CS236, Deep Generative Models, Standford University.- 사람의 얼굴을 모아둔 이미지가 있다고 치면, 그 이미지에는 다양한 변수들이 영향을 미쳤을 것이다. 성별, 눈 색깔, 머리 색깔, 포즈, 조명 등등. 그러나 이러한 특성들이 따로 기록되어 있지 아니한 한, 이미지에서 "잠재적으로" 나타날 뿐이다.- 물론 이러한 변수들을 죄다 알 수 있다면 ..
-
학부 연구생 : 고달프다
진짜 이 표정 그자체였음사실 학부연구생은 그래픽스 분야로 하려고 했는데, 담당 교수님이 서울 어딘가로 이적해 버리시는 바람에(...) 내 제2분야였던 HCI/XR 분야로 잠시 옮기기로 했다. 그래서 동계방학 학부연구생을 담당 연구실에서 진행하게 됬고, 내가 맡은 프로젝트는 "가속도계로 마라카스를 연주하는 데이터를 따와서 손의 움직임 만으로 마라카스의 소리를 만드는 모델을 만드는"작업이 되었다. 근데 문제가 대략 4가지 정도 있었는데, 첫번째는 내가 ML에 쥐약이라는거고, 두번째는 타 연구실로 파견을 나가게 되었는데 내 파트너가 유럽인 석사라는 것이며, 세번째는 내가 고토 히토리마냥 영어 울렁증이 있다는 것이고, 네번째는 심지어 내 책상은 UX연구하는 연구실에 배정되었다는 것이다. 물론 교수님께서도 상당히..
-
2학년의 최후를 맞이하며
Figure 1. 학기를 마치고 멘탈이 나간 필자의 모습, 방학중에는 심해로 되돌아 간다더라 카더라. 다시 생각해도 2-2는 정말 끔찍했던 학기중에 하나이지 않을까 싶다. 프로젝트, 시험, 프로젝트, 시험... ㅋㅋㅋㅋㅋㅋㅋ 거기다가 환절기에 미쳐 날뛰는 내 폐건강과 체력, 그리고 늘어나는 체중과 못생겨지는 얼굴! (사실 이미 최악이라 뭐 더 떨어질때도 없다지만, 그래도 지나가는 사람들을 보면 내 마음이 아파진다.. 심지어 아찐인데...) 물론 개고생 한 만큼 내 CS 지식은 아주 대-폭 상승되어 생산성이 비약적으로 늘어난게 느껴 지지만, 그래도 여전히 나는 개복치 지능인 관계로.. 우리 존경하는 소융과 학우님들에 비하면 세발의 피다. 에휴. 여튼 나중에 Photon, Wwise, 게임기획개론 강의나 찍..