Unity Engine을 사용하여 게임을 만들고 있고 태양 개체가 도달 할 때까지 밝기가 증가하도록하고 싶습니다. 하루 중 특정 시간을 기록한 다음 그 시간이 지나면 감소하기 시작합니다.값의 50 %를 다른 변수의 최대 값으로 설정하고 (최소 0 %/100 % 최소값과 동일하게)
float currentTime = 0.50f; //50% = noon, 0%/100% = midnight
float dayRange = 0.75f - 0.25f; //Daylight hours = 25% to 75% (6:00 to 18:00)
float dayPercent = (currentTime - 0.25f)/dayRange; //Current time between the daylight hours as a percentage.
float maxSunLight = 10f;
float currentSunLight = 5f;
내가 원하는 무엇 :
나는과 같이 낮 시간의 (1-0) 백분율 값으로 표현 일 - 시간이
dayPercent
0 0.5, currentSunLight
사이 인 경우 0에서 증가 제
dayPercent
0.5과 1 사이이면, currentSunLight
0
이 작업을 수행하는 지저분한 방법이 있지만이 작업을 수행하는 데 간단한 수학 함수가있을 것으로 확신합니다.
편집 : 그냥 내가 현재의 논리에 집착 같은 것을 제안
if(dayPercent <= 0.50f){
currentSunLight = (dayPercent * 2)/maxSunLight * 100;
} else {
currentSunLight = (dayPercent/2)/maxSunLight * 100;
}
삼각법 FTW –