DayNight Cycle Не могу сменить скорость вращения

Программирование на Юнити.

DayNight Cycle Не могу сменить скорость вращения

Сообщение Dan1g3r 09 апр 2011, 00:12

Здравствуйте! У меня возникла проблема:
Пробовал создать цикл дня и ночи и все получалось, пока не решил, что день и ночь не могут быть одинаковыми по длине(в большинстве случаев). Принялся это менять...
Скорость НЕ меняется, как будто условие в первом if всегда верно. Перелопатил весь скрипт, а причину ошибки так и не отыскал. Не подскажете, в чем здесь может быть проблема?

Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class DayNight_Cycle: MonoBehaviour {

        public int sun_rotation_speed = 0;

                                                                                                               
        public Transform[] sun; //Directional light
       
        private float time_of_day;
       
        public int SunriseTimeSpeed = 0;
        public int NoonTimeSpeed = 0;
        public int EveningTimeSpeed = 0;
        public int MidnightTimeSpeed = 0;

        void Start () {
                time_of_day = 0;       
               
        }
       
        // Update is called once per frame
        void Update () {
               
                if (sun[0].rotation.y>=0&&sun[0].rotation.y<=90){
                        sun[0].Rotate(new Vector3(SunriseTimeSpeed,sun_rotation_speed,0) * Time.deltaTime); // Sunrise
                } else
                                       
                if (sun[0].rotation.y>=90&&sun[0].rotation.y<=180){
                                sun[0].Rotate(new Vector3(NoonTimeSpeed,sun_rotation_speed, 0) * Time.deltaTime); // Noon
                } else

                if (sun[0].rotation.y>=180&&sun[0].rotation.y<=270){
                                sun[0].Rotate(new Vector3(EveningTimeSpeed,sun_rotation_speed,0) * Time.deltaTime); // Evening
                } else

                if (sun[0].rotation.y>=270&&sun[0].rotation.y<=360) {
                                sun[0].Rotate(new Vector3(MidnightTimeSpeed,sun_rotation_speed,0) * Time.deltaTime); //Midnight
                } else
                                sun[0].Rotate(new Vector3(sun_rotation_speed,sun_rotation_speed,0) * Time.deltaTime);

                time_of_day+=Time.deltaTime;
                        print(time_of_day);
}
}
 
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50

Re: DayNight Cycle Не могу сменить скорость вращения

Сообщение alexz 09 апр 2011, 02:02

Попробуй сформулировать для себя, что хранится в sun[0].rotation.y.
alexz
UNITрон
 
Сообщения: 270
Зарегистрирован: 16 ноя 2010, 23:37

Re: DayNight Cycle Не могу сменить скорость вращения

Сообщение Order 09 апр 2011, 06:26

Сделай движение солнца как в реале.. Траектория будет задавать длину дня и ночи. Где то видел готовый скрипт, том можно было широту задавать. И время года.
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: DayNight Cycle Не могу сменить скорость вращения

Сообщение Dan1g3r 09 апр 2011, 17:52

Мне бы этот скрипт ой как не помешал))
Аватара пользователя
Dan1g3r
UNец
 
Сообщения: 35
Зарегистрирован: 18 май 2010, 23:50


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6