분류 전체보기
-
[Graphics Study] 변환 - 3DCS/Computer Graphics 2022. 11. 9. 14:31
- Scaling 2차원의 축소확대인자 Sx, Sy에 Z좌표 개념 Sz를 추가해준다. Sx * X, Sy * Y를 했던 것처럼 Sz * Z를 해주면 된다. 3D에서의 폴리건메쉬를 구성하는 모든 정점에 변환을 적용해주기만 하면 된다. - Rotation 2차원에서 회전은 '점'을 중심으로 이루어 졌다. 3차원에서는 '축'을 중심으로 한다.(x, y, z축) + 축 중심의 회전에서는 해당 축이 나를 가리킨다고 생각하고 정면으로 바라본다고 상상하면 편하다. 예를 들어 x축 회전은 x축이 내 눈앞에서 나를 가리키고있고, 저 뒤편에 y, z가 반시계 방향으로 회전한다고 생각하면 쉽다. * Z축을 중심으로 회전, Rz(θ) z축을 기준으로 회전하면 x좌표는 당연히 그대로이고 x, y 만 이동할 것이다. 즉 z' =..
-
[Graphics Study] 변환 - 2DCS/Computer Graphics 2022. 11. 9. 12:40
1. 변환의 종류 - Scaling(축소, 확대) 2D에서는 축소확대인자(Sx,Sy)사용 예를들어 (x,y)를 축소/확대 할 때 x방향 인자, y방향 인자를 각각 곱해주면 됨. => (Sx*X, Sy*Y) * 다만 그래픽스에서는 행렬의 곱셈으로 나타내므로 (Sx 0 ) (x) = (Sx X) (0 Sy) (y) (Sy Y) - Rotation(회전) (x') =(cosθ - sinθ) (x) (y') (sinθ - cosθ) (y) 로 나타낼 수 있다. 여기서 θ: 회전하고 싶은 각도 *이건 반시계방향의 회전 기준이다. 시계방향으로 회전하려면 -θ를 대입한다. - Translation(이동) (x) + (dx) = (x + dx) (y) (dy) (y+dy) Translation의 경우 Scailing이..
-
[Graphics Study] 모델링CS/Computer Graphics 2022. 10. 17. 15:26
모델링은 그래픽스 개발 단계에서 첫 단계에 해당하며, 렌더링 할 물체를 만드는 것을 의미한다. (mesh를 만드는 것) 1. 컴퓨터에서 모델링 개념 예를 들어 구를 모델링하려면 중점, 반지름을 통해 (x-Cx)^2+(y-Cy)^2+(z-Cz)^2=r^2과 같은 음함수로 표현을 할 것이다. 그런데 GPU는 음함수 처리에 적합하지는 않다. 그러므로 구의 표면의 점들을 sample한 후 서로 이어준다. 그럼 뭐가 될까요? polygun mesh~( GPU는 폴리건 메시에 최적화 돼 있다.) 가장 보편적이고 단순한 것은 Triangle Mesh(Open GL도 Triangle Mesh만 처리한다.) 대체로 삼각형의 개수는 꼭짓점 개수의 2배정도 된다. 3Ds Max나 Maya에서는 사각형 메시를 많이 쓴다. 그..
-
[Graphics Study] 수학 기초CS/Computer Graphics 2022. 10. 17. 13:13
컴퓨터 그래픽스는 선형대수(행렬, 벡터)가 기본이므로.. 1. 간단히 행렬에 대한 복습 1. square matrix(정사각 행렬) m x n matrix에서 m=n 2. 행렬 곱 A행렬의 열과 B행렬의 행이 같을 때 즉, A가 l x m, B가 m x n일 때만 가능. (l x m matrix) A와 B를 곱하려면 A의 행 성분, B의 열의 대응하는 곱을 하나씩 곱. 3. Row vector, Column vector Direct 3D는 row vector, OpenGL은 column vector사용. 4. Identify matrix(단위행렬) 어떤 행렬과 곱하더라도 그 행렬을 유지. (1, 0) (1, 0, 0) (0, 1) or (0, 1, 0) 처럼 대각선만 1이고 나머지는 0 인 경우 (0, ..
-
[Graphics Study] 컴퓨터 그래픽스CS/Computer Graphics 2022. 10. 15. 11:25
고려대학교 컴퓨터학과 한정현 교수님의 강의를 듣고 나름대로 정리를 해보려고 한다. https://www.youtube.com/watch?v=Jvz0XPSRbx4&list=PLYEC1V9tJOl03WLDoUEKbiYW_Xt4W6LTl&index=1 1. 3D Computer Graphics 3차원 물체를 입력 받아 2차원 영상(Frame)으로 출력. 프레임을 얼마나 빨리 만드느냐에 따라 실시간 그래픽, 비실시간 그래픽으로 나뉜다. - 실시간 그래픽: Game, AR/VR, UIs. 초당 30frame이상 - 비실시간 그래픽: 영화 특수효과. photorealistic image를 목표 2. 개발 단계 실시간, 비실시간 그래픽 각각에 사용되는 알고리즘은 다를지라도, 개발단계는 공통된다. Modeling ->..
-
[Unity]Interactive Movie Development[Unity] Projects & Study/Loop - Interactive Movie 2022. 9. 19. 21:03
1. 시작 과정 디자인미디어학과 학생들께서 인터랙티브 무비(게임) 제작을 준비하고 계시다고한다. 영상 제작팀과디자인팀은 있는데, 게임 제작을 위한 개발자가 없다고 의뢰를 주셨다. 유니티를 통해 이 게임의 영상 순서 컨트롤 등 개발을 해보려고 한다. 2. 출시 플랫폼 제공하고자 하는 플랫폼은 Steam, Google PlayStore이다. 기존에는 유튜브를 통해 제공하고, 영상이 끝날 쯤에 미리보기 기능으로 엔딩을 결정할 수 있도록 할 계획이라고 하셨었다. 그 다음 텀블벅으로 신청을 완료하신 분들께 유튜브 링크를 보내드릴 계획이라고 하셨다. 그러나 이 방식은 텀블벅을 통해서만 진입이 가능하므로 접근성이 상당히 떨어진다는 판단이 들었다. Steam이나 앱스토어에 게임을 출시하면 어떻겠냐는 의견을 드렸고, 그..
-
Github Desktop으로 대용량 파일 업로드하기(git lfs)카테고리 없음 2022. 7. 14. 12:56
1. git lfs 설치 https://git-lfs.github.com/ Git Large File Storage Git Large File Storage (LFS) replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents on a remote server like GitHub.com or GitHub Enterprise. git-lfs.github.com 2. cmd에서 원하는 레파지토리로 이동 C:\Users\user>cd 레파지토리 경로 3. git lfs install $ git lfs install 4. 추..
-
[Unity - VR 공포게임] 컨트롤러로 플레이어 움직이기[Unity] Projects & Study/우물 속에서 - VR 공포 게임 2022. 7. 7. 12:27
2021년 한이음 프로젝트에서 VR개발을 하게 되면서 오큘러스 퀘스트2를 지원받았었다. 이번 개발도 그래서 오큘러스 퀘스트2로 빌드해보면서 진행했다. 이 분 글을 참고해서 VR개발 세팅을 마쳤다. https://yoonstone-games.tistory.com/102 [Unity + Oculus] VR 개발하기 - 1 (환경 구현, 개발자 등록) 오큘러스와 유니티를 이용하여 콘텐츠를 개발하는 과정을 기록하는 게시글입니다. 사용한 오큘러스 기기는 '오큘러스 퀘스트2' 입니다 :) 1. 2020.3.22f1 버전 설치 후 프로젝트 생성 혹시나 해서 게 yoonstone-games.tistory.com 하이어라키에 추가해주고 우선은 맵을 만들었다. 맵은 적당히 나무, 돌, 집 등 에셋을 다운로드 해서 우물까지..