본문 바로가기

분류 전체보기

(79)
9주차 - 포탈, 문 등장과 퇴장 1. 포탈 만들기 1. 만들어진 던전 방에서 랜덤으로 하나의 방에만 포탈 생성, 방에있는 몬스터가 모두 죽었을 경우에만 포탈 활성화됩니다. 2. 포탈을 사용하게 되면 메인 씬으로 이동합니다. 3. 포탈을 시각적으로 표현하기 2. 문 등장과 퇴장 던전 방의 클리어 조건을 달성하게 되면 문이 등장. 문을 통해 다음 방으로 이동했을때 해당 방의 클리어 여부에 따라 로직 실행. 문 등장과 퇴장은 코루틴으로 해결하기 문 등장 이펙트와 시각적으로 문이 활성화 되었다는 걸 보여주기 위한 이펙트 추가
9주차 - Procedureal Dungoen Generator + 미니맵 1.  Procedureal Dungoen Generator 어떤 방식으로 프로시저 알고리즘을 짤것인가던전의 생성 위치를 리스트에 저장하고, 리스트에 던전 생성 위치의 존재 여부를 판단해 던전을 생성 시키는 방법단순한 구조로 빠른 시일내에 구현하기위해 선택던전의 정보를 담은 던전룸 클래스 리스트던전을 생성할 위치정보를 담은 리스트던전의 생성위치를 사용해 던전을 그릴 타일맵 로직던전간 이동을 위한 문 로직2. 미니맵미니맵을 보여줄 카메라 만들기미니맵을 찍고 있는 카메라에만 보일 스프라이트 생성던전과 던전사이를 이어줄 라인 생성하기플레이어 위치를 시각적으로 보여주기, 탐색하지 않은 방 물음표 표시.1.  Procedureal Dungoen Generator 1.  사전 준비  1. 던전 매니저 만들어 던전 ..
8주차 - 밤낮 바꾸기 using UnityEngine.Events; UnityEvent OnTakeDamage; - 버튼 컴포넌트의 버튼 함수를 추가하는 것 마냥 이벤트를 추가할 수 있음 오른쪽 하단 Auto Generate Lighting Off 에서 스카이 박스와 Sun 설정을 할 수 있음. 1. 밤과 낮에 쓰일 Directional Light 를 만들어 줍니다. Light 에있는 Intensity(빛의 세기) 를 사용해 밤과 낮을 표현할 것입니다. 각각 밤과 낮에 쓰일 Light, Ligth 에 적용시킬 Gradient, 시간에따라 Intensity를 적용시킬 AnimationCurve를 준비해 줍니다. * AnimationCurve를 사용해 빛의 세기, 빛의 색을 모두 관리할 것이기 때문에 시간을 0 ~ 1 사이의 값..
8주차 - 인벤토리와 아이템 설명창의 재사용 + 상점 인벤토리 구현과, 아이템 설명창을 만들어 보자! 1. 인벤토리를 어떻게 구현할 것인가. 일단 아이템을 어떤식으로 관리할 것인가. 스크립터블 오브젝트를 사용해 아이템 데이터를 만들어 놓자. 아이템이 가지고있을 수 있는 스텟 변수 정하기 상점 또는 새로운 아이템을 얻었을때 새로운 스크립터블 오브젝트를 만들어 줘야 하기 때문에 카피 함수를 만들어 놓자 새로운 아이템이 장비아이템인 경우 인벤토리에 같은 아이템이 있더라도 서로 다른 아이템 취급을 해줘야 함. 같은 아이템이지만 아이템을 강화시키거나, 내구도가 감소했을 경우 두개의 아이템의 능력치가 서로 달라지게됨. 아이템의 능력치를 쉽게 가지고 올 수 있는 방법이 뭐가있을까. 아이템의 능력치를 가져올때 , 능력치 이름과 수치를 가지고있는 구조체를 만들어 리스트에 ..
TextMeshPro, Pivot, Scroll View, Can't remove RectTransform because Image (Script), Image (Script) depends on it Atlas Resolution 은 넉넉하게 4096으로 세팅 CharacterSet 은 CustomRange로 세팅 Character Sequence에 32-126,44032-55203,12593-12643,8200-9900 영어 범위 : 32-126 한글 범위 : 44032-55203 한글 자모 : 12593-12643 특수 문자 : 8200-9900 왼쪽상단 로컬좌표 월드좌표 설정하는키 바로 옆에 Pivot, center 설정 Scroll View Viewport - 말그대로 Scroll view 에 content위 범위 조절 Content - Scroll view 안에 들어간 메인 콘텐츠. (주로 Grid Layout Group 컴포넌트로 정리 ) Can't remove RectTransform ..
7주차(3D) - 프로젝트 발표 후 각팀 트러블 슈팅 모음, Skybox , input phase 프로젝트 발표 후 각팀 트러블 슈팅 모음 1 .ruleTile 은 ruleTile 끼리만 상호작용이 가능하다. 2. transform을 사용하여 오브젝트를 이동시킬 때, collider는 기본적으로 같이 움직이지 않는다. Collider는 해당 오브젝트의 충돌 검사를 담당하며, 이동은 transform의 위치 변경으로 이루어지기 때문에 이동과 충돌 검사는 별개로 처리됨 Rigidbody 가 없이 collider 만 있는 오브젝트를 정적 콜라이더라고 하며, Transform 으로 이동시켰을 경우 상당한 성능 저하가 있다. 3. PhysicsMaterial2D란 ? 2D 물리 시뮬레이션에서 사용되는 물리 속성을 정의하는 클래스. 이 클래스를 사용하여 2D 충돌 시뮬레이션에서 오브젝트 간의 마찰, 반발력, 충..
7주차 - Scriptable Object에 대한 고찰 + 입문 주차 피드백 Scriptable Object? Unity 게임 엔진에서 사용되는 특별한 종류의 데이터 컨테이너, 원하는 데이터를 저장하고 공유, 에셋으로 저장해 여러곳에 참조해 사용 데이터와 코드를 분리하여 유연성과 재사용성을 높일 수 있습니다. 보통 데이터로만 사용. ScriptableObject 클래스를 상속받는 스크립트 클래스를 작성해야 합니다. 해당 스크립트를 에셋으로 생성하여 프로젝트 내에서 사용할 수 있습니다 어트리뷰트를 사용해 에셋 폴더내에 마우스 오른쪽 클릭으로 스크립터블 오브젝트를 생성할 수 있습니다. [CreateAssetMenu(fileName = "", menuName = "", order = num)] fileName - 생성되는 파일 이름 menuName - 메뉴 이름, ex) "TopDow..
6주차 - 2D 게임 프로젝트 보스를 만들어 보자. 보스가 생성되면 만들어놓은 공격패턴들을 죽기전까지 랜덤하게 계속 실행 시키도록 하자. 1. 오프닝 애니메이션 실행 (보스몬스터 hp바 액티브) 2. 공격패턴 만들기 delegate void AttackPattren(); 만들고 List 리스트를 만들어서 공격패턴을 리스트에 담아서 랜덤하게 공격패턴을 실행 시켜주도록 하자 3. 시작 코루틴에 랜덤한 인덱스값으로 패턴리스트에 공격패턴 시작 4. 죽기전까지 공격패턴 반복 실행 5. 죽으면 OnDeathEvent 실행하기.(CallOnDeathEvent) 원거리 공격 몬스터도 원거리몬스터 스크립트에 공격패턴을 만들어놓고 인덱스로 설정해 각각 다른 원거리 공격을 할 수 있게 만들어보자. 보스몬스터 어택 애니미에신 수정,( 아랫쪽까지 대미지 받..