Unity3D(59)
-
22.01.27 런타임마다 외부의 데이터로 갱신하는 법
오늘은 위의 사진처럼 실행할 때마다 외부에서 가져온 데이터를, 오브젝트의 멤버로 할당하는 법을 실습해보겠다. 먼저, Project 내의 Resources 폴더에 갱신할 데이터 대상인 JSON파일을 저장해주어야 한다. 그리고 몬스터를 가장한 더미오브젝트 프리팹도 저 곳에 놔둔다. 그 다음, 아래와 같이 스크립트를 작성해준다. 먼저 핵심이 되는 DataManage 스크립트. 모노를 상속받지 않고 static이며 GetInstance()로만 static 인스턴스를 참조할 수 있다. using System.Collections; using System.Collections.Generic; using UnityEngine; using Newtonsoft.Json; using System.Linq; public c..
2022.01.27 -
22.01.26 논스톱 나이트 모작하기
소스코드 GitHub 주소 : https://github.com/hanamc99/UnityGukbi/tree/main/Simple%20RPG [도전 과제] 1) 웨폰 데이타 스프레드시트에서 가져오기 2) 저장한 json파일을 유니티 상에서 읽어들이기 위해 weapon_data를 받을 매핑클래스를 만든다. 3) 매핑클래스로 만든 딕셔너리에 json데이터를 담는다. 4) 게임의 정보를 담으며, 나중에 저장할 대상인 GameInfo클래스를 만든다. 5) 게임의 모든 데이터를 관리하는 DataManage클래스에 GameInfo객체도 관리하게 한다. 6) 플레이어의 움직임을 따라오는 카메라를 만든다. 7) 닿으면 다음 층으로 넘어가는 포탈을 만든다. 8) 7번에서 만든 포탈로 캐릭터가 가게 하는 코드를 작성한다...
2022.01.26 -
22.01.26 애니메이터 임팩트 타임에 따라 적에게 피해 입히기
1) 일단 연속공격을 구현한다. 첫번째 공격 애니메이션 재생 후 현재 애니메이션 클립의 재생시간을 가져오기 위해 GetCurrentAnimatorClipInfo()메서드 사용. 그 클립에서 재생시간을 가져와 코루틴으로 재생시간만큼 기다리게 해서 연속공격을 만든다. 2) 각 공격 애니메이션의 임팩트 프레임을 구한다. 3) 임팩트 타임만큼 코루틴으로 기다린 후, 이벤트를 발생시킨다.
2022.01.26 -
22.01.26 유니티와 JSON 연동해 데이터 불러오고 저장하기
데이터 불러오기 Resources 폴더에 json파일을 갖다놓고 그 데이터를 유니티 런타임에서 불러오도록 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; using Newtonsoft.Json; using System.IO; using System.Linq; public class MonsterData { public int id; public int hp; } public class useJson : MonoBehaviour { public static useJson instance; public GameInfo gi; private Dictionary dictMonsterData = new Dictio..
2022.01.26 -
유니티 바운스볼에서 바닥 충돌인지 천장 충돌인지 구분하고 싶을 때
https://gall.dcinside.com/mgallery/board/view/?id=game_dev&no=85341&exception_mode=recommend&page=1 유니띠 충돌에서 contacts란??? - 인디 게임 개발 갤러리 아는 것에 대한 질문을 받았으면 대답하는 것이 인갤지박령의 잉지상정이렇게 공과 바닥이 잇다고 칩시다중력에 의해서? 공이? 떨어지면???이렇개 충돌하게 댐.이때 이렇게 충돌 지점을 검출하 gall.dcinside.com
2022.01.25 -
22.01.25 Simple RPG - 애니메이터, 파티클, JSON
새 기능, API, 코드를 접하면, 내 프로젝트에 가져오기 전에 직접 써보고 검증한 후에 적용하기. Animator.play("Die"); 에서 die는 애니메이션 컨트롤러의 노드 이름임. anim.Play("Attack01", -1, 0); ㄴ 같은 애니메이션을 반복할 시, 중간에 중단시킨 후 다시 시작시킬 수 있다. 뒤의 인수 2개가 빠지면 중간에 중단시키지 못하고 기다려야 함. 유니티 파티클 이펙트 넣을 때 만져야 할 속성들. https://notyu.tistory.com/59?category=937660 유니티 파티클 시스템 (Particle System)- 속성 1. 유니티 파티클 시스템 유니티 파티클 시스템은 작고 간단한 이미지나 메쉬를 대량으로 표현하는 데 사용하도록 만들어진 시스템이다. 파..
2022.01.25