Skybox и CustomSkybox: как получить ссылку?

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

Skybox и CustomSkybox: как получить ссылку?

Сообщение ffinder 27 июн 2009, 18:53

На камере есть компонент Skybox (Component -> Rendering -> Skybox). Не путать с типом Skybox. У него в инспекторе есть свойство CustomSkybox, где указывается материал.
делал так:
Код: Выделить всё
      skybox as Component = GetComponent("Skybox")
      skybox.CustomSkybox.material.SetColor("Tint Color", Color.black)

понятно, что при компиляции 'CustomSkybox' is not a member of 'UnityEngine.Component'.

Вопрос: как получить свойство CustomSkybox и менять его через скрипт?
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение Neodrop 27 июн 2009, 20:55

А что это за хитровывернутый код выше? Кто же так получает доступ к объектам? :-?
Вы, батенька, получаете именно объект Component, а у него отродясь небыло таких параметров, как вам нужно.
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение Neodrop 27 июн 2009, 21:03

.JS
Код: Выделить всё
    mySky : SkyBox = myCam.GetComponent(SkyBox);
    mySky.material.SetColor("Tint Color", Color.black);


.CS
Код: Выделить всё
   Skybox mySky = Camera.main.GetComponent(typeof(Skybox)) as Skybox;
   mySky.material.SetColor("Tint Color", Color.black);
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение ffinder 27 июн 2009, 22:33

ffinder писал(а):На камере есть компонент Skybox (Component -> Rendering -> Skybox). Не путать с типом Skybox. У него в инспекторе есть свойство CustomSkybox, где указывается материал.
делал так:
Код: Выделить всё
      skybox as Component = GetComponent("Skybox")
      skybox.CustomSkybox.material.SetColor("Tint Color", Color.black)

понятно, что при компиляции 'CustomSkybox' is not a member of 'UnityEngine.Component'.

Вопрос: как получить свойство CustomSkybox и менять его через скрипт?


вот что значит программировать уставшим:
1. тип Skybox - это наследник Behaviour
2. у него нет свойства CustomSkybox
3. а в шейдере нет "Tint Color", а есть "_Tint"

вывод: отдыхать надо больше :D и писать код на ясную голову
ответ:
Код: Выделить всё
public skybox as Skybox

и дальше
Код: Выделить всё
skybox.material.SetColor("_Tint", Color(0.15,0.15,0.15,1.0f))
ffinder
UNITрон
 
Сообщения: 192
Зарегистрирован: 26 мар 2009, 17:35
  • Сайт

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение Neodrop 27 июн 2009, 22:52

:ymparty: Я почти всё время уставший... ~o) 8-x
Добавить neodrop в Skype
Изображение
"Спасибо!" нашему порталу, вы сможете сказать ЗДЕСЬ.
Если проблема не решается честно, нужно её обмануть! || Per stupiditas at Astra!
Страх порождает слабость. Бесстрашных поражают пули.
Протратившись на блядях байтах, на битах не экономят.
Аватара пользователя
Neodrop
Админ
 
Сообщения: 8480
Зарегистрирован: 08 окт 2008, 15:42
Откуда: Питер
Skype: neodrop
  • Сайт

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение Nolex 12 янв 2011, 20:31

У меня похожая проблема. Хочу изменить цвет в шейдере, который применён для системы частиц. Надо поменять Tint Color

C#:

Синтаксис:
Используется csharp
public Material smokecolor;
...
void Update () {
smokecolor.SetColor("_Tint", Color.green);
}


Такой вариант не работает.. в чем проблема?
У вас нет доступа для просмотра вложений в этом сообщении.
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ

Re: Skybox и CustomSkybox: как получить ссылку?

Сообщение Nolex 13 янв 2011, 00:41

уже помогли решить. вот рабочий код:


Синтаксис:
Используется csharp
smoke.renderer.material.SetColor("_TintColor", Color.white);
 
Разработка игр в студии Brinemedia .
Аватара пользователя
Nolex
UNIверсал
 
Сообщения: 483
Зарегистрирован: 17 окт 2010, 12:26
Откуда: Украина
Skype: exlumen
  • Сайт
  • ICQ


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

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

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