2 вопроса по юнити
|
|
dreenline | Дата: Вторник, 17 Января 2017, 18:51 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Привет! Кто знает, расскажите пожалуйста! Как можно менять прозрачность материала через код?Т.е. у меня есть объект, и нужно что бы при нажатии на кнопку он становился на половину прозрачным, и что бы было видно, что находится внутри этого объекта. В интернете рылся, но ничего толком не нашел! И второй вопрос. Как через код можно управлять партиклами? У меня есть автомобиль, и из выхлопной трубы автомобиля идет дым. Размер(длинна) этого дыма меняется в зависимости от скорости автомобиля. Т.е. игрок набирает высокую скорость, длинна дыма увеличивается. Игрок уменьшает скорость, длинна дыма уменьшается. Изначально скорость автомобиля постоянно уменьшается, до тех пор, пока он не подберет буст на увеличение скорости. Как сделать плавное изменение размера дыма от скорости автомобиля?
Пробовал делать так:
Код public class speedParticle : MonoBehaviour { private SpeedManager SpeedManager; private ParticleSystem thisParticeSystem; // Use this for initialization void Awake() { thisParticeSystem = GetComponent<ParticleSystem>(); SpeedManager = FindObjectOfType<SpeedManager>(); } void Start () { } // Update is called once per frame void Update () { thisParticeSystem.startLifetime = SpeedManager.Speed; } }
Но это не работает.
Сообщение отредактировал dreenline - Вторник, 17 Января 2017, 18:55 |
|
| |
Wite | Дата: Вторник, 17 Января 2017, 20:14 | Сообщение # 2 |
постоянный участник
Сейчас нет на сайте
| А при чем тут start life time. Я в последней игре увеличивал количество партиклей и локальную скорость в зависимости от жизни частиц. В справке кстати все описано. Меняя lefe time портикли будут быстрее уничтожатся и появлятся заного. Вам нужно обьявить переменные по нужным модулям от партиклей назначить их из вашего particle system. И их изменять. справка там пример
Прозрачность менять можно так getComponent<Renderer>().material.SetColor(переменная цвет). В переменной цвет меняем значение альфы Color.a. незабудте сохранить цвет вашего матерьяла. И незабудь если используешь шейдер Standard поменяй режим на transparent. Был бы за компом код бы скинул.
|
|
| |
dreenline | Дата: Среда, 18 Января 2017, 00:57 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Wite, я во время игры изменял в инспекторе start life time у партикла. Его длинна менялась в зависимости от этого значения, вот я и подумал, что буду менять его. Этот код меняет значение start life time, но длина дыма остается постоянной.Спасибо за ссылку, я попробую сделать как там. На счет прозрачности тоже спасибо. Пробовал менять через
Код getComponent<Renderer>().material.color = new color(0,0,0,0.5) (знаю что 0,0,0 исползовать не правильно, нужно выставлять цвет, который в материале, но тут моя задача была попробовать настроить прозрачность) но поменялся только цвет, а прозрачность осталась прежней. Использую шейдер standart. Про transparent спасибо, погуглю. Раньше не доводилось работать с материалами и с партиклами, по этому сразу встал на месте и задаю такие глупые вопросы
|
|
| |
MANMANA | Дата: Среда, 18 Января 2017, 01:42 | Сообщение # 4 |
почти ветеран
Сейчас нет на сайте
| Про материалы в Unity5 и материалы в Unity вы можете посмотреть в статье Эффекты в Unity3D. Часть IV. Материалы в Unity3D: прозрачность, свечение, эмиссия, цвет. Мигающая кнопка. Плавно исчезающий и появляющийся объект. Плавная смена материалов. Индикатор заряда батареи
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
dreenline | Дата: Среда, 18 Января 2017, 03:27 | Сообщение # 5 |
постоянный участник
Сейчас нет на сайте
| MANMANA, вот страшно по такой ссылке переходить даже Прошу прощения! Спасибо за ссылку!
Сообщение отредактировал dreenline - Воскресенье, 22 Января 2017, 01:09 |
|
| |