오늘은 오브젝트의 컬러 알파 값을 내려 투명도를 조절 시키는 방법에 대해 알아보았다.
먼저 아래와 같이 TurnOffField 의 이름을 가진 스크립트를 작성 후 캔버스 안 배경일 될 판넬에 컨포넌트 해주자.
코드에 해서 설명 전 위의 사진을 보고 코드를 확인하면 더욱 이해하기 쉽다.
먼저 Field의 Image 안의 Color 알파 값을 바꿔주기 위해서는 스크립트 안에서도 그대로 컴포넌트 하여 주면 된다.
다음과 같이 따라해보기 바란다.
public class TurnOffField : MonoBehaviour
{
GameObject Obj_Field; //배경 판넬 참조할 게임 오브젝트
Image image; //판네의 이미지 값을 참조할 이미지 UI
void Start() //게임이 실행하면
{
Obj_Field = GameObject.Find("Field"); //Field 이름을 찾아 오브젝트 참조
image = Obj_Field.GetComponent<Image>(); //참조한 오브젝트의 이미지를 컴포넌트
}
void Update()
{
if (Obj_Field.activeSelf) //게임 오브젝트가 참이면
{
Color color = image.color; //오브젝트 이미지의 컬러를 새로 선언한 컬러로 참조
//알파값을 내려주기 위해 1에서 0으로 for문 반복
for(float i = 1.0f; i >= 0.0f; i -= 0.01f)
{
color.a = i; //i가 내려가면서 선언한 컬러의 알파 값에 참조
image.color = color; //i로 인해 내려간 알파 값을 다시 오브젝트 이미지에 참조
}
}
}
}
이후 스크립트를 저장하고 실행하면 다음과 같은 결과를 확인 할 수 있다.
실행 전 color.a =255
실행 후 color.a =0
반대로 적용시켜 투명도를 높여주어 사용도 가능하다.
이와 같은 방법으로 알파 값을 이용하여 프로젝트 씬 진입, 퇴장 시 보다 부드럽게 씬을 포장할 수 있다.
유니티 프로젝트 씬 전환 시 fadeIn, fadeOut : https://simpleneed.tistory.com/21
유니티 프로젝트 씬 전환 시 Fade In, Fade Out (0) | 2020.06.19 |
---|---|
유니티 모바일 빌드 없이 바로 실행하는 유용한 기능 Unity Remote 5 (0) | 2020.06.17 |
유니티 시간 지연 함수 Invoke() (0) | 2020.06.13 |
유니티 게임오브젝트 삭제하기 Destroy() (0) | 2020.06.13 |
유니티 오브젝트 찾기 GameObject.Find(), FindWithTag() (0) | 2020.06.11 |
댓글 영역