랭귀지/Unity
유니티 이미지 플립 (오브젝트 이미지 뒤집기)
유키공
2018. 4. 7. 09:30
유니티에서 이미지를 뒤집어야 할 경우가 종종 있는데요. 플레이어가 왼쪽에서 오른쪽으로 또는 오른쪽에서 왼쪽으로 이동시 이미지는 오른쪽이나 왼쪽 한장만 있을 시 오브젝트의 이미지를 플립 하시면 되는데요. 오브젝트의 이미지를 플립하는 두가지 방법 입니다.
1. 오브젝트의 스케일을 조정해서 뒤집는 방법
2. 오브젝트의 메트리얼의 타일링을 이용해서 뒤집는 방법
using UnityEngine;
using System.Collections;
public class CsFly : MonoBehaviour {
public int speed = 5;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float key = Input.GetAxis("Horizontal");
float amtMove = speed * Time.smoothDeltaTime;
if(key > 0)
{
//왼쪽 이동
Vector3 scale = transform.localScale;
scale.x = -Mathf.Abs(scale.x);
transform.localScale = scale;
transform.Translate(Vector3.right * amtMove * key);
}
else if( key < 0)
{
//오른쪽이동
Vector3 scale = transform.localScale;
scale.x = Mathf.Abs(scale.x);
transform.localScale = scale;
transform.Translate(Vector3.right * amtMove * key);
}
}
}
using UnityEngine;
using System.Collections;
public class CsFly : MonoBehaviour {
public int speed = 5;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
float key = Input.GetAxis("Horizontal");
float amtMove = speed * Time.smoothDeltaTime;
if(key > 0)
{
//왼쪽 이동
Vector2 tiling = transform.renderer.material.mainTextureScale;
tiling.x = Mathf.Abs(tiling.x);
transform.renderer.material.mainTextureScale = tiling;
transform.Translate(Vector3.right * amtMove * key);
}
else if( key < 0)
{
//왼쪽 이동
Vector2 tiling = transform.renderer.material.mainTextureScale;
tiling.x = -Mathf.Abs(tiling.x);
transform.renderer.material.mainTextureScale = tiling;
transform.Translate(Vector3.right * amtMove * key);
}
}
}