コード例 #1
0
 void Start()
 {
     numParticles = (int)mode;
     sorter       = new GridOptimizer3D <Particle>(numParticles, range, gridDim);
     InitBuffer();
     InitParticles();
 }
コード例 #2
0
        void Start()
        {
            //Create Compute Shader Data

            ParticleGridPositionCheck = new ComputeBuffer(BoidsCount, Marshal.SizeOf(typeof(Int3)));
            ParticleBoidBufferRead    = new ComputeBuffer(BoidsCount, Marshal.SizeOf(typeof(ParticleBoid)));
            ParticleBoidBufferWrite   = new ComputeBuffer(BoidsCount, Marshal.SizeOf(typeof(ParticleBoid)));

            GenerateCharacterAffectorFromPath("Assets/CharacterTest/ren.json");


            //foreach (var affector in affectorData)
            //{
            //    var go = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            //    go.transform.localScale = new Vector3(1,1, 1);
            //    go.transform.position = affector.position;
            //}



            var pData = new ParticleBoid[BoidsCount];

            for (int i = 0; i < pData.Length; i++)
            {
                pData[i] = CreateBoidData();
            }
            ParticleBoidBufferRead.SetData(pData);
            pData = null;
            BoidParticleRenderMateiral           = new Material(BoidParticleShader);
            BoidParticleRenderMateiral.hideFlags = HideFlags.HideAndDontSave;
            _numberOfGrids = (int)(gridDim.x * gridDim.y * gridDim.z);
            sorter         = new GridOptimizer3D <ParticleBoid>(BoidsCount, range, gridDim);
            //StartCoroutine(GetData());
            StartCoroutine(ChangeRotationSpeed());
        }
コード例 #3
0
 void InitializeOptimizer()
 {
     gridOptimizer = new GridOptimizer3D <MyParticle>(numParticles, range, gridDim);
 }