Example #1
0
    // Start is called before the first frame update
    void Start()
    {
        VoxelizeMesh voxelizeMesh = GetComponent <VoxelizeMesh>();

        voxelizeMesh.Voxelize(voxelizeMesh.meshToVoxelize);
        float   pS    = voxelizeMesh.ParticleSize;
        Vector3 scale = new Vector3(pS, pS, pS);

        for (int i = 0; i < voxelizeMesh.PositionList.Count; i++)
        {
            Vector3    pos  = voxelizeMesh.PositionList[i];
            GameObject ball = GameObject.CreatePrimitive(PrimitiveType.Sphere);
            ball.transform.position   = pos;
            ball.transform.localScale = scale;
            ball.transform.parent     = gameObject.transform;
        }
    }
    void Start()
    {
        //1. Get the VoxelizeMesh component
        //2. Use meshToVoxelize as the property mesh
        //3. Use it to voxelize its mesh
        //4. Set the particleInitialPositions to the PositionList
        //5. Set the particlesPerBody
        //6. Set vertex count
        //7. Set the particle diameter

        // 1.
        VoxelizeMesh voxelizeMesh = GetComponent <VoxelizeMesh>();

        // 2.
        mesh = voxelizeMesh.meshToVoxelize;

        // 3.
        voxelizeMesh.Voxelize(mesh);

        // 4.
        particleInitialPositions = voxelizeMesh.PositionList;

        // 5.
        particlesPerBody = voxelizeMesh.PositionList.Count;

        // 6.
        vertexCount = mesh.GetIndexCount(0);

        // 7.
        particleDiameter = voxelizeMesh.ParticleSize;

        InitArrays();

        InitRigidBodies();

        InitParticles();

        InitBuffers();

        InitShader();

        InitInstancing();
    }
Example #3
0
    void Start()
    {
        VoxelizeMesh voxelizeMesh = GetComponent <VoxelizeMesh>();

        voxelizeMesh.Voxelize(voxelizeMesh.meshToVoxelize);

        mesh = voxelizeMesh.meshToVoxelize;
        particleInitialPositions = voxelizeMesh.PositionList;
        particlesPerBody         = particleInitialPositions.Count;
        vertexCount      = mesh.GetIndexCount(0);
        particleDiameter = voxelizeMesh.ParticleSize;

        InitArrays();

        InitRigidBodies();

        InitParticles();

        InitBuffers();

        InitShader();

        InitInstancing();
    }