전체 글 57

유니티 3D 쿼터뷰 액션게임 - 수류탄 구현하기 / 투척, 던지기 / 폭발

유니티 3D 쿼터뷰 액션게임 만들기 👾 수류탄 구현하기 👾 1. 오브젝트 생성 - Prefab Weapon Grenade 수류탄 가져오기 - 미리 준비된 파티클 Prefab을 자식 오브젝트로 등록 - 던지고 굴러야하므로 Rigidbody와 Collider추가 - 물리재질 Physics Material 생성하여 해당 Collider에 추가 (설정값 : 1,1,1) - Mesh object (자식오브젝트)에 잔상을 주기위한 Trail Renderer 추가 - 수류탄이 Player와 부딪히지 않게 Layer 설정 (PlayerBullet) - 만든 수류탄을 Asset창에 드래그하여 Prefab으로 저장 📣 모든 오브젝트는 (0,0,0)로 초기화 !! 2. 수류탄 투척 🔻 Player 로직에 수류탄 Prefab..

유니티 2022.04.24

유니티 3D 쿼터뷰 액션게임 - 피격 테스터 만들기

유니티 3D 쿼터뷰 액션게임 만들기 👾 피격 테스터 만들기 👾 1. 오브젝트 생성 🔻기본 3D 오브젝트 cube 생성 후, Rigidbody 추가 적 로직을 작성할 새로운 스크립트 추가 후 cube object에 추가 2. 충돌 이벤트 🔻 총알 Prefab의 태그를 Bullet으로 지정 🔻 Ememy Script - 최대 체력과 현재 체력을 담을 변수 선언 - Rigidbody, Collider 컴포넌트 불러오기 - OnTriggerEnter() 함수에 태그 비교조건을 작성 - Melee(Hammer)에 대한 데미지, Weapon 충돌 스크립트를 가져와서 demage값을 체력에 적용 - Bullet(Bullet SubMachineGun, Bullet HandGun)에 대한 데미지, Bullet 스크립트를..

유니티 2022.04.24

유니티 3D 쿼터뷰 액션게임 - Player 물리문제 고치기 / 벽 관통 방지 / 아이템 고정

유니티 3D 쿼터뷰 액션게임 만들기 👾 Player 물리문제 고치기 👾 1. 자동회전 방지 ✏️ 오브젝트에 밀려나서 Player 스스로 회전하는 것 외부 충돌에 의해 Rigidbody 의 회전 속력이 발생 FixedUpdate() 함수와 함께 새로운 함수도 선언하여 호출 📌 AngularVelocity : 물리 회전 속도 FixedUpdate()에서 꾸준히 회전 속도를 0으로 만들기 때문에 스스로 도는 행동은 일어나지 않음 2. 충돌 레이어 설정 ✏️ Player가 인터렉션이 없는 오브젝트랑 충돌하지 않도록 설정 🔻 충돌 설정할 Layer들을 추가 📌 Layer Collision Masks 레이어들의 상호간 충돌 설정 -BulletCase는 Floor, BulletCase와만 충돌 -PlayerBulle..

유니티 2022.04.23

유니티 3D 쿼터뷰 액션게임 - 원거리 공격 구현 / Instantiate() / Raycast / 마우스 방향으로 회전

유니티 3D 쿼터뷰 액션게임 만들기 👾 메인 액션 - 원거리 공격 구현하기 👾 1. 총알, 탄피 만들기 - 총알 효과로 Trail Renderer 추가 - 총알 효과를 위해 Material, Time, distance, Width 설정 🔻 Rigidbody, Collider 추가해서 물리 설정하기 🔻 Bullet HandGun, Bullet SubMachineGun 탄 따로 만들기 🔻 탄피 모델을 꺼내서 탄피 만들기 (Bullet Case) 🔻 데미지와 삭제를 위한 스크립트 생성 (Bullet Script) OnCollisionEnter()에서 각각 충돌로직 작성 - 총알이 Floor에 닿으면 해당 게임오브젝트는 3초 뒤에 비활성화 - 총알이 Wall에 닿으면 해당 게임오브젝트는 바로 비활성화 Bulle..

유니티 2022.04.23

유니티 3D 쿼터뷰 액션 게임 - 근접공격 구현하기 / Trail Renderer / 코루틴

유니티 3D 쿼터뷰 액션게임 만들기 👾 메인 액션 - 근접공격 구현하기 👾 1. 변수 생성 무기 정보가 있는 새로운 스크립트 생성 Player 손에 있는 무기 컴포넌트에 무기 스크립트 추가 근접 공격과 원거리 공격이 있기 때문에 해당 타입을 정해줄 열거형을 사용 무기 타입, 데미지, 공속, 범위, 효과 변수 생성 2. 근접 공격 범위 - 공격 범위가 될 Collider의 위치, 크기 조정 - Weapon 스크립트의 Melee Area (Box Collider)은 미리 만들어둔 공격범위 변수에 할당 - 근접공격 태그를 새로 생성하고 지정 (Melee) - Is Trigger 체크 활성화 3. 근접 공격 효과 Trail Renderer 잔상을 그려주는 컴포넌트 - Material 설정하기 - 꼬리모양을 내도..

유니티 2022.04.22

