2023 계 모각소 

미미국 

활동내용 및 발표자료

<팀원>

디지털미디어학과 남은수

디지털미디어학과 장윤정

국방디지털융합학과 권재민


<팀원별 활동내용>

남은수

(누구나 할 수 있는) 유니티 2D 게임 제작 : 유니티를 몰라도 따라 하면서 즐겁게 익히는 레트로풍 2D 게임 제작 책을 읽어 게임 제작 시 필요한 조건들을 파악하고, 

유니티가 무엇으로 구성되어있는지 학습, 핵심 요소들을 익히는 등 유니티의 문법을 공부하고, 골드메탈 영상 중 뱀서라이크 언데드 서바이버 게임 만들기 영상을 따라하였다. 

영상을 따라하면서 물리이동 첫번째 : 힘을 준다 = AddForce / 물리이동 두번째 : 속도를 직접 제어한다 = Velocity / 물리이동 세번째 : 위치를 옮긴다 = MovePosition 과 같은

 문법의 짜임을 공부할 수 있었고, 3항 연산자는 (조건) ? (true일 때 값) : (false일 때 값)와 같은 다양한 문법을 익힐 수 있었다.

장윤정

빛의 성질, 종류와 관련한 이론 부터 Cinema4D 툴을 활용한 실전 연습까지 가르쳐주는 라이팅 강의를 수강하였다. 

강의에서 제공해주는 산, 사람, 여러 재질의 사물 예제를 따라해보면서, 라이팅과 매터리얼을 적용하는 방법을 배웠다.

노드를 사용하여 순서대로 재질을 쌓아가는 법을 다양한 예제를 통해 배운 후에는 유리, 립스틱, 헤드폰, 차와 같은 레퍼런스 사진을 똑같이 구현해보는 실전 강의도 

따라해보았다.

2. OpenGL로 공부하는 컴퓨터 그래픽스

마야와 같은 3D 프로그램을 좀 더 이해하기 위해 컴퓨터 그래픽스 공부를 하였다. 

컴퓨터 그래픽스의 유래에서 부터, 사용 분야, 기본 이론, 수학적 이론을 바탕으로 Glut라는 컴퓨터 그래픽스의 언어를 통한 예제를 따라해보았다.

초반에는 윈도우를 띄어 그 위에 사각형을 그리는 기초 단계 부터, 기능을 구현하기 위한 콜백 함수를 만들어 윈도위의 변형에도 도형이 유지되도록 하는 예제, 

키보드와 상호작용하는 기능, 달리는 로봇 그리기 등 다양한 에제를 구현해보았다 

권재민

프로젝트는 미사일 궤적 시뮬레이션을 통해 SFML 라이브러리와 C++ 언어를 사용하여 구현되었다. 다음은 주요 활동 내용이다.

프로젝트 초기에는 SFML 라이브러리를 활용하기 위한 환경 설정이 필요했다. 

SFML은 그래픽 및 이벤트 처리를 위한 강력한 도구로 사용되었다. 처음 사용해보는 라이브러리라 다루는 것에 오래걸렸다.

프로그램은 사용자와 적의 미사일을 모델링하고, 각 미사일의 초기 속도 및 발사 각도를 설정했다. 

이를 통해 미사일이 어떻게 발사되고 움직이는지를 시뮬레이션했다. 미사일은 요리조리 움직이는 것이 아니라 포물선 형식으로 발사되는 것으로 계산했다.

사용자와 적의 미사일 궤적을 계산하기 위해 물리학적인 원리를 적용했다. 

중력의 영향을 고려하여 미사일의 위치를 시간에 따라 업데이트했다. 이때 여러 물리적인 공식이 사용되었다.

계산된 미사일 궤적을 화면에 시각적으로 표시하였다. SFML을 사용하여 미사일 궤적을 그리고, 이를 통해 미사일의 움직임을 실시간으로 확인할 수 있었다.


<팀원별 최종성과>

남은수

플레이어 이동, 몬스터 공격 효과, 다양한 곳에서 랜덤 스폰되는 방법과 프리펩을 이용하여 깔끔한 몬스터 만들기, 무한 맵 설정하기 등을 학습하고 만들 수 있었다. 

애니메이션 컨트롤러를 이용한 재사용이 가장 기억에 남는다. 스펠링 하나만 빠지거나 추가되어도 전혀 다른 의미로 적용될 수 있음을 몸소 깨우칠 수 있었다. 

장윤정

콜로소 라이팅 강의를 모두 수강하여, Cinema 4D를 활용하여 기본적인 라이팅을 구현할 수 있게 되었다. 

또한, 레퍼런스 사진을 보고 비슷하게 구현하기 위한 기본 지식과 팁을 알게 되었다. 글라스, 메탈, 비닐 등 다양한 재질의 예제를 따라하며 결과물을 만들었다.

OpenGl로 공부하는 컴퓨터 그래픽스의 챕터 8장까지 끝냈다. 

8장까지의 glut 예제 코드를 따라하며, 코드를 조금이나마 이전보다 이해할 수 있게 되었으며, 컴퓨터 그래픽스에서의 이론도 이전보다 이해할 수 있게 되었다. 

기존에는 코드를 그저 따라치고 어떠한 결과가 나오는지 보기만 하였으나, 이제는 기능을 구현하기 위한 코드를 설명할 수 있다. 

권재민

미사일 궤적 시뮬레이션 -> 사용자와 적의 미사일 궤적을 시뮬레이션하여 화면에 표시했다. 

이를 통해 미사일의 발사 각도와 초기 속도에 따른 궤적을 시각적으로 확인할 수 있었다. 이를 통해 사용자가 미사일 궤적 시뮬레이션을 자유롭게 관찰할 수 있었다.

미사일 조준 기능 -> 적 미사일의 초기 발사 각도를 사용자 미사일을 향해 조정하여, 사용자 미사일과 적 미사일이 서로 만나도록 설정했다. 

이를 통해 전투 시뮬레이션의 현실적인 요소를 추가했다.


<팀원별 향후계획>

남은수


영상을 따라서 똑같은 게임을 만드는 것을 통해 다양한 문법을 익혀, 나만의 2D게임을 만들어보고자 한다. 기획, 디자인, 제작까지 모두 혼자서 해보려고 한다.

장윤정

라이팅을 할 수 있게 되었으니, 이제 더 나은 퀄리티로 만들기 위한 애니메이션을 배우는 강의를 듣고자 한다. 

콜로소 사이트의 블렌더 100강 사전 강의를 수강하여, 안나 아티스트님의 예제를 따라해 볼 예정이다. 

이를 통해, 블렌더를 사용하는 방법, 노드를 사용하는 방법, 재질에 대한 깊은 이해도, 빠른 모델링에 대한 방법을 공부하고자 한다. 

그 후, 포트폴리오를 제작할 예정이다. 

권재민

추가 기능 개발 -> 현재 프로젝트는 기본적인 시뮬레이션 기능을 포함하고 있지만, 추가적인 기능을 개발하여 미사일 궤적 시뮬레이션의 재미와 현실성을 높일 계획이다. 

예를 들어, 다양한 미사일 유형, 장애물, 환경 요소 등을 추가할 수 있다. 또한 지금은 2차원이지만 실제 미사일은 3차원 상에서 이동하기 때문에 

지금의 프로그램을 3차원으로 확장시켜야 한다.

그래픽 개선 -> 현재 프로젝트는 기본적인 그래픽을 사용하고 있지만, 더 나은 시각적 효과를 위해 그래픽을 개선할 필요가 있다. 

예를 들어, 미사일의 트레일 효과, 폭발 효과 등을 추가하여 시뮬레이션의 현실성을 높일 수 있다.

코드 최적화 -> 코드는 항상 최적화 할 수 있다. 끊임없는 유지 보수로 최적화된 코드를 만들어낼 수 있을 것이다. 


<발표자료>