This module controls the way particles collide with solid objects in the Scene. Planes, 3D and 2D worlds are all options for particle collisions.
プロパティー | 機能 |
---|---|
Planes ドロップダウン | Planes モードを選択する。 |
Planes | 衝突面を定義する可変長の Transform のリスト(Planes モードのみで有効です)。 |
Visualization | Selects whether the collision plane Gizmos will be shown in the Scene view as wireframe grids or solid planes (Planes mode only). |
Scale Plane | Visualization で使用する平面の大きさ(Planes モードのみで有効)。 |
Visualize Bounds | シーンビュー上で、各パーティクルの衝突範囲をワイヤーフレームの形状で描画します。 |
Dampen | 衝突の後、パーティクルを減速させるのに掛けられる少数の値。 |
Bounce | 衝突後に、表面から跳ね返るパーティクルに加わる力。 |
Lifetime Loss | 衝突後に失われるパーティクルの生存期間。 |
Min Kill Speed | 衝突後に、この値よりも遅い速度で移動しているパーティクルは削除されます。 |
Radius Scale | パーティクル衝突スフィアの半径を調整します。これにより、パーティクルグラフィックスの視覚的なエッジをきれいに一致させることができます。 |
Send Collision Messages | この値を有効にすると、OnParticleCollision 関数を使用してスクリプトからパーティクルの衝突を検知することができます。 |
プロパティー | 機能 |
---|---|
World ドロップダウン | World モードを選択する。 |
Collision Mode | 3D か 2D を選択します。 |
Visualize Bounds | Preview the collision spheres for each particle in the Scene View. |
Dampen | 衝突の後、パーティクルを減速させるのに掛けられる少数の値。 |
Bounce | 衝突後に、表面から跳ね返るパーティクルに加わる力。 |
Lifetime Loss | 衝突後に失われるパーティクルの生存期間。 |
Min Kill Speed | 衝突後に、この値よりも遅い速度で移動しているパーティクルは削除されます。 |
Radius Scale | 3D か 2D を選択します。 |
Collides With | パーティクルは選択されたレイヤーのオブジェクトとのみ衝突します(World モードのみで有効)。 |
Interior Collisions | モーションが起こる前にすでにコライダーの内部にあるパーティクルとの衝突も検出します |
Enable Dynamic Colliders | パーティクルが動的オブジェクトと衝突することが可能になります (これが有効でない場合は、静的オブジェクトのみと衝突します)。 |
Max Collision Shapes | パーティクル衝突判定に使用される衝突形状の数。超過したシェイプは無視され、テレインが優先されます。 |
Collision Quality | This affects how “watertight” the collisions are. At lower quality levels, particles may sometimes pass through Colliders, but are cheaper to calculate (World mode only). |
Send Collision Messages | この値を有効にすると、OnParticleCollision 関数を使用してスクリプトからパーティクルの衝突を検知することができます。 |
When other objects surround a particle system, the effect is often more convincing when the particles interact with those objects. For example, water or debris should be obstructed by a solid wall rather than simply passing through it. With Collision enabled, particles can collide with objects in the Scene.
A particle system can be set so its particles collide with any Collider in the scene by selecting World mode from the pop-up. Colliders can also be disabled according to the layer they are on by using the Collides With property. The pop-up also has a Planes mode option which allows you to add a set of planes to the Scene that don’t need to have Colliders. This option is useful for simple floors, walls and similar objects, and has a lower processor overhead than World mode. When Planes mode is enabled, a list of transforms (typically empty GameObjects) can be added via the Planes property. The planes extend infinitely in the objects’ local XZ planes, with the positive Y axis indicating the planes’ normal vectors. To assist with development, the planes will be shown as Gizmos in the Scene, regardless of whether or not the objects have any visible Mesh themselves. The Gizmos can be shown as a wireframe grid or a solid plane, and can also be scaled. However, the scaling only applies to the visualization - the collision planes themselves extend infinitely through the Scene.
衝突が有効なときパーティクルの大きさは時に問題になります。表面と接触する際にグラフィックを切り取られる可能性があるからです。これによって、停止するか跳ねる前にパーティクルは表面の半ばまで「沈んでいる」ように表示される結果となりえるのです。Particle Radius プロパティーはパーティクルのためにおおよその円状の半径を定義することでこの問題を解決に導きます。この大きさ情報は切り取り、沈み込み効果を防止するのに使われます。
The Dampen and Bounce properties are useful for when the particles represent solid objects. For example, gravel will tend to bounce off a hard surface when thrown but a snowball’s particles might lose speed during a collision. Lifetime Loss and Min Kill Speed can help to reduce the effects of residual particles following a collision. For example, a fireball might last for a few seconds while flying through the air but after colliding, the separate fire particles should dissipate quickly.
You can also detect particle collisions from a script if Send Collision Messages is enabled. The script can be attached to the object with the particle system, or the one with the Collider, or both. By detecting collisions, you can use particles as active objects in gameplay, for example as projectiles, magic spells and power-ups. See the script reference page for MonoBehaviour.OnParticleCollision for further details and examples.