2016-10-28 8 views
0

ユニティ3D内では、2dランナーを構築しています。その中にメインカメラの右上隅にある単一の場所から雪のような粒子を放出するパーティクルシステムを作成しました。ユニオン3Dパーティクルシステムスノー効果

私は、メインカメラのスピードが上がるにつれて、常にスクリーン上のパーティクルのように雪が降り注ぐように、パーティクルエミッタをメインカメラに取り付けました。

エミッタの速度がパーティクルの方向に影響を与えないように、エミッタの設定を変更するにはどうすればよいですか?最後に、詳細については、エミッタの形状を円錐に、シミュレーション空間をワールドに設定しました。 Particle System main module:すべてのヘルプは非常にあなたがあなたのParticleSystem部品のシミュレーションスペース設定を変更することができ

答えて

1

をいただければ幸いです。私が最初に気づいていなかったので

EDIT あなたは、粒子が、ここでの方法だ加速カメラ(私の悪い...)に伴って増加するスピードたかったあなたでし偽の効果:

public class TestScript : MonoBehaviour 
{ 
    #region Attributes 
    [SerializeField] 
    private float m_MaxTransformSpeed; 

    [SerializeField] 
    private float m_MinStartSpeed; 
    [SerializeField] 
    private float m_MaxStartSpeed; 

    private ParticleSystem m_Particles; 
    private Vector3 m_PreviousPosition; 
    #endregion 

    #region MonoBehaviour 
    protected void Start() 
    { 
     m_Particles = GetComponent<ParticleSystem>(); 
    } 

    protected void Update() 
    { 
     Vector3 cameraSpeed = transform.position - m_PreviousPosition; 
     m_Particles.startSpeed = Mathf.Clamp(m_MinStartSpeed + (m_MaxStartSpeed - m_MinStartSpeed) * cameraSpeed.magnitude/m_MaxTransformSpeed, m_MinStartSpeed, m_MaxStartSpeed); 
     m_PreviousPosition = transform.position; 
    } 
    #endregion 
} 
代わりにあなたが N古い位置を保存し、 Nデルタの平均速度の値を取得したり、直接あなたの カマーにスクリプトを使用すると、適用さ移動量を送信することができますどちらかのみ最新のフレームに基づいているの

手動で移動する場合はです。

+0

私はSimulation SpaceをWorldに変更しました。これは、パーティクルが常にカメラ内で動くことにはなりません。私の問題は、エミッタの移動速度が上がるにつれて、パーティクルは速度の影響を受け始め、スクリーンの右上から画面の左上までの流れの中でカメラの上部に向かって放出されることです。エミッタが動かないときは、雪のように見えます。画面の右上から下に向かって落ちる。私はカメラが動いているときでもその動作をシミュレートしたいです。 – pretzo246

+0

@ pretzo246私は空のシーン、動きのある_Camera_と "snow" _ParticleSystem_をカメラの子として試しました。これは意図したとおりに動作します。 [ここ](http://i.giphy.com/l0HlMstNcGK2bCFri.gif)は、** Simulation Space **プロパティの_World_設定の結果です。(http://i.giphy.com/3oz8xP1je4r78JsCOs .gif)の_Local_を使用します。 – Kardux

+0

私は、ローカル設定がそのシナリオ内でより適していると感じました。ワールド設定のように、エミッタの速度が上がったときにパーティクルがゆっくりと画面から外に出始めた様子を見たことがありますか?私が望むのは、パーティクルが画面上に生成され続けていて、画面から徐々に生成され始めないことです。 – pretzo246

関連する問題