본문 바로가기

분류 전체보기

(346)
Unity3D_Quater - 돌격형 몬스터 구현 1.돌격형 몬스터 Enemy B 구현 - Enemy A의 컴포넌트 들을 복사하여 Enemy B 오브젝트의 컴포넌트에 붙여넣기 한다 + 애니메이터 + tag 및 Layer 도 Enemy로 지정해준다 - Nav Mesh Agent에서 Speed(추적속도), Augular Speed(추적회전속도), Acceleration(추적가속도)값을 Enemy A와 다르게 변화를 준다 - 몬스터 타입을 enum Tpye으로 나누고 타입에 따라 공격 감지 범위를 조절하는 코드 구현 *SphereCastAll()에서 3번째 파라미터를 vector3.forward가 아니라 transform.forward로 해야함!! 주의 - 몬스터 타입을 enum Tpye으로 나누고 돌격형 몬스터인 Enemy B는 rigidBody를 이용하여..
Unity - Rigidbody2D, Rigidbody iskinematic 등 출처 - chameleonstudio.tistory.com/33 유니티 리지드바디2D(Rigidbody2D)와 리지드바디(Rigidbody)(1) 해당 티스토리 페이지는 필자가 유니티 C# 개발을 하면서 학습한 내용들을 기록하고 공유하는 페이지입니다 ! - 틀린 부분이 있거나, 수정된 부분이 있다면 댓글로 알려주세요 ! - 해당 내용을 공 chameleonstudio.tistory.com
Unity- 회전 acecome.tistory.com/entry/01-Unity3D-%ED%9A%8C%EC%A0%84-%EC%A0%95%EB%A6%AC-transformLootAt?category=601710 01. Unity3D 회전 정리 [transform.LookAt] 오브젝트의 회전을 담당하는 euler , Quaternion 개념 백날 인터넷 뒤져 보지만 뒤돌아 서면 까먹기 일수다. 역시 정리가 필요하다 느낌... 1. 특정 오브젝트가 다른 오브젝트를 항상 바라보게 하고 싶 acecome.tistory.com 참조2: killu.tistory.com/12 [Unity] 오브젝트의 회전에 대하여(Rotation, Quaternion, Euler) 1. Quaternion과 Euler angle 유니티에서 회전을 이..
Unity3D_Quater - 플레이어의 피격, 몬스터A 공격 구현 1. 플레이어 피격 - 플레이어가 enemyBullet 오브젝트와 OnTriggerEnter가 되면 OnDamged() 함수 실행(+실행조건 : isDamaged = false) OnDamaged(){ - 노란색으로 바뀌고(GetComponentsInChildern();) - isDamaged = true - 총알 스크립트의 데미지를 가져와서 플레이어의 체력을 깍음 - 1초 후(코루틴으로 함수 구현) - 다시 원래색으로 돌아옴 + isDamaged = false } 2.몬스터 공격 - 몬스터 공격 범위가 될 BoxCollider 생성 - > Tag, Layer = EnemyBullet - 몬스터 오브젝트 안에 자식으로 넣어주고 위치 조정 - 몬스터가 플레이어를 추적하다가 플레이어와 일정 거리가 되면 - ..
Unity3D_Quater - 몬스터 AI 만들기 1.Enemy A 오브젝트 생성 - Enemy A 프리팹을 드래그 앤 드랍하고 컴포넌트로 리지드바디, 박스콜라이더, Enemy 스크립트를 추가해준다 - Enemy A 프리팹의 자식 오브젝트에 meshRenderer 컴포넌트가 있으므로 Enemy 스크립트에서 meshRenderer를 초기화 해주는 Awake()안의 코드를 GetComponentInChildren으로 바꾸어준다 2. 네비게이션으로 몬스터 AI 주어 플레이어 추적하기 1). Enemy A 오브젝트의 컴포넌트로 Nav Mesh Agent를 추가해줌 2) 몬스터가 플레이어를 추적하도록 코드구현 (중요스킬) *navMeshAgent - 네비메쉬에이젼트 컴포넌트 *.SetDestination(추적할 오브젝트 위치) - 추적로직 3) Navigatio..
Unity3D_Quater - 캐릭터 폭탄투척, 폭탄 이펙트, 적 폭탄피격 구현 수류탄 투척 1. 투척할 수튜탄 오브젝트 생성 후 프리팹화 1)수류탄 오브젝트 인스펙터 : 수류탄자체는 중력의 영향을 받으며 충돌이 가능하고, 마찰력과 탄성력을 높혀주어 활동성을 높이고, 날라갈때 이펙트를 줄것, 그리고 폭팔하면서 폭팔이펙트, - 컴포넌트 : 리지드바디, 구콜라이더, 트레일랜더러, 피지컬메테리얼즈 2)수류탄 스크립트 : 2에서 플레이어가 던진 수류탄은 2의 힘에 의해 굴러가다가 멈출것임(폭탄속력0, 회전속력 0) : 멈춘 폭탄은 몇초 후 터지면서(코루틴,폭탄이펙트(트레일랜더러)활성화, 폭탄메쉬는 비활성화) 폭발범위안의 적들을 찾음(shapeCastAll) : 그렇게 찾은 rayCastHit 오브젝트들을 배열에 담아서 해당 오브젝트들이 모두(foreach활용)넉백하고 데미지를 입음 Enem..
Unity3D_Quater - 피격 테스터 만들기 1. 피격 테스터 오브젝트 생성 - 콜라이더, 리지드바디 2. 피격테스터 스크립트 - 필요한 변수 : 전체피통, 현재피통 - 필요한 기능 : 총알 또는 망치를 맞았을때 잠깐 빨간색으로 변하고 현재피통이 깎임 : 피가 0이되면 회색으로 바뀌고 맞은 반대 방향으로 넉백, 3초후에 사라짐 맞았을때 - 온 트리거 잠깐 빨간색으로 변함 - 코루틴 1.TestEnemy 피격 테스터 오브젝트 생성 - 콜라이더와 리지드바디 추가 (플레이어와 마찬가지로 Freeze Rotation x와 z를 체크해주면 안돌아감) 2. 피격테스터 오브젝트 스크립트 작성 - Enemy 스크립트를 만들어서 피격테스터에 드래그 앤 드랍 3. 페격테스터가 죽었을대 플레이어와 충돌무시Layer설정 *총알 프리팹 그리고 플레이어오브젝트안의 오른팔안..
Unity3D_Quater - 마우스에 의한 회전 및 공격 구현, 물리문제 해결 1.마우스에 의한 회전 구현(raycast 활용) - 스크린에서 마우스클릭으로 Ray를 발사하기 *camera.ScreanPointToRay() -> 스크린에서 월드로 ray를 쏘는 함수 *out -> return처럼 반환값을 주어진 변수에 저장하는 키워드 *rayHit.Point -> Ray가 닿았던 지점의 위치 *참고) raycast out에 관한.. ssabi.tistory.com/29 [Unity3D] 레이캐스트(Raycast) 레이캐스트(Raycast) 레이캐스트는 광선을 쏘는 것을 의미합니다. 여기서는 레이를 쏜다 라고 표현하겠습니다. 레이캐스트를 사용하면 광선에 충돌되는 콜라이더(Collider)에 대한 거리, 위치 등의 ssabi.tistory.com 2. 물리문제 해결 1) 총알 및 총알..