유니티 메모장

Light컴포넌트 불빛 깜빡이기

게임을만들어보자 2025. 6. 3. 11:32

2025.06.03 - [유니티 메모장] - Sin함수를 이용한 반복운동

 

Sin함수를 이용한 반복운동

○ 기본형Mathf.Sin(float x) ○ 예제public class ExampleClass : MonoBehaviour{ float lengthMax = 5f; //양쪽방향 최장 이동거리 (총 10f) float moveSpeed = 3f; //이동속도 float directionObject = 0f; //사인함수 대입을 위한 변수

capsuleer.tistory.com

바로 이전 포스팅했던 Sin함수를 이용한 불빛 깜빡이기 예제

using UnityEngine;

public class ExampleClass : MonoBehaviour
{
    float lightBrightness = 20f;  //최대 밝기
    float blinkSpeed = 3f;  //점멸 속도
    float myIntensity;   //밝기 조절용 변수
    float myLightTime;   //Sin함수용 변수

    Light myLight;       //Light컴포넌트 캐싱

    void Start()
    {
        myLight = GetComponent<Light>();   //Light컴포넌트 캐싱
    }

    void Update()
    {
        myLightTime = myLightTime + blinkSpeed * Time.deltaTime;
        //Sin함수를 위한 매개변수 : 이 값만을 sin에 대입하면 -1에서 1사이를 반환
        myIntensity = lightBrightness * ((Mathf.Sin(myLightTime)+1)/2);
        //Light컴포넌트의 Intensity값은 양수값만을 가지기 때문에 Sin함수값을 조절
        //1을 더한 이후 다시 2로 나누어 0에서 1사이 결과 반환
        myLight.intensity = myIntensity;
        //intensity값을 수정
    }
}