UnityのShurikenを使ってて、思うんですが
個々のパーティクルの速度の変化が
出来ないという問題があります。
だんだん速度を早くしたかったんですよ。
※Limit Velocityは速度を遅くすることは出来ますが
速くは出来ません
やってみた結果
・プレイしてみないと結果が見えない
・Scriptでの評価は絶対遅い
など、使えないって感じです :p
開発側に要望出した方が確実ですね orz
using UnityEngine;
using System.Collections;
[RequireComponent(typeof(ParticleSystem))]
public class ShurikenAddVelocity : MonoBehaviour {
public ParticleSystem ps;
public ParticleSystem.Particle[] particles;
private Vector3 v;
// Use this for initialization
void Start () {
ps = gameObject.particleSystem;
Debug.Log(ps.name);
particles = new ParticleSystem.Particle[ps.maxParticles];
if ( ps == null ){
Debug.Log("not have Particle");
return;
}
else{
Debug.Log(ps.name);
}
}
// Update is called once per frame
void Update () {
ps.GetParticles(particles);
for( long i = 0; i < ps.particleCount; ++i)
{
v = particles[i].velocity;
v = (float)1.05 * v;
particles[i].velocity = v;
}
ps.SetParticles(particles,ps.particleCount);
}
}
参考サイト
メッシュのUV調整も行なっている
Particle System - set emitter's mesh via script
もはや目的が違う
Graphs, visualizing data