コード例 #1
0
    private ComputeBuffer GetDynamicDataBuffer()
    {
        DustMote[] data = new DustMote[ParticlesCount];
        for (int i = 0; i < ParticlesCount; i++)
        {
            Vector3 sphere   = UnityEngine.Random.insideUnitSphere;
            float   lifetime = ParticleLifespan * UnityEngine.Random.value;
            data[i] = new DustMote()
            {
                LifetimeRemaining = lifetime,
                RandomX           = sphere.x,
                RandomY           = sphere.y
            };
        }
        ComputeBuffer ret = new ComputeBuffer(ParticlesCount, DustMoteStride);

        ret.SetData(data);
        return(ret);
    }
コード例 #2
0
 public void PickUpDust(DustMote pocket)
 {
     OnDustPickedUpEvent.Raise();
     dustController.PickupDust(pocket.dustValue);
     pocket.PickUp(this);
 }