분류 전체보기(166)
-
[Project J] 프로토타입 개발 플로우
턴제 전투 화면 시스템 구현하기 1. 유닛 이동 구현하기 A* 알고리즘 R&D 후 검증하기 마우스 클릭 시 월드포인트 변환으로 타일 선택 이동하게 하기. 2. 행동력 구현하기 보유한 행동력만큼의 타일만 이동할 수 있게 하기. - 이동 후 행동력 소모시키기. 이동 가능한 타일의 범위를 표시하기. - 이동 불가능한 타일은 검은색 or 빨간색으로 표시. 행동력이 없으면 어떤 행동도 할 수 없게 하기. - 어떤 행동이든 행동력 소모시키기 3. '근접' 공격 기능 구현하기 적이 내 사거리 안에 있을 때만 공격 가능하게 하기. - 적이 있는 타일까지의 비용을 계산해야 함. if(비용 < 사거리) 일 때만 공격 가능하게 하기. 공격 가능한 타일의 범위를 표시하기. 공격 기회와 행동력이 1 이상 남아있을 때에만 공격 ..
2022.04.12 -
[Project J][R&D] 이동의 기본, A* 알고리즘 구현하기.
https://ansohxxn.github.io/algorithm%20lesson%202/chapter6/#-a-%EA%B8%B8%EC%B0%BE%EA%B8%B0-%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%EA%B5%AC%ED%98%84--playercs Chapter 6. A* 길찾기 알고리즘 구현 인프런에 있는 Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘 강의를 듣고 정리한 필기입니다. 😀 🌜 강의 들으러 가기 Click ansohxxn.github.io '공부하는 식빵맘'님의 블로그를 보고 배운 내용을 정리한 필기입니다. A* 길찾기 알고리즘 개념 A* 알고리즘은 시작 지점과 목적 지점이 주어졌을 때, 이 두 지..
2022.04.09 -
다른 플랫폼에서 실행하기 위한 OAuth 클라이언트 만들기
1. 구글 플레이 콘솔에서 설정 -> 앱 무결성 이동 2. 앱 서명 키 인증서의 SHA-1 인증서 지문을 복사한다. 3. 복사한 SHA-1을 가지고 일반 OAuth 클라이언트 만들듯이 만든다. 그러면 앱번들로 설치한 (구글 스토어 플랫폼에서 실행) 앱이든, 기기에 직접 설치한 APK 이든 어느 곳에서든 지 정상적으로 구글 플레이 게임 서비스 로그인이 가능하다.
2022.04.06 -
녹스플레이어로 로그캣 확인하는 법
1. Nox 앱 위에 오른쪽클릭후 파일위치 열기를 선택 2. nox를 오른쪽 클릭 후 속성 -> 프로그램 경로를 복사한다. (단, 전체 경로 중 bin 까지만 복사하기.) 3. 명령프롬프트를 열고, 복사한 경로로 이동, dir 실행 -> adb.exe를 찾는다. 4. adb.exe가 있을 텐데, adb logcat -s Unity 를 실행 그럼 위와 같이 대기 중 상태가 된다. 이 상태에서 녹스에서 앱을 구동하면, 위와 같이 로그가 쭉 나오게 된다.
2022.04.06 -
OAuth 클라이언트 만드는 법
1. 구글 클라우드 플랫폼에서 '+사용자 인증 정보 만들기' 를 누른다. 2. 애플리케이션 유형 드롭박스에서 Android 선택. 위의 설명대로 앱이 여러 플랫폼에서 실행되는 경우 각각 자체 클라이언트 id가 있어야 한다. 기기에 apk를 직접 깔아 구동할 때와, 앱 번들을 설치해 구동시킬 때에 필요한 id가 따로 있다는 뜻이다. 3. 나머지 서식 채워넣기 패키지 이름은 밑의 스샷에서 Package Name을 복붙하고, 그 밑의 SHA-1 인증서 디지털 지문을 얻는 방법은, 명령 프롬프트를 열고, java -version을 실행해본다. java 버전이 나오지 않는다면 아래와 같이 한다. Preferences 에서 External Tools로 이동, 밑으로 스크롤을 내려서 Android의 JDK를 Copy..
2022.04.06 -
씬에 있는 특정 오브젝트(ex. 몬스터)를 감지하게 하는 법 모음
이번 포스팅에서는 씬에 있는 오브젝트(예를 들어 몬스터)와 상호작용해야 하는 오브젝트(Ex.플레이어)가 있을 경우, 대상 오브젝트를 플레이어 오브젝트가 감지하게끔 하는 방법을 정리할 것이다. 1. 감지가 필요할 때마다 매니져에서 감지 후 지시 void LetPlayerShoot() { GameObject[] monsters = GameObject.FindGameObjectsWithTag("Monster"); foreach(GameObject mon in monsters) { MonsterControl monster = mon.GetComponent(); if (!monster.dieOnce) { player.SetMonsterTarget(monster); break; } } } 감지가 필요할 때마다 (E..
2022.03.23