유니티 40

C# 기본

1. 자료형과 변수 자료형, 변수, 값(자료) 자료형 변수 이름 = 값 정수형(int) -3, -1, 0, 2, 10 실수형(float) -2.5, -1.8, 0, 4.9 논리형(bool) true, false 문자열(string) "가나다", "abc" void Start() { int a = 10; float b = 0.1f; bool c = true; string name = "박록주"; print(name); //출력 } 2. 조건문 만약 ~하다면 { 이렇게 하고싶다 } 그렇지 않다면 { 이렇게 하고싶다 } void Start() { int money = 100000; if (money > 50000) //비교연산자 { print("너 부자야"); } else { print("내가 줄게"); } ..

유니티 2022.05.06

Terrain 지형 만들기

코딩 : 컴퓨터와 인간의 의사소통을 하기위한 언어 1. 문법적인특징 2. 논리적인 특징 = Algorithm 알고리즘 : 문제를 해결하기위해 순서를 만들고 하나씩 논리적으로 해결하는 것 ​ ​ 블록리 게임으로 알고리즘, 단계 간단하게 파악 가능 ! 하나씩 하나씩 쌓아가는 식으로 코딩하기 blockly.games 개발프로세스 -기획초안 -프로토타입 테스트 : 컨셉 -알파테스트 : 기능구현의 완료 ----------------- 이번 파트에서는 여기까지 -FGT(Focus Group Test) -베타테스트 : 안정화 -출시 ​ 유니티 실습 키보드 v : 쉽게 물체와 물체를 붙일 수 있음 rect tool : 한 쪽 면만 줄이고 늘릴 수 있음 shift ctrl : 면끼리 물체를 붙일 수 있음 ​ 추가한 에셋..

유니티 2022.05.04

유니티 3D 쿼터뷰 액션게임 만들기 - 돌격형, 원거리형 몬스터 / 공격 데미지

유니티 3D 쿼터뷰 액션게임 만들기 👾 다양한 몬스터 만들기 👾 1. 플레이어 피격 🔻 OnTriggerEnter()에 EnemyBullet 경우 로직 추가 ✏️ 무적 타임 🔻 무적타임을 위해 bool 변수 추가 bool Damaging; 🔻데미지를 받고 있지 않을 때만 실행, 데미지 받고 1초 동안 무적타임 ✏️ 데미지 입을 때마다 Player가 노란색으로 바뀌기 - meshRenderer 배열 변수 추가 (meshs) - Player는 머리 , 몸통 , 팔 , 다리 등 여러 메시를 가지고 있어서 배열 필요 📣 주의 GetComponentInChildren(); : 컴포넌트의 자식 첫 번째 것을 가지고옴 GetComponentsInChildren(); : 컴포넌트의 모든 자식을 가지고 옴 MeshRen..

유니티 2022.04.25

유니티 3D 쿼터뷰 액션게임 - 목표를 추적하는 내비게이션 AI / NavMeshAgent

유니티 3D 쿼터뷰 액션게임 만들기 👾 목표를 추적하는 AI 만들기 👾 1. 오브젝트 생성 🔻 올려진 적 오브젝트에 물리와 스크립트 세팅하기 🔻 MeshRenderer를 가져오는 GetComponent() -> GetComponentInChildren() 바꾸기 - 태그와 레이어를 Enemy로 설정 2. 내비게이션 ✏️ 유니티가 제공하는 내비게이션 AI 시스템 사용 📣 Nav 관련 클래스는 UnityEngine.AI 네임 스페이스 사용 📌 NavMeshAgent Navigation을 사용하는 인공지능 컴포넌트 NavMeshAgent 컴포넌트 가져오기 초기화 📌 SetDestination() 도착할 목표 위치 지정 함수 🔻 목표물 변수에 Player를 할당 📣 NavAgent를 사용하기 위해서는 NavMe..

유니티 2022.04.25

유니티 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