간단한 게임만들기#2(에셋과 카메라 설정)
- 카메라가 Player를 따라가도록 만들어보겠다. Create->C# Script 로 하나 생성해 준뒤 이름을 CameraMove라고 지정해준다.
- 내용을 아래와 같이 작성해 준다.
public class CameraMove : MonoBehaviour
{
public GameObject target;
public float offsetX;
public float offsetY;
public float offsetZ;
// Update is called once per frame
void Update()
{
Vector3 FixedPos = new Vector3
(target.transform.position.x + offsetX,
target.transform.position.y + offsetY,
target.transform.position.z + offsetZ);
transform.position = FixedPos;
}
}
3. CameraMove C# Script를 Main Camera 에 넣어주고 Inspector에서 Target에 Player를 넣어주고 Offset Y를 10으로 지정해준다.
- 추가 팁으로 변수를 초기화 해줄때 Inspector 내에서 초기화를 해야하고 코드에서 초기화를 하고싶을 경우 Start() 함수에서 초기화 해주면 적용된다.
4. 그러면 이제 실행시 카메라가 플레이어(녹색 공) 을 따라다닌다. 이때 카메라가 빠릿빠릿? 하게 따라가는데 좀더 부드럽게 따라가게 하고싶다면
public float speed; // speed 라는 변수를 추가해주고
transform.position = FixedPos; 를
transform.position = Vector3.Lerp(transform.position, FixedPos, speed * Time.deltaTime); 로 변경해준다.
이후에 Inspector에서 Offset Y = 10, speed = 5로 지정후 실행 해 보면 이전보다 카메라가 부드럽게 따라가는것을 확인할 수 있다.
5. 이제 아이템을 다른모양으로 바꿔볼껀데 유니티 에셋스토어에서 원하는 에셋을 다운 한 뒤(나는 QuarterView 3D Action BE5를 다운받음) Coin Gold를 Hierarchy 로 끌어온뒤 우클릭- Prefab - Unpack Completely 를 선택한다. 이것은 수정시 Coin Gold가 전체수정되는것이 아닌 별개로 하나만 수정하려고 할때 쓰는것이다.
6. 그리고 Inspector 에서 AddComponent - Box Collider를 추가해준다. 이후 적절한 위치에 놓고 Box Collider를 적절한 크기로 지정해 준다. 그 후 내가 개인적으로 쓸 Prefabs폴더에다가 끌어다놔준다.
7. 저번 게시글에서 적었던 Tag 부분을 Coin Gold도 Item으로 지정해주고 Box Collider 에서 IsTrigger도 체크해 준다.
8. 실행시 잘 되는지 체크해준다. 이후 코인이 가만히 있으면 재미없으니 코인을 회전시켜 보겠다. C# 스크립트를 추가 한뒤 Item_rotate라고 생성해 준 후 더블클릭해서 열어주고 내용을 아래와 같이 만들어준다.
public class Item_rotate : MonoBehaviour
{
public float rotate_speed;
// Update is called once per frame
void Update()
{
transform.Rotate(Vector3.up * Time.deltaTime * rotate_speed);
}
}
이후 Inspector 에서 Speed를 적절한 값으로 입력한다. 나는 100으로 설정했다.
9. 아이템들이 회전하는걸 확인 한 후엔 박스 아이템은 없애주고 이 Coin Gold 아이템을 6개정도 만든뒤 적절 한 위치에 배치해 준다.
10. 이후 다시 에셋스토어에 들어와서 Skybox를 검색해 Fantasy Skybox FREE를 다운 해서 내 프로젝트에 임포트 한뒤 Window->Rendering-Lighting-Environment 에서 FS002_Day 로 설정해 준다. 이때 자기가 맘에 드는 SkyBox가 있다면 그걸로 설정해줘도 무방하다.
11. 그리고 그냥 90도 각로 수직에서 카메라를 보면 재미가없으니 각도 60도 정도로 꺾어주고 위치도 조정해준다. 그에 따라 스크립트에서 Offset도 수정해준다. 나같은경우 각도 60도, 위치 Z를 -3 으로 설정해 주었다.