본문 바로가기

공부88

3D FPS - 1 / 이동과 회전, 점프 Cube를 펼쳐 Floor를 만들기 Capsule로 Player 생성하고 Main Camera를 부착 이동 구현 PlayerMove 스크립트 작성 using System.Collections; using System.Collections.Generic; using UnityEngine; // 사용자의 입력에 따라 앞뒤좌우로 이동하고싶다. public class PlayerMove : MonoBehaviour { // 크기 public float speed = 5; // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { // 사용자의 입력에 따라 floa.. 2022. 5. 17.
2D 슈팅 - 9 / 누적점수에 따른 속도변경 적이 플레이어의 총알에 닿아서 격추될 때마다 점수를 1점씩 획득하도록 한다. 플레이어의 현재 점수가 10의 배수가 될 때마다 배경 스크롤 속도를 20%씩 증가시킨다. 먼저 Background에서 스크롤 속도를 증가시키는 함수 ScrollSpeedUp 을 생성한다. public void ScrollSpeedUp(float increaseRate) { // 백분율로 입력받은 매개변수의 값을 실제 적용값으로 환산한다. float rate = increaseRate * 0.01f; // 기본 스크롤 속도에 반영 finalSpeed += speed * rate; } BackGround 전문 더보기 using System.Collections; using System.Collections.Generic; using.. 2022. 5. 17.
2D 슈팅 - 8 / 함정 추가 사각형 형태의 함정 오브젝트를 만들어서 배치 함정 오브젝트에 플레이어가 함정에 닿아 있는 동안에는 총알을 발사할 수 없도록 한다. using System.Collections; using System.Collections.Generic; using UnityEngine; public class Trap : MonoBehaviour { // Start is called before the first frame update void Start() { } // Update is called once per frame void Update() { } // 트리거에 충돌했을 때 private void OnTriggerEnter(Collider other) { // 플레이어가 가진 PlayerFire 스크립트를 가.. 2022. 5. 16.
2D 슈팅 - 7 / 총알 추가 이전 글의 PlayerFire 2022.05.15 - [Unity] - 2D 슈팅 - 1 / 사용자 입력 제어 및 오브젝트 이동 처리 플레이어가 발사할 총알의 수를 지정할 수 있는 변수를 추가 변수에 설정된 숫자만큼 1.5m의 간격으로 총알 발사 // 총알의 총 간격 = (총알의 수 - 1) * 총알의 간격 float totalSpacing = (bulletCount - 1) * spacing; // 총알의 최초 위치(벡터) = x: firePosition - (총알의 총 간격 / 2), y:0, z:0 Vector3 firstPos = firePosition.transform.position - new Vector3(totalSpacing * 0.5f, 0, 0); // 만약 사용자가 마우스 왼쪽버튼을.. 2022. 5. 16.
2D 슈팅 - 6 / 이동속도 증감 이전 글 PlayerMove (2D 슈팅 - 1) 2022.05.15 - [Unity] - 2D 슈팅 - 1 / 사용자 입력 제어 및 오브젝트 이동 처리 왼쪽 Shift를 눌렀을 때 속도가 2배로 증가, 떼면 초기속도로 회복 // 만일, 키보드의 왼쪽 Shift 키를 눌렀다면 if(Input.GetKeyDown(KeyCode.LeftShift)) { // speed 변수의 값을 2배로 늘린다. finalSpeed = speed * 2; } // 그렇지 않고 만일, 키보드의 왼쪽 Shift 키를 뗏다면 else if(Input.GetKeyUp(KeyCode.LeftShift)) { // speed 변수의 값을 원래대로 돌려 놓는다. finalSpeed = speed; } Getkey > Getbutton은.. 2022. 5. 16.
2D 슈팅 - 5 / 에셋 적용하기 플레이어 player에 plane Prefab 적용하고 Mesh Renderer 체크 해제 총알 Bullet Prefab에 Rocket Prefab 적용 로켓 사이즈에 맞추어 Box Collider 수정 적 Enemy Prefab에 Plane Prefab 적용 플레이 2022. 5. 16.