области с разными настройками постэффектов

Эффекты постобработки

области с разными настройками постэффектов

Сообщение gnoblin 27 авг 2014, 20:00

привет
кто-нить кодил систему с областями на уровне?
типа входишь в комнату плавно меняются настройки постэффектов, эмбиент, туман
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт

Re: области с разными настройками постэффектов

Сообщение echo 17 сен 2014, 22:11

Я делал такое. Не слишком прямруко конечно, зато работает.

Вот этот скрипт вешается на любой объект в уровне, который не будет меняться:

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

public class AreaSettings : MonoBehaviour {

        public float AreaChangeTime;   
        public Color AmbColor;
        public Color myFogColor;
        public float myFogDenisity;
       
        public Color myCamColor;
        public Color myCamBackColor;
        public float myCamColorDen;
       
        public REPostProcessorEffect myEffect;
       
        void Start(){
                myEffect = Camera.main.GetComponent<REPostProcessorEffect>();
        }
       
        void FixedUpdate () {

                RenderSettings.ambientLight = Color.Lerp (RenderSettings.ambientLight, AmbColor, AreaChangeTime*Time.deltaTime);
                RenderSettings.fogColor = Color.Lerp (RenderSettings.fogColor, myFogColor, AreaChangeTime*Time.deltaTime);
                RenderSettings.fogEndDistance = Mathf.Lerp(RenderSettings.fogEndDistance, myFogDenisity, AreaChangeTime*Time.deltaTime);
                myEffect.BloomTint = Color.Lerp(myEffect.BloomTint, myCamColor, AreaChangeTime*Time.deltaTime);
                myEffect.ColorCorrectionSaturation = myCamColorDen;
                Camera.main.backgroundColor = Color.Lerp(Camera.main.backgroundColor, myCamBackColor, AreaChangeTime*Time.deltaTime);
        }
}
 


А этот на область с триггером:

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

public class ZoneEnvC : MonoBehaviour {
       
        public AreaSettings area;
        public float changeTime;
        public float timer;
        public float TargetVolume;

        public float aclipVolume = 0.7f;
        public AudioClip aclip;

        public Color EnvColor;
        public Color fogColor;
        public float myDenisity;
       
        public Color camColor;
        public Color camBackColor;
        public float camColorDen = 0.2f;
       
        public void OnTriggerEnter(){

                area.AreaChangeTime = changeTime;
                area.AmbColor = EnvColor;
                area.myFogColor = fogColor;
                area.myFogDenisity = myDenisity;
                area.myCamColor = camColor;
                area.myCamBackColor = camBackColor;
                area.myCamColorDen = camColorDen;
                area.myEffect = Camera.main.GetComponent<REPostProcessorEffect>();     
        }

}



Там ещё специальный постэффект используется, но суть понятна, я думаю. Просто удалить его и всё.
_ttp://zero0.16mb.com/Core/
_ttp://www.indiedb.com/games/zer0
Аватара пользователя
echo
UNIт
 
Сообщения: 140
Зарегистрирован: 30 окт 2011, 17:27
Откуда: От верблюда
  • Сайт

Re: области с разными настройками постэффектов

Сообщение gnoblin 18 сен 2014, 00:40

пасиба, мы запостим универсальный скриптец чуть позж
skypeid: madkust
Мои крайние проекты:
Убойный Хоккей
Cube Day Z (альфа)
Аватара пользователя
gnoblin
Адепт
 
Сообщения: 4633
Зарегистрирован: 08 окт 2008, 17:23
Откуда: Минск, Беларусь
Skype: madkust
  • Сайт


Вернуться в Post-effects

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

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