Пример #1
0
        /// /////////////////////////////////////////////////////////
        /// Impact
        /// /////////////////////////////////////////////////////////

        // Create single debris particle system
        public static void CreateDebrisImpact(RayfireDebris debris, Vector3 impactPos, Vector3 impactNormal)
        {
            // Particle system
            ParticleSystem ps = debris.CreateParticleSystem(debris);

            // Align over impact
            debris.hostTm.position = impactPos;
            debris.hostTm.LookAt(impactPos + impactNormal);

            // Set amount
            debris.amountFinal = debris.emission.burstAmount;

            // Create debris
            debris.CreateDebris(debris.rigid.transForm, debris, null, -1, ps);
        }
Пример #2
0
        // Create single debris particle system
        public static void CreateDebrisRigid(RayfireDebris target)
        {
            // No particles
            if (target.amountFinal < target.limitations.minParticles && target.emission.distanceRate == 0)
            {
                return;
            }

            // Particle system
            ParticleSystem ps = target.CreateParticleSystem(target);

            // Get emit material index
            int emitMatIndex = GetEmissionMatIndex(target.rigid.meshRenderer, target.emissionMaterial);

            // Create debris
            target.CreateDebris(target.rigid.transForm, target, target.rigid.meshFilter, emitMatIndex, ps);
        }