Cube 오브젝트를 만들어주고 이름을 Plane 으로 지정해준다
원래 Plane 라는 오브젝트가 있기는하지만 입체감을 위해서 일단은 이런식으로 만들어놨다
그리고 배경을 만들어보자
이렇게 만들고 BackGround 라고 지정하고 카메라에 맞춰 배경처럼 보이게 한다.
이런식으로 만들어주고 뒷 배경에 머테리얼을 만들어보자
이렇게
캡슐 오브젝트를 만들고 Player 이라고 이름을 지정하고 M_Player 머테리얼을 만들어서 구별하기 편하게 만들어보았다 생각해보니 총알을 만들때 보기좋게 빨간색으로 만들어야할거같아 색깔을 파란색으로 바꿨다.
이런식이다.
구체(Sphere) 를 만들어준 다음에 길게 늘리면 총알처럼 보이게된다. 이제 총알 스크립트를 만들어보자(당연히 총알의 색깔도 임의로 변경해두어야 한다.)
그리고 Bullt.cs 에
전에 수업에서 들었던 코드 를 조금 수정하여
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class WallHolder : MonoBehaviour
{
private const float respawnPosX = 15f;
private const float endPosX = -15f;
private const float moveSpeed = 10f;
private void Update()
{
MovingProcess();
if (CheckEndPosition())
{
Respawn();
}
}
private void Respawn()
{
Vector3 newPos = transform.position;
newPos.y = UnityEngine.Random.Range(-1f, 6f);
newPos.x = respawnPosX;
transform.position = newPos;
}
private bool CheckEndPosition()
{
return transform.position.x < endPosX;
}
private void MovingProcess()
{
transform.Translate(Vector3.left * moveSpeed * Time.deltaTime);
}
}
총알이 랜덤으로 생성하여 나오는 코드를 짤수있다.
그리고 Empty오브젝트를 하나 만든다음 GameManager 로 만들어 줍니다.
이제 여기서 Oncollision, Trigger 를 처리하는 코드를 짭니다.
그 전에 스코어 기능을 구현하기위해 Bullet에 길죽한 콜라이더를 하나 더 만들어줍니다 .
이런식으로
그리고 각 오브젝트에 전부 태그을 달아줍니다 .
태그를 달고 우선 Player에 점프 기능을 구현해봅시다.
PlayerControllor.cs 를 만들고
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
[SerializeField]private float jumpForce = 10f; // 점프 힘
private Rigidbody rb;
private bool isJumping = false; // 점프 중인지 여부를 확인하는 변수
void Start()
{
rb = GetComponent<Rigidbody>();
}
void Update()
{
//space
if (Input.GetAxis("Jump") > 0 && !isJumping)
{
rb.velocity = Vector2.up * jumpForce;
isJumping = true;
}
//LeftCtrl
if (Input.GetAxis("Fire1") > 0 && isJumping)
{
rb.velocity = Vector2.down * jumpForce;
isJumping = true;
}
}
void OnCollisionEnter(Collision collision)
{
if (collision.gameObject.CompareTag("Plane"))
{
isJumping = false;
}
}
}
이런식으로 리지드 바디를 이용한 점프를 구현할수가 있는데. 여기서 JumpForce 를 이용하여 점프 힘을 조정할수있다.
그리고 Space 를 누르면 점프를하고 왼쪽 컨트롤을 누르면 내려간다
[다음에 하자]