| Среднее между цветами | 
|  | 
| 
| zisX | Дата: Суббота, 03 Октября 2015, 11:49 | Сообщение # 1 |  |   Neto Zis Сейчас нет на сайте | есть три переменных цвета, 
 public Color currentColor;
 public Color aColor;
 public Color bColor;
 
 также есть три перменных флоат
 
 public float currentFloat;
 public float aFloat=30;
 public float bFloat=100;
 
 каждую секунду currentFloat прибавляется на 1 значение выше чем была,
 aColor = белый, bColor = черный
 
 и нужно найти среднее между цветами и присвоить это значение currentColor.
 
 если что находить среднее должно примерно так, currentFloat == aFloat, цвет белый, currentfloat == bFloat, цвет черный, currentFloat == (bFloat - aFloat)/2,
 цвет примерно серый, т.е. среднее между белым и черным.
 
 Не могу придумать как сделать, может вы поможете
 
 
    |  |  |  |  | 
| 
| Kunka | Дата: Суббота, 03 Октября 2015, 12:06 | Сообщение # 2 |  | частый гость Сейчас нет на сайте | прогулял школу? Среднее находится так (Z1+Z2+...Zn)/n; public Color currentColor;
 public Color aColor;
 public Color bColor;
 currentColor.r=(aColor.r+bColor.r)/2
 currentColor.g=(aColor.g+bColor.g)/2
 currentColor.b=(aColor.b+bColor.b)/2
 
 хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace
 |  |  |  |  | 
| 
| zisX | Дата: Суббота, 03 Октября 2015, 12:41 | Сообщение # 3 |  |   Neto Zis Сейчас нет на сайте | Kunka, умный больно? мне нужно сделать относительно другой переменной ( тем более я уже сделал ) 
 
 Код  void UpdateColors()
 {
 if (currentPhase == DayPhase.Morn)
 {
 float a = dayStart_ - mornStart_; // 100%
 float b = (timeMorn * 100 / a)/100;
 Debug.Log(b);
 currentColor = Color.Lerp(mornColor, dayColor, b);
 Camera.main.backgroundColor = currentColor;
 }
 else if (currentPhase == DayPhase.Day)
 {
 float a = downStart_ - dayStart_; // 100%
 float b = (timeDay * 100 / a) / 100;
 Debug.Log(b);
 currentColor = Color.Lerp(dayColor, downColor, b);
 Camera.main.backgroundColor = currentColor;
 }
 else if (currentPhase == DayPhase.Down)
 {
 float a = nightStart_ - downStart_; // 100%
 float b = (timeDown * 100 / a) / 100;
 Debug.Log(b);
 currentColor = Color.Lerp(downColor, nightColor, b);
 Camera.main.backgroundColor = currentColor;
 }
 else if (currentPhase == DayPhase.Night)
 {
 float a = dayLenght - nightStart_ + mornStart_; // 100%
 float b = (timeNight * 100 / a) / 100;
 Debug.Log(b);
 currentColor = Color.Lerp(nightColor, mornColor, b);
 Camera.main.backgroundColor = currentColor;
 }
 
    
 
 Сообщение отредактировал zisX - Суббота, 03 Октября 2015, 12:42 |  |  |  |  | 
| 
| Kunka | Дата: Суббота, 03 Октября 2015, 12:50 | Сообщение # 4 |  | частый гость Сейчас нет на сайте | Цитата zisX (  ) умный больно? мне нужно сделать относительно другой переменной ( тем более я уже сделал ) 
 Цитата zisX (  ) найти среднее между цветами я виноват что ты не умеешь правильно объяснять?
 
 хочешь сделать убийцу WOW, GTA, CRysis, AC - используй FishFace
 |  |  |  |  | 
| 
| zisX | Дата: Суббота, 03 Октября 2015, 12:52 | Сообщение # 5 |  |   Neto Zis Сейчас нет на сайте | Kunka, да в этом я виноват, не дописал 
 
    |  |  |  |  | 
| 
| SnakeR | Дата: Суббота, 03 Октября 2015, 14:57 | Сообщение # 6 |  |   постоянный участник Сейчас нет на сайте | zisX, все ж просто как 5 копеек 
 Color.Lerp
 
 
 Код using UnityEngine; using System.Collections;
 
 public class ExampleClass : MonoBehaviour {
 public Color lerpedColor = Color.white;
 void Update() {
 lerpedColor = Color.Lerp(Color.white, Color.black, Time.time);
 }
 }
 Unity3D Developer
 Ваш лучший помощник при разработке в Unity3D
 |  |  |  |  | 
| 
| zisX | Дата: Суббота, 03 Октября 2015, 15:06 | Сообщение # 7 |  |   Neto Zis Сейчас нет на сайте | SnakeR, Спасибо конечно, но я уже именно так и сделал) 
 
    |  |  |  |  |