[Unity] ๋ง์ฐ์ค๋ก ์นด๋ฉ๋ผ ์ค ์ธ, ์ค ์์, ํ์ ์ํค๊ธฐ
์ด์ ํฌ์คํธ
2019/06/25 - [Development/Game] - [Unity] ๋ง์ฐ์ค ํด๋ฆญํ ์ง์ ์ผ๋ก ์บ๋ฆญํฐ ์ด๋์ํค๊ธฐ
์ค๋น ๊ณผ์
์ค๋น ๊ณผ์ ์ ์ด์ ํฌ์คํธ์ ๊ฐ๋ค!
์ฐ๋ฆฌ์ ๋ชฉํ๋ ๋ง์ฐ์ค ํ ์ ํตํด ์ค ์ธ/์์์ ๋ค๋ฃจ๊ณ , ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ๋๋ฅธ ์ํ์์ ์์ง์ด๋ฉด ์นด๋ฉ๋ผ๋ฅผ ํ์ ์์ผ ์ค ๊ฒ์ด๋ค!
์ด์ ํฌ์คํธ์์ MouseControl.cs๋ผ๋ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด์ Main Camera ์ค๋ธ์ ํธ์ ์ถ๊ฐ์์ผ ์ค ๊ฒ์ด๋ค!
์คํฌ๋ฆฝํธ
[CameraControl.cs]
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class CameraControl : MonoBehaviour
{
public float rotateSpeed = 10.0f;
public float zoomSpeed = 10.0f;
private Camera mainCamera;
void Start()
{
mainCamera = GetComponent<Camera>();
}
void Update()
{
Zoom();
Rotate();
}
private void Zoom()
{
float distance = Input.GetAxis("Mouse ScrollWheel") * -1 * zoomSpeed;
if(distance != 0)
{
mainCamera.fieldOfView += distance;
}
}
private void Rotate()
{
if (Input.GetMouseButton(1))
{
Vector3 rot = transform.rotation.eulerAngles; // ํ์ฌ ์นด๋ฉ๋ผ์ ๊ฐ๋๋ฅผ Vector3๋ก ๋ฐํ
rot.y += Input.GetAxis("Mouse X") * rotateSpeed; // ๋ง์ฐ์ค X ์์น * ํ์ ์คํผ๋
rot.x += -1 * Input.GetAxis("Mouse Y") * rotateSpeed; // ๋ง์ฐ์ค Y ์์น * ํ์ ์คํผ๋
Quaternion q = Quaternion.Euler(rot); // Quaternion์ผ๋ก ๋ณํ
q.z = 0;
transform.rotation = Quaternion.Slerp(transform.rotation, q, 2f); // ์์ฐ์ค๋ฝ๊ฒ ํ์
}
}
}
Update ํจ์์์ ๋งค ํ๋ ์๋ง๋ค Zoomํจ์์ Rotateํจ์๋ฅผ ํธ์ถํด์ ์ค๊ณผ ํ์ ์ ๋ค๋ฃฌ๋ค.
์ค
๋ง์ฐ์ค ํ ์ ์ ๋ ฅ์ ๋ฐ์์ ์ค ์คํผ๋๋งํผ ๊ณฑํด MainCamera์ fieldOfView ์์ฑ๊ฐ์ ๋์ ํด์ค๋ค.
์ด ์์ ์์๋ ๋ฑํ ์ค ์ต๋๊ฐ, ์ต์๊ฐ์ ์ ํ์ง ์์์ง๋ง ์ ํํ๊ณ ์ถ๋ค๋ฉด fieldOfView์์ฑ์ ๊ฐ์ if๋ฌธ์ผ๋ก ์ ์ดํด์ฃผ๋ฉด ๋๋ค.
ํ์
Input.GetMouseButton(1) ํจ์๋ฅผ ํตํด ๋ด๊ฐ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ ๋๋ฅด๊ณ ์๋์ง ํ๋จํ๋ค.
๊ทธ๋ค์ ํ์ฌ ๋ง์ฐ์ค X์ขํ์ ๋ง์ฐ์ค Y์ขํ๋ฅผ ๋ฐ์์ ํ์ฌ ๋ด ์นด๋ฉ๋ผ์ ํ์ ๊ฐ์ ๋์ ์์ผ์ค๋ค.
๊ทธ๋ฆฌ๊ณ Quaternion.Slerp ํจ์๋ฅผ ํตํด ๋ถ๋๋ฝ๊ฒ ํ์ ์ํจ๋ค.
๊ฒฐ๊ณผ
'Development > Game' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Unity] ๋ง์ฐ์ค ํด๋ฆญํ ์ง์ ์ผ๋ก ์บ๋ฆญํฐ ์ด๋์ํค๊ธฐ (5) | 2019.06.25 |
---|
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[Unity] ๋ง์ฐ์ค ํด๋ฆญํ ์ง์ ์ผ๋ก ์บ๋ฆญํฐ ์ด๋์ํค๊ธฐ
[Unity] ๋ง์ฐ์ค ํด๋ฆญํ ์ง์ ์ผ๋ก ์บ๋ฆญํฐ ์ด๋์ํค๊ธฐ
2019.06.25