Как получить доступ к local Velocity в Particle System?

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Как получить доступ к local Velocity в Particle System?

Сообщение Chaz 30 май 2012, 21:42

Привет. В общем сделал че-то типа стрелы и прикрутил к ней систему частиц, чтобы огонь сзади шел хД При застревании стрелы в чем-либо - система частиц отключается, но у нее есть velocity и когда стрела останавливается. то огонь уже не выходит из стрелы. но еще летит назад очень не натурально! По-этому нужно перед отключением отключить велосити. вот скрипт
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class trig_strela : MonoBehaviour {


        // Use this for initialization
        void Start () {

        }
       
        // Update is called once per frame
        void Update () {
       
        }
        void OnTriggerEnter(Collider other)
        {
         
          transform.parent.rigidbody.isKinematic = true;
          transform.parent.particleSystem.enableEmission = false;
          transform.parent.particleSystem.localVelocity = new Vector3(0,0,0); // так не получится
          transform.parent.particleEmitter.localVelocity = new Vector3(0,0,0); // так тоже не пойдет, возникает ошибка - нету прикрепленного particleEmitter (в переводе на русский и упрощенно)
        }
}

 

Есть вариант использовать Ellipsoid Particle Emmiter, но не вариант хД Ведь у Particle System тоже есть localVelocity и хочется научится управлять им программно! Если кто че-т знает на эту тему - памагите плз!1
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Как получить доступ к local Velocity в Particle System?

Сообщение DbIMok 31 май 2012, 00:49

The starting speed of particles along X, Y, and Z, measured in the object's orientation.

так что после выключения эмиссии менять скорость смысла нет.
смотреть нужно на конкретную ситуацию. методов обойти неправильное поведение обычно множество. например, выключать эмиссию заранее или после столкновения управлять частицами самому.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как получить доступ к local Velocity в Particle System?

Сообщение Chaz 31 май 2012, 08:11

да мне не скорость старта менять, а велосити, и у меня нету Particle Emmitor, у меня Particle System, и не после окончания скорость менять. а перед!!1
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Как получить доступ к local Velocity в Particle System?

Сообщение DbIMok 31 май 2012, 17:09

у ParticleSystem скорость менять можно так
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как получить доступ к local Velocity в Particle System?

Сообщение Chaz 01 июн 2012, 18:36

DbIMok писал(а):у ParticleSystem скорость менять можно так

пасиба канешна, ток у мя не совсем получилось, а точнее, совсем не получилось хД делал по примеру, вот что вышло
Синтаксис:
Используется csharp
int numParticles = transform.parent.particleSystem.particleCount;
       ParticleSystem.Particle[] particles = new ParticleSystem.Particle[numParticles];
       transform.parent.particleSystem.GetParticles(particles);
          ParticleSystem.Particle par = particles[0];
                        par.angularVelocity = 0f;

но никаких телодвижений замечено не было =\ Можете подсказать исправить че не так, плз?
Chaz
Адепт
 
Сообщения: 1412
Зарегистрирован: 07 апр 2012, 11:24

Re: Как получить доступ к local Velocity в Particle System?

Сообщение DbIMok 01 июн 2012, 19:51

а как это должно было проявиться? вы обнулили угловую скорость одной из частиц и обратно particles не записали.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.7k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05


Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 25