유니티 3D 쿼터뷰 액션 게임 - 아이템 먹기 / 공전 물체 만들기 / RotateRound()

유니티 3D 쿼터뷰 액션게임 만들기 👾 아이템 먹기 & 공전 물체 만들기 👾 1. 변수 생성 ✏️ 탄약, 동전, 체력, 수류탄(필살기) 아이템 먹기 - 탄약, 동전, 체력, 수류탄 변수 생성 - 각 수치의 최대값을 저장할 변수도 생성 🔻 인스펙터 창에서 초기값 설정 2. 아이템 입수 - OnTriggerEnter() 에서 트리거 이벤트 작성 - enum 타입 변수 + switch 문으로 간단명료하게 조건문 생성 - enum 타입에 맞게 아이템 수치를 Player 수치에 적용하기 🔻 플레이어 수치가 최대값을 넘지 않도록 로직 추가 🔻 먹은 아이템 삭제 비활성화 3. 공전 물체 만들기 🔻 공전하는 물체를 컨트롤하기 위해 배열변수 생성 public GameObject[] grenades; 🔻 빈 오브젝트에 4..

유니티 2022.04.21

유니티 3D 쿼터뷰 액션게임 - 드랍 무기 입수와 교체

유니티 3D 쿼터뷰 액션게임 만들기 👾 드랍 무기 입수 / 교체 👾 1. 오브젝트 감지 ✏️ Player가 무기에 접근 인지 트리거 된 아이템을 저장하기 위한 변수선언 ✏️ 트리거 이벤트인 OnTriggerStay, Exit 사용 📌 OnTriggerStay() Wepon 태그를 조건으로 하여 로직 작성 무기 영역에 다가가면, other 변수에 저장 📌 OnTriggerExit() 무기 영역에서 벗어나면, nearObject는 없음을 표시 해당 영상은 OnTriggerEnter이어서 Stay와 숫자가 다를 수 있음 2. 무기 입수 🔻 무기와의 인터렉션을 위한 bool 값 선언 bool iDown; 🔻 Interaction 버튼 입력 Input Manager에서 Interaction button 생성 / ..

유니티 2022.04.20

유니티 3D 쿼터뷰 액션 게임 - 아이템 만들기 / Prefeb / Light Effect / Particle Effect

유니티 3D 쿼터뷰 액션게임 만들기 👾 아이템 만들기 👾 1. 아이템 준비 기존 Prefeb 아이템 추가 📣 아이템의 자식 Mesh Object에서 크기 및 위치 조정 매쉬가 포함된 오브젝트의 위치, 각도 조절하기 2. 라이트 이펙트 🔻 새 자식 오브젝트를 만들고 Light 컴포넌트추가 ✏️ Light 📌 Type : 광원 타입 Point 📌 Range : 빛의 범위 📌 Color : 빛의 색상 📌 Intensity : 빛의 세기 3. 파티클 이펙트 🔻 새 자식 오브젝트를 만들고 Particle System 추가 📣 색상이 마젠타 이라면 재질을 못찾았다는 의미 ! 🔻 Renderer에서 Material을 찾아서 연결 (Default-Line) 📌 Emission : 파티클 입자 출력양 📌 Shape : ..

유니티 2022.04.19

유니티 3D 쿼터뷰 액션게임 만들기 - 플레이어 점프 / 회피

유니티 3D 쿼터뷰 액션게임 만들기 👾 플레이어 점프 / 회피 1. 코드 정리 🔻 기능에 따라 구분되도록 함수 분리 Update() : 함수 호출 GetInput() : 버튼 입력 Move() : Player 이동값 설정 Turn() : Player 방향 설정 2. 점프 , 착지, 회피 구현 ✏️ 점프 버튼 입력 / 출력 / 한 번 만 점프하기 - Player가 점프할 수 있도록 Rigidbody를 선언 - 버튼 입력을 받는 jDown / 점프 중임을 구분하는 Jumping - Jump()는 점프버튼을 누르면서, 점프를 하고 있지 않을 때 실행됩니다 - OnCollision--()은 Player이 Floor를 만나면 점프하지 않은 상태이므로, 한 번 만 점프가 가능하다 ✏️ 회피 및 착지 애니메이션 -..

유니티 2022.04.19

유니티 3D 쿼터뷰 액션게임 - 플레이어 이동

유니티 3D 쿼터뷰 액션게임 만들기 👾 플레이어 이동 1. 지형 만들기 ✏️ 지형 만들기 - Floor , Wall 4개 만들어서 플레이어가 움직일 공간 만들기 - 현재 시점에서 보이지 않는 두 벽은 Mesh Renderer를 비활성화하여 겉보기를 감춥니다 ✏️ 텍스처 넣기 - Albedo 옆 원을 눌러 텍스처 이미지 선택 - Tiliing 개수를 높여 패턴 만들기 2. 플레이어 만들기 ✏️ Player에 필요한 컴포넌트 Rigidbody + Collider + Script 🔻 Player Collider의 크기와 반지름을 조정하여 Player와 비슷한 크기로 만듭니다 ✏️ 플레이어 상하좌우 이동 로직 - Input Axis 값을 받을 전역변수 선언 - moveVec 는 Player가 움직이는 Vecto..

유니티 2022.04.18