Skip to content

Latest commit

 

History

History
242 lines (163 loc) · 11 KB

내가_기여작업연구한_부분들.md

File metadata and controls

242 lines (163 loc) · 11 KB

내가 기여/작업/연구한 부분들(작성중)

기술 전파, 인수인계, 연구는 했지만 최종적으로 사용하지 않은 기술들 포함.

프로젝트 중에는 정리할 시간이 없었습니다. 종료 후 생각난 것만 정리했기에 빠진 부분들이 존재할 것입니다.

  1. 중요 파트(하위 문서 포함)

    1. 웹캠 영상인식 시행착오, 유니티 웹 통신 시행착오
  2. 팀 관리

    1. 디코, 노션 관리

    2. 참고할 프로젝트 모음

    3. 희망스택 조사

    4. 현재 실력, 스택 조사

    5. 프로젝트에서 얻고자 하는 점 조사

    6. 주제선정 방향성 조정

    7. 게임 제작 관련 정보 조사

        1. 유니티 경험이 가장 많은 나는 백엔드와 ai를 맡아야 하고, 전공자도 배포 경험자도 없고 영상인식 경험자도 나밖에 없고, 멀티플레이를 위해 일반적으로 사용하는 node.js와 웹소켓 제작 경험자도 없는 상태였다. 그런 상황에서 유니티를 이용한 멀티플레이 게임을 제작하고 안정적으로 배포까지 하는 그림이 전혀 그려지지 않았다. 그래서 팀원들이 이미 익숙한 웹개발로 게임을 만들 수 있는 방법들을 조사해보았다.
        1. 바닐라 js를 사용한 게임제작 자료는 여럿 있었으나 대표링크 하나만 작성했다.
      1. 실제 게임 예시(http://starics.cubedot.kr/)
    8. 에셋에 투자할 수 있는 예산 조사

    9. 매일 진행상황 파악

      1. 학습, 조사 방향 제시
      2. 필요없는 업무 배제
      3. 필요하면 업무별 인원분배 조정
      4. 실시간 업무 분배
      5. 에로사항 확인
  3. 유니티 기초교육

    1. 유니티 세팅(버전, 설치옵션)

    2. 계정제공

      1. 유니티 에셋을 공유하려면 같은 계정을 사용해야한다. 구글 계정을 새로 파서 유니티에 가입하고 공유하였다.
    3. 에셋스토어 사용법

    4. 에셋 사용법

      1. 구매한 에셋을 유니티에서 import하는 방법을 알려줬다.
    5. 학습자료 전파

      1. 이전 프로젝트때 유니티 기초학습에 사용했던 자료들을 공유했다.
    6. z축 로테이션

      1. 튜토리얼 수행 중 캐릭터가 벽에 부딪히면 회전하는 문제를 겪고 있기에 z축 로테이션을 고정하면 회전하지 않는다고 알려줬다.
    7. 콜라이더

      1. 플레이어가 벽을 통과하지 않기 위해서는 콜라이더를 설정해줘야 한다는 것을 알려줬다.
    8. 씬(개념, 로드방법)

      1. 한 씬에서 여러 맵을 작업하고 있는 모습을 보고 씬 단위 작업을 알려주고, 스크립트에서 다른 씬을 로드하는 방법을 알려줬다.
    9. 프리팹

      1. 똑같은 역할을 하는 ui나 캐릭터 등을 매번 새로 만들고 있기에 프리팹을 만드는 방법, 배치하는 방법을 알려줬다.
    10. 싱글톤

      1. 페이지마다 같은 오브젝트를 만들어뒀기에 오브젝트를 싱글톤으로 만들어 모든 씬에서 중복없이 이용하는 방법을 알려줬다.
    11. WebGL빌드

      1. 로컬 유니티에서 계속 테스트를 하고 있기에 WebGL 빌드의 필요성과 방법을 알려줬다.
    12. 깃 사용시 주의사항(같은 씬 작업 충돌) 전파

      1. 유니티의 씬은 스크립트가 아니기에 약간의 수정만으로 수많은 문자열이 수정된다. 같은 씬을 여러 사람이 수정하면 높은 확률로 충돌이 생기기 마련이며, 텍스트 데이터로 표시되는 충돌데이터를 보고는 어떤 부분의 충돌인지 알 수 없다. 그래서 이전 프로젝트에서는 기본적으로 씬을 나눠서 작업하였다. 한 씬을 여러 명이 수정하는 것이 필요할 경우, 한 사람이 작업 후 푸시를 하면 다른 사람이 풀을 받아 그 위에 새 작업을 하였다. 혹은 한 사람이 다른 사람의 화면을 보며 수정할 부분을 알려주고, 한 사람이 수정하여 푸시하였다. 그런 부분들을 개발 시작 전에 모든 팀원에게 전파하였다.
    13. 오디오 리스너 주의사항 전파

      1. 효과음, 배경음악 작업을 한다는 말이 들려 리스너를 싱글톤으로 작업을 해두었는지 물었다. 아니라기에 기본사항을 전파하였다. 씬이 전환되면 오디오리스너, 오디오소스가 부착된 오브젝트가 다 파괴되므로 소리가 끊긴다. 그를 위해 리스너, 소스 모두 싱글톤이 필요하다. DontDestroyOnLoad 만 작업하면 다른씬으로 갔다 돌아오면 소리가 중복 재생되므로 파괴처리도 필요하다. 그 외에도 씬전환을 할 때마다 배경음악이 처음부터 재생되는 등의 문제도 있다. 정확히 기억하는 부분은 아니라서 해당 사항들을 전파하고, 필요하면 이전 프로젝트에서 내가 작업해뒀던 효과음, 배경음악 관련 스크립트들을 참고하라고 전해줬다.
    14. 인풋 필드 사이 탭 작동X 전파

      1. 기획단계에서 로그인을 웹과 유니티 어느 쪽에서 할 지 논의할 때, 유니티에서의 인풋필드는 기본적으로 탭을 이용해 입력창 간 커서 위치 전환이 안된다는 것을 전파하였다.
        1. 팀원들이 이에 대해 조사해서 가능하도록 작업을 해두었다.
    15. VS, VSCode간 주석 깨짐 문제 전파

      1. VS와 VSCode 작업이 병행될 때, 한글주석이 깨진다. 둘다 UTF-8로 설정해두어도 깨졌었다. 유니티 사용이 확정되었을 때 미리 이 사항을 전달하여 한 스크립트에 대해 작업하는 에디터를 통일하라고 충고했다.
    16. 백엔드 sdk 제시(https://developer.thebackend.io/)

      1. node.js로 멀티플레이 게임을 기한 내에 구현하는 것은 무리라 판단했다. 그래서 백엔드 파트를 대체할 수 있는 sdk를 제시했다.
        1. 결과적으로 해당 sdk를 비롯한 여러 방법을 검토하여 포톤서버를 사용하였다.
    1. VSCode

      1. 프로젝트 내 검색방법
      2. 파일간 비교
      3. 각종 단축키
    2. 깃크라켄

    3. 소스트리

    4. 마크다운 문법

      1. 블렌더 테스트
  4. 유니티 자문

    1. 어웨이크, 업데이트, 스타트

    2. 함수연결

    3. 리스트 인덱싱

    4. 텍스트에 변수 연결

    5. 오브젝트, 데이터 연결

    6. 리스트 길이

    7. 파이어베이스-WebGL 관련 학습자료, 실습했던 프로젝트 제공

      1. 파이어베이스 관련 에셋 사전조사(개발자와 영어 문답)
        1. 세팅, 테스트
        2. 개발자에게 문제점 문의
      2. async await
    8. 코루틴

    9. 튜플

    10. WebGL Input Field 문제(https://mgtul.tistory.com/69)

  5. 유니티 JSON 데이터 처리 연구, 교육

    1. 각종 json 해석 툴들 조사, 적용

    2. MiniJSON 설치, 사용법 교육

  6. 유니티 WebRequest

  7. 유니티 플레이어 컨트롤러

  8. 리액트

    1. 앱만들기

      1. 이미지 장고로 보내기 연구
        1. 스크린샷 메서드들
        2. 스트리밍
      2. 웹캠 캡쳐해서 장고로 보내기
        1. 사진 사이즈 줄이기
    2. 리액트에 유니티 삽입(유니티 웹 통신 시행착오.md)

      1. react-unity-webgl 사용시
        1. 유니티와 상호통신
      2. 기존 파이어베이스 사용시
      3. 게임 시작, 종료 시 웹캠 띄우기, 사라지게 하기
  9. 유니티 웹 통신

    1. 라이브러리 없이 통신방법 연구

      1. 웹캠 토글문제
      2. 두번째 인자 문제
    2. 씬 전환시 데이터 저장방식(이전씬에서 다음씬으로)

  10. 유니티 병합과정

  11. 최종병합 과정에서 함수연결, 디버깅 등

  12. JS 자문

    1. axios

  13. AI

    1. 파이썬 동작인식 스네이크게임(https://github.com/msindev/Gesture-Controlled-Snake-Game)

      1. 머리
  14. 장고 전반

    1. 웹캠 스트리밍 연구

    2. 영상인식 삽입

    3. 이미지 데이터 처리

      1. 파싱
      2. decode
      3. asarray
      4. 색상채널 변경/삭제
    4. cors

    5. url

  15. 장고 웹소켓 연구, 인수인계

    1. TCP Socket

    2. channels

    3. Tornado

  16. AWS 인스턴스 생성, 기본세팅, ssh 교육

  17. tmux 교육

  18. 배포연구

    1. netlify 배포

    2. gunicorn 배포

    3. nginx배포

    4. 도메인 연결 연구

    5. ssl 연구

  19. 배포(nginx) 인수인계, 자문

    1. 학습자료 전달

    2. vim 사용법 전달

  20. git 이슈 해결

    1. 깃이그노어 제공

    2. 이그노어 문제로 유니티 협업 꼬임. 브랜치정리

    3. 스태쉬, 팝

    4. 하드리셋

  21. 도커 테스트

  22. 젠킨스 테스트

  23. 기타 사항들

    1. 발표준비

      1. 대본
      2. ppt 내 gif 용량조절