일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- centOS7
- ubuntu
- php
- Portfolio
- 구글
- 번역
- javascript
- 해석
- NGINX
- mariadb
- caddy
- kakao
- unity
- error
- java
- 개발
- C lanuage
- 안드로이드
- H2O
- 한글
- techEmpower
- C
- android
- it
- MySQL
- 개발자
- 컴퓨터과학총론
- 프래그먼트
- server
- 자바
- Today
- Total
개발모음집
Unity 2D 게임, Player따라 카메라가 따라가도록 하는 기능 본문
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Camerafollow : MonoBehaviour {
public float smoothTimeX, smoothTimeY;
public Vector2 velocity;
public GameObject player;
public Vector2 minPos, maxPos;
public bool bound;
// 캐릭터 초기화
void Start () {
player = GameObject.FindGameObjectWithTag ("Player");
}
// 캐릭터의 위에 따라 카메라가 이동하도록 하는 메서드
void FixedUpdate () {
float posX = Mathf.SmoothDamp (transform.position.x, player.transform.position.x, ref velocity.x, smoothTimeX);
// Mathf.SmoothDamp는 천천히 값을 증가시키는 메서드이다.
float posY = Mathf.SmoothDamp (transform.position.y, player.transform.position.y, ref velocity.y, smoothTimeY);
// 카메로 이동
transform.position = new Vector3 (posX, posY, transform.position.z);
if(bound) {
//Mathf.Clamp(현재값, 최대값, 최소값); 현재값이 최대값까지만 반환해주고 최소값보다 작으면 그 최소값까지만 반환합니다.
transform.position = new Vector3 (Mathf.Clamp (transform.position.x, minPos.x, maxPos.x),
Mathf.Clamp (transform.position.y, minPos.y, maxPos.y),
Mathf.Clamp (transform.position.z, transform.position.z, transform.position.z)
);
}
}
}
1. 이 스크립트를 Hierachy의 메인카메라에 넣는다.
2. 아래의 사진와 같이 각 x,y 축의 mix position과 max position을 입력해주면 된다.
'TheRestDevelop' 카테고리의 다른 글
Unity에서 php에 Request하는 코드 (0) | 2018.06.15 |
---|---|
HTML와 Javascript로 현재 이더리움 가격 알기 (0) | 2018.06.13 |
Unity Canvas Ui를 android 스크린에 맞추기 (0) | 2018.06.07 |
2D 이미지 슬라이스하기 (0) | 2018.06.04 |
unity로 개발한 android app을 디버깅하는 방법 (0) | 2018.06.01 |