게임프로젝트 4

1차 정리된 데모

구현 방법 1. 오브젝트들을 각 종류마다 List로 설정한 후 거리 별로 Sorting 해준다. List jelly = new List(); List block = new List(); List coin = new List(); jelly.AddRange(GameObject.FindGameObjectsWithTag("jelly")); block.AddRange(GameObject.FindGameObjectsWithTag("block")); coin.AddRange(GameObject.FindGameObjectsWithTag("coin")); jelly.Sort(delegate (GameObject a, GameObject b) { return Vector3.Distance(transform.positio..

게임프로젝트 2020.06.30

ML-Agents 사용 및 기능 설명

1. 아카데미 추가하기. Academy 기능을 할 새로운 스크립트를 하나 만들고 Academy를 상속 받는다. Max Stpes = 현재 에피소드를 종료하고 다음 에피소드로 강제로 리셋하는 간격이자 최대 실행 횟수 Training Configuration = 엔진 수준에서의 렌더링 품질과 훈련 속도 설정로 순서대로 가로세로 해상도, 그래픽 퀄리티, 시간배속, 프레임제한(-1이면 제약이 없다는 뜻)이 존재한다. Inference Configuration = 이미 강화학습이 진행 된 결과를 실시간으로 실행할 때 사용하는 옵션. 2. Agent 스크립트 작성하기. Agent 기능을 할 새로운 스크립트를 하나 만들고 Agent를 상속 받는다 using System.Collections; using System...

게임프로젝트 2020.05.12

ML-Agents 에이전트, 브레인, 아카데미 란?

Unity Scene = 유니티 내부 프로그램을 뜻 함. 그 외부에 있는 ML-Agents와 Tensorflow는 유니티와는 독립적으로 따로 동작함. 즉, 강화학습에서 머신러닝과 관련된 모델이나 수학적인 처리들 그리고 Low Level의 일들을 유니티 외부에서 진행함. 유니티는 강화학습을 하기 위한 환경을 마련한 것이다. 이 구조에서 유니티 내부의 Agent들은 Brain과 Academy를 통해 외부로 보내고 외부에서는 모델과 관측 된 환경에서 무엇을 선택해낼지에 대한 정보를 Academy를 걸쳐서 Brain으로 보내고 그 Brain에서 Agent로 보내는 것이다. - 에이전트(Agent) = Actor 자신의 속도나 주변 지형 등 주변 정보를 인지 할 수 있는 기능을 가지고 있다. 그 관측 된 정보를 ..

게임프로젝트 2020.05.11

ML-Agents 개발 환경 세팅

1. ML-Agents 다운로드하기 https://unity3d.com/kr/machine-learning 로 들어가서 ML-Agents 다운로드 버튼을 눌러서 https://github.com/Unity-Technologies/ml-agents로 이동한 뒤 Clone을 하거나 Download를 한다. 2. Anaconda 다운로드 하기. https://www.anaconda.com/products/individual로 들어가서 각 개발 환경에 맞게 다운로드를 합니다. ML-Agents는 Python 3.6 을 쓰지만 우리는 우선 최선버전을 다운받습니다. 3. ML-Agents로 Python 3.6 개발환경 만들기. 설치가 완료됐으면 Anaconda Prompt를 실행시켜서 python 3.6버전의 ml..

게임프로젝트 2020.05.09