3/15(화) 정기회의 다마고치 > 미니게임 주 콘텐츠 : AR 위주로 작동할 수 있는 콘텐츠 먹이 주기, 인사 하기, 씻기기 등 + 산책(부가 기능) >> GUI에 각 상호작용에 대한 버튼 만들고 해당 버튼 누르면 해당 씬으로 넘어가서 해당 기능 수행 (캐릭터 각자 찾아서 나중에 정하기) 진화 시스템 (알 -> 어떤 먹이를 주느냐에 따라서 캐릭터가 아예 달라지게끔) >> 진화 종류 3~4개 ~~미니게임을 통해서 진화에 필요한 애정도, 경험치 등을 획득 가능~~ 본 콘텐츠의 소소한 분량을 늘리고 이후에 여유가 있으면 미니게임 추가 콜렉션북을 만들어서 사용자가 수집한 아이템을 보관 마커리스 >> 펫을 어디에 둘 지? 펫이 바닥을 감지하고 그 위에 생성되게끔 ------------ # 상호작용 1. 산책하기: GPS 기반으로 주변 맵 생성하고 수집 요소 랜덤 드랍 or 화면 안에서 수집 요소 랜덤 드랍 수집 요소 얻는 법? 1. GPS 기반으로 주변 맵 생성해서 수집 요소 드랍하면 터치해서 펫이 그곳으로 움직이게끔 ------------ # 수집 요소 ------------ # 진화 조건: 애정도, 먹이 애정도: 상호작용을 통해서만 얻을 수 있음 먹이: 기본적인 먹이는 지급하되, 특수 먹이는 산책을 통해서 얻을 수 있음 애정도, 먹이 수치가 어느 정도 만족되면 진화 가능 --- (본 콘텐츠 다 만들고 시간 남으면 하기) 미니게임 > 1. 코로나 잡기 / 두더지 잡기 (FPS) 2. 총알 피하기(캐릭터랑 같이 피하기) (닷지류) ------- 정기회의 날짜 화요일 오후 7:00, (일요일 저녁8:00) 3/16(수) 추가회의 역할 분담 발표: 최동호 대본: 임한결 PPT: 김명현 자료 정리: 여인수 PPT 목차 1. Motivation/background for your AR app (you can show some reference apps if something similar exists) 동기: 펫과 상호작용하면서 힐링하는 게임을 만들고 싶었 다. 옛 추억을 되살리고 싶었다. 레퍼런스: 다마고치, 닌텐독스, 세계수 키우기 2. Your idea shortly + key features 주 콘텐츠, 캐릭터를 키우는 과정 (진화) << 미니게임 (먹이 등 수집 요소) 3. Motivation for using AR in the app 펫과 상호작용 > 쓰다듬기, 샤워, 먹이 주기, 미니게임 핸드 트래킹 4. Schedule 아이디어 기획 ~3/18 자료 수집 및 프로그램 설계 ~ 3/20 개발 시작~ 개발 완료 3/20 ~ 4/24 최종 완성 ~4/24 영상 제작 및 버그 픽스 등 수정 ~4/29 매주 화요일 오후 7시 정기 회의 5. Work division between team members 모델링 찾기 > 전부 GUI 1명 총괄 - 최동호 미니게임(FPS) 1명 - 여인수 미니게임(닷지) 1명 - 임한결 주 콘텐츠 다마고치 2명 - 김명현 최동호 주 콘텐츠: 펫과 상호작용, 진화 다음 주 회의까지 각자 준비해야 할 것 --- ### 03.22 회의 => 모델 찾기, 에셋 준비 (후보군) 알 > 캐릭터 1. Cute Bird2 (유료) 10$ (주 모델) 2. Lowpoly 고양이 3. https://sketchfab.com/3d-models/bomberman-karabons-634a022bd09a4508903299d65a34ea6b (무료) 애니메이션 x 4. Egg 5. 고래 (애니메이션 4개) 6. 여우 (애니메이션 많음) >> Cute Birds를 주 모델로 하고, (여우, 고래) 서브 모델 --- 거품 애니메이션 https://assetstore.unity.com/packages/vfx/particles/environment/jiggly-bubble-free-61236 음식 에셋 https://assetstore.unity.com/packages/3d/food-pack-3d-microgames-add-ons-163295 --- => 프로그램 설계 구체화 ![](https://i.imgur.com/o9uVmYA.png) 1. 펫은 여러 마리 키울 수 있으나, 메인 화면에는 한 마리의 펫만 소환 가능 2. 펫은 상태를 가지고 있음. 상태는 (애정도, 허기짐, 청결도)임 3. 애정도는 모든 상호작용을 통해 얻을 수 있는데, 각 상호작용마다 가중치가 다름. (핸드트래킹을 사용한 상호작용이 가중치가 제일 높게끔 > 15~20) 4. 청결도 >> 씻기기로 해소 가능 5. 허기짐 >> 먹이주기로 해소 가능 6. 만약 상태 중 하나라도 바닥이 나면 해당 상호작용만 가능하게 해야 함. 7. 청결도나 허기짐이 바닥 상태로 유지가 되면 애정도가 떨어짐. 8. 진화 버튼은 애정도가 다 찬 상태에서만 활성화 됨. 9. 그동안 먹은 먹이의 비율을 통해 진화가 결정됨. (먹이는 총 7개) 10. 일반 진화는 5종류(새) + 특별 진화 2종류 (여우, 고래) 11. 특별 진화는 특별 먹이 조합 or 하나의 먹이로만 먹여야 하는 걸로 12. 새로운 캐릭터 알은 아직 기획 X (한 마리로만 만들어보고 시간 남으면...) [먹이] 체리, 바나나, 올리브, 치즈, 핫도그, 수박 6개 1. 먹이는 총 6개 2. 기본 먹이 1개, 나머지 5개는 산책을 통해 얻을 수 있다. => 깃 사용법 숙지 => 구글 드라이브로 자료 공유 GUI, 먹이주기 : 최동호 메인 씬, 인사하기 : 여인수 산책하기 1 : 임한결 진화 시스템, 씻기기 : 김명현 필요한 기능: 세이브, 펫 상태 관리, 먹이 데이터, (옵션), 진화 조건 >> 다음 회의에서 GIT 맞춰보기, 나머지 상호작용 기능들 디테일하게 짜기, 공유 PPT에 각자 생각해놓은 기능 추가하기 --- ### 03.29 회의 [진화] 일반 특별 진화1, 2는 특정 레시피 (먹이 조합)으로 나온 먹이만 먹였을 때 가능하다. [인사하기] 핸드 트래킹으로 동작을 인식해서 펫이 특정 애니메이션을 취하도록 한다 [씻기기] 손 크기 인식해서 쥐었다 폈다 하면 씻기는 걸로... [산책하기] 바닥이 감지되고, 바닥을 클릭하면 펫이 해당 위치로 이동. https://www.youtube.com/watch?v=SMv-TNkZ_VA (고양이가 레이저 포인터로 이동하는 영상) 먹이를 바닥위에 랜덤하게 뿌려서 펫이 그 먹이에 닿으면 해당 먹이를 얻을 수 있음. * 씬 전환으로 게임을 이루게 되면 딜레이가 발생하는데, 어떤 식으로 게임을 구성해야 성능 면에서 좋을 지? (교수님이나 TA 분께 여쭤보기) [수치] 상태: 애정도(초기값: 0), 청결도(50), 배부름(50)은 0~100 값 (배부름이 가득 차면 먹이주기를 못하게 막기) 진화 조건: 애정도가 100이면 진화 애정도: - 증가 조건: 1. 일반 먹이는 5, 조합 먹이를 먹이면 애정도 10 증가 2. 인사하기 한 번에 5 증가 3. 씻기기 한 번에 5 증가 4. 산책하기도 한 번에 10 증가 - 감소 조건: 1. 청결도 20 이하, 배부름 20이하 상태가 1분 지속 될 때마다 5 감소 청결도: - 증가 조건: 1. 씻기기를 한 번 완수하면 20 증가 - 감소 조건: 1. 게임 켜져있는 동안 3분마다 5씩 감소 2. 산책하기를 한 번 완수하면 20 감소 3. 먹이주기, 인사하기를 완수하면 10 감소 배부름: - 증가 조건: 1. 일반,조합 먹이 하나에 20 증가 - 감소 조건: 1. 게임 켜져있는 동안 3분마다 5씩 감소 2. 산책하기를 한 번 완수하면 20 감소 3. 씻기기, 인사하기를 완수하면 10 먹이: - 기본 먹이(체리)는 처음에 5개만 주어짐. - 특별 먹이1(핫도그) 특별 먹이2(햄버거)는 산책을 통해서만 얻을 수 있고, 일반 진화: - 애정도가 100이고 - 먹이를 준 총 횟수가 10번 이상이면 - 랜덤으로 기본 펫 중 하나로 진화됨 특별 진화: - 애정도가 100이고 - 먹이를 준 총 횟수가 10번 이상이고 특별 먹이로만 먹였을 때 산책하기: - 먹이 드랍 확률 > 특별 먹이1: 10%, 특별 먹이2: 10%, 기본 먹이(1~5) 하나당 16% - 클리어 조건: 같은 먹이 10개가 필드에 떨어지고, 10개를 다 먹어면 산책하기가 끝나고 보상이 주어짐 (해당 먹이 1개) 먹이주기: - 클리어 조건: 먹이를 한 번 주면 보상을 받는다. 씻기기: - 클리어 조건: 씻기는 행위를 하면 클리어 게이지가 차고, 다 차면 종료 모든 상호작용은 중간에 취소, 종료할 수 있다. 다음 금 회의 업무 분담 디테일하게 짜기 전역으로 관리해야 하는 데이터 짜기 실질적인 개발 ### 4.1 회의 씬은 메인 씬 하나만, 다른 스크립트나 오브젝트는 끄거나 켜서 관리 4.5 (화)까지 핸드 트래킹 관련 조사 해오기, 개발 중간 점검 4.8 (금)까지 목표 여인수: 메인씬 GUI, 펫 바닥 감지, 기본 애니메이션 적용 최동호: (먹이 인벤토리 기능)인벤토리 띄우고, 인벤토리에 먹이 넣을 수 있고, 빼는 기능까지 임한결: 산책하기 기능 전체적으로 구현 김명현: (클릭으로)거품 구현과 게이지 구현 ### 4.5 회의 핸드 트래킹 조사: ManoMotion 사용 >> 한결님이 세팅해서 프로젝트에 올려주시기로 함 다음 회의: 다음 개발 일정 구체화, 서로 개발한 거 피드백하기 ### 4.8 회의 1. 먹이주기: 제스처 인식 해서 펫에게 직접 갖다 대서 먹일 수 있음 - 실제로 펫에 닿아야 하기 때문에 사용자가 정면에서 바라볼 때 닿았는지 확인하기가 힘듦 -> 레이를 쏴서 어느 정도 범위에 들어가면 먹어지게끔..? (팀원들 모두 기능 사용해보고 피드백하기로) 2. 산책하기: 바닥 감지가 불안정해지면 먹이 스폰이 힘듦 - 바닥을 고정적으로 생성해서 그 위에서 산책하기 기능 적용 3. 씻기기: 기능 완성 but 펫 오브젝트를 불러올 방법 생각 중 - 태그를 이용해서 가져오기 4. 메인 화면: 펫 초기 소환 시 바라보는 방향이 고정적임 - 사용자 카메라를 바라보게 rotate - UI 클릭하면 펫이 또 소환 됨 추가 내용: 1. 로딩 시간이 너무 김 - 최적화 방법 찾아 보고, 로딩 화면 제작하기 다음주 개발 계획 여인수: 메인화면: 펫 rotate 설정, plane 바꾸기, 펫 인벤토리 빼기 (exit 버튼 안쪽으로) 인사하기: 제스처 인식 > 애니메이션 > 애정도 업 최동호: 음식 먹으면 배부름 지수 올라가게 하기. 김명현: 씻기기(상태창 연결>클리어), 진화(상태값 바탕으로 진화조건 구현) 임한결: 산책하기 처음 랜덤한 먹이 고르기, 클리어 후 변수 수정 및 메인화면 돌아가기, 로딩화면 구현하기 (4.12 화 회의에서prefab 짜기) EGG prefab 먹이: 기본 먹이 5개, 특별 먹이 2개(햄버거, 핫도그) 기본 진화 prefab 5개 - 41, 31, 28, 35, 23 특별 진화 prefab - 고래 https://assetstore.unity.com/packages/3d/characters/animals/fish/cartoon-whale-low-poly-197919, 여우 : https://assetstore.unity.com/packages/3d/characters/animals/toon-fox-183005 다음 회의까지 각자 게임 bgm 다음주 회의에 발표,ppt, 영상 등 역할 분담 인사하기 종료 조건? SWIPE 몇 번에 애정도 증가 할 건지? ### 4.15 회의 임한결: 산책하기 기능 완료, 알에 애니메이션 추가 김명현: 씻기기 애니메이션 추가, 진화 시스템 손 보는 중, 특별 진화 조건 여인수: SWIPE 왼쪽, 오른쪽 상관 없이 총 3번 하면 완료되고 종료, 고래 인사할 땐 Attack 애니메이션 쓰기. 최동호: 먹이주기 완료, 배부름 꽉 차면 실행 안 되게 수정할 것. <회의 내용> 메인 화면 및 다른 기능들: UI 클릭했을 때 isoverUI 체크하기. ManoMotion을 어디서 실행할지? 상호작용 GUI 켜고 끄는 거 Pet이 없을 때 GUI 끄기 진화 후에 Status는 어떻게 관리될 건지? -Status가 초기화 된 후 작용은 똑같이 되는데, 진화 조건을 만족해도 딱히 아무 것도 없음 펫 이름 입력? -> 펫 인벤토리는 일단 미뤄두고 시간 안되면 빼는 걸로.. 특별 진화 애니메이션? - 고래: 걷기1, 걷기2, 어택, 죽음, 여우: 개발 해야 하는 것 김명현 - 터치하면 화면상에 표시(추가 기능) 여인수 - UI 공통 디자인 최동호 - Status 시간 마다 감소 임한결 - Save,Load 기능 + 각자 맡은 상호작용 수정 화요일에 다 같이 플레이 하면서 피드백. 발표 역할 분담 4/29 - 발표 (Trailer Video (2분 미만)) PPT - 김명현 (초안)~4.24, (최종본) ~ 발표자 - 최동호 대본 - 임한결 ~4.27 Trailer Video - 여인수 영상은 4.28까지 제작 5/3 - 기술 보고서 제출 각자 맡은 부분 기술 보고서 쓰고 취합하기. 양식 보고 정하기... ### 04.19 회의 수정 사항: 1. 애정도 감소하는 시간 수정 1초 -> 60초 2. Egg prefab 카메라 기준으로 rotate 안되는 거 수정 3. 각 상호작용에서 status 변화 시킬 때 청결도, 배부름 체크해서 0보다 작거나 100보다 클 때 체크하기 4. 각 상호작용에서 뒤로가기 할 수 있는 기능 만들기 (패널티는 없음) 5. isOverUI 메인 씬에서만 작동 안됨.. 메일로 물어보기 6. GUI - 각 버튼에 아이콘 달고, 에셋 사용하기 (포인트: 노란색) ### 4.20 회의 수정 사항: 1. 인사하기에서 애정도가 한 번에 꽉 차는 걸 5 증가하게 수정하기 2. TapToPlace, 진화에서 새로 생겨나 펫이 겹치는 문제 해결 3. 진화하기에서 먹이가 10개 이상일 때 버튼 활성화되도록 설정 4. 한 번 진화했으면 버튼 활성화되지 않도록 설정 5. 씻기기 뒤로 가기 버튼 추가 6. 처음 접속했을 때 튕기는 거... 7. 상호작용 시작하고, 끝날 때 타이머 체크 ### 4.22 회의 [수정된 거] 1. 효과음 추가 2. TapToPlace했을 때 펫 겹치는 거 해결 3. 씻기기 버튼 수정 4. 타이머 초기화 [수정할 거] 1. 진화하기 한 번만 할 지 계속 할 수 있게 할 지? -> 계속 할 수 있게 하기 (진화할 때 먹은 정보 초기화 하기) 2. 산책하기 끝나고 뜨는 알림창에 텍스트 수정 3. 세로 모드 고정 4. isOverUI [PPT 초안] 0. 간략한 앱 소개 1. Implemented features (may be different than your original plan). - 구현한 기능들 1. 마커리스 기반, AR Plane 사용 2. 상호작용 기능들 - 핸드 트래킹 3. 진화 시스템 2. Demonstration of the app (live demo or trailer). - 트레일러 비디오 (여인수) 3. Work division - Explain what features/parts each member did (optionally if there is time) what were the main 4. A brief overview of the architecture (e.g. show a diagram with the main parts and their connections). - 각자 맡은 기능에 대해 다이어그램 작성하고 한 명이 취합하기 - 임한결: Start Scene, Loading Scene, Save Manager, 산책하기 - 여인수: Main Scene, 인사하기, GUI - 최동호: GameManager, 먹이주기 - 김명현: 씻기기, 진화하기, touchEffect 기한: 4.24까지 5. (optionally if there is time)challenges you faced and how you overcame them. - isOverUI 드래그 때문에 발생한 문제 - UI가 꺼지면 isOverUI가 안 먹히는 문제 분량: 최소 10분 ### 04.26 여인수: 트레일러 영상 완성됨 임한결: 대본 완성됨 김명현: 목요일 저녁까지는 PPT 완성 [기술 보고서 5.3까지] 여인수: 프로젝트 플랜 (5.1까지) 임한결: 대표로 제출 최동호: 기술 보고서 종합해서 정리 김명현: 에셋 URL 정리 기술 보고서 각자 맡은 부분 5.1(일)까지