본문 바로가기

분류 전체보기

(346)
Unity3D_Quater - 상점만들기(1) 1.아이템 샵, 장비 샵 오브젝트 생성 - 빈 오브젝트를 생성하여 Item Shop이름을 주고 - 하위에 테이블, 아이템그룹, NPC, 원형 파티클시스템 들을 만들어준다 *아래와 같은 파티클을 만드려면 모양을 도넛모양으로 주고 Mode를 Loop로 만들어준다 *추가로 shpere 콜라이더도 만들어준다 -> 그래야 플레이어가 상점에 들어왔는지를 Ontrigger이벤트함수로 체크해서 상점UI를 켜고 끄고 할 수 있다 2.아이템 상점, 장비 상점 오브젝트 생성 - Canvas 안에 있는 Game Panel 오브젝트 하위에 Item Shop Group이라는 빈 오브젝트를 생성하고 - 그 하위에 구매목록장비 버튼 3개와 닫기 버튼 1개 캐릭터이미지 1개와 캐릭터 텍스트 1개를 생성 - 구매목록장비 버튼 안에 장비..
Unity3D_Quater - UI 만들기 1. Canvas 컴포넌트 기본설정 - 계층구조창에서 우클릭 후 Canvas 생성 - Canvas 컴포넌트에서 우리는 도트이미지로 UI를 꾸밀 것이기 때문에 Pixel Perpect를 체크해준다 - 어느 해상도에서도 크기가 동일하게 출력이 되도록 UI Scale Mode를 기존 Constant Pixel Size에서 Scale with screen Size로 설정해준다 - 그리고 해상도인 Reference Resoultion은 1920x1080(FHD)으로 바꿔준다 2. 메뉴생성(1) - Canvas 하위에 Panel을 생성하여 투명한 검정바탕을 만들어준다 - panel(Menu Panle)하위에 Image 2개와 Text1개를 생성해준다 - Text 설정 tip) #1. Text오브젝트의 위치이동이 편..
Unity3D_Quater - 보스 공격 패턴 구현 1.Boss스크립트는 Enemy스크립트를 상속받게하고 *Awake()는 자식에게 상속되지 않으므로 자식클래스에서 사용하려면 중복으로 코드를 작성해주어야한다 - 부모스크립트가 된 Enemy 스크립트 안에서 Enum Type에 Boss를 추가하여 - isTracking(), Tracking(), isTrackingCancle(), Targeting()은 동작하지 않도록 하고 -> if(enemyType ==Type.Boss) return; - FreezingRotation()함수는 동작하도록 한다 2. 보스는 플레이어를 쫒진 않지만 플레이어를 항상 바라본다 3..보스 공격 패턴구현 - AllCoroutine구현 -1) Think()에서 래덤한 int를 뽑는 방식으로 swich문을 통하여 확률에 따른 3가지 ..
unity3D_Quater - 보스몬스터, 보스 미사일, 보스 바위공격 구현 1. 보스 프리팹 오브젝트화 -Enemy Boss 오브젝트 생성 : tag, Layer = Enemy : RigidBody, Box Collider, Nav Mesh Agent - 보스의 점프공격 범위가 될 빈 오브젝트 TauntArea 생성 후 Box Collider를 생성하여 범위를 지정 - 보스의 미사일공격이 시작될 위치가 될 Transform 정보만 들어있는 빈 오브젝트 2개(MissileportA, B) 생성 -Mesh Object 오브젝트 컴포넌트로 애니메이터를 추가하여 보스 애니메이션 생성 2.보스 미사일 오브젝트 - 보스미사일 오브젝트 생성 : rigidBody, boxCollider, Paticle System, Nav Mesh Agent(유도미사일), 스크립트를 상속받은 추가적으로 유도..
Unity C# - 함수를 담는 변수 - Action,Func + 람다식 www.youtube.com/watch?v=k3TEOQkqV2A&list=PLpRWpi4Vv6MrY7T3KV62TOIt5qMSDAieb&index=2 keidy.tistory.com/352 유니티로 배우는 C# 강좌 Part 19 - Action과 Func 유니티로 배우는 C# 강좌 Part 19 - Action과 Func keidy.tistory.com - 함수를 담는 변수 - 어떠한 함수의 매개변수로 함수를 받는 경우 사용가능 -매개변수 함수로 람다식(익명함수)를 사용
Unity3D_Quater - 원거리몬스터 구현, 기능보완 및 디버깅 1.원거리몬스터 Enemy C 오브젝트 생성 - Asset 프리팹 드래그 앤 드랍 - 컴포넌트 : 리지드바디, 박스콜라이더, 네비메쉬에이전트, Enemy스크립트 - tag 및 Layer : Enemy - Enemy C의 Mesh와 관련된 자식오브젝트인 Mesh Object 컴포넌트로 EnemyC관련 애니메이터 추가 - Enemy C 애니메이터는 기존 Enemy B 애니메이터를 복사하여 안의 애니메이션만 바꿔주면 됨 2. 미사일 오브젝트 생성 및 프리팹화 - Asset 프리팹 드래그 앤 드랍 - 컴포넌트 : 리지드바디(UseGravity X), 박스콜라이더(isTrigger O), 파티클시스템, Bullet스크립트 - tag 및 Layer : EnemyBullet - 미사일오브젝트의 Mesh와 관련된 자식..
Unity - Layer변경시 하위까지 변경하는 법 참조 : blackembellish.blogspot.com/2014/03/unity3dlayer_17.html [Unity3d]Layer변경시 하위까지 변경하는 방법 public static void ChangeLayersRecursively(Transform trans, string name) { trans.gameObject.layer = LayerMask.NameToLayer(name... blackembellish.blogspot.com
Unity3D_Quter - 돌격형 몬스터 애니메이션 수정, 몬스터 반경범위 플레이어인식 AI추가 1.돌격형 몬스터 애니매이션 수정 -Asset에서 제공하는 Animation은 ReadOnly로 수정이 불가능 하지만 해당 Animation을 복사한 Animation은 수정이 가능하다 -돌격형몬스터 공격 스크립트 수정 2. 몬스터 반경범위 플레이어인식 AI - 몬스터를 중심으로 일정거리의 인지범위 안에 플레이어가 들어올시에 Tracking을 시작하도록 하고 - 플레이어가 몬스터로 부터 일정거리 떨어지면 Tracking을 취소하고 몬스터가 다시 원래자리로 돌아가도록 구현 *NavMeshAgent.remainingDistance 활용 NavMeshAgent에 지정된 목적지까지 남은 거리를 반환(처음엔 정지 상태이기 때문에 항상 0을 반환)