public void CreateCube()
    {
        CleanUp();
        CubeCreator cubeCreator = new CubeCreator();

        cubeCreator.Add(Size, Origin, Rotation);
        Mesh mesh = cubeCreator.CreateMesh(true);

        var originalMesh = ObjectCreator.CreateSciptableMesh("Cube (Generated)", mesh, Material);

        originalMesh.gameObject.AddComponent <BoxCollider>();
        GeneratedMeshes.Add(originalMesh);
    }
예제 #2
0
 // Start is called before the first frame update
 void Awake()
 {
     for (int i = 0; i < 5; i++)
     {
         for (int j = 0; j < 5; j++)
         {
             for (int k = 0; k < 5; k++)
             {
                 CubeCreator.MakeCube(i - 2f, j + 1f, k + 8f, CubeCreator.GetRandomColor());
                 CubeCreator.MakeHitedCubesFall();
             }
         }
     }
 }
예제 #3
0
    public override void OnInspectorGUI()
    {
        //base.OnInspectorGUI();
        CubeCreator cubeCreator = (CubeCreator)target;

        DrawDefaultInspector();

        //EditorGUILayout.HelpBox("This is a help box", MessageType.Info);
        if (GUILayout.Button("Generate Cubes"))
        {
            cubeCreator.GenerateCubes();
        }
        if (GUILayout.Button("Destroy Cubes"))
        {
            cubeCreator.DestroyCubes();
        }
    }
    public StructHelper makeFeature(GameObject fetureTemplate, GameObject featurePredictionsTemplate, Dictionary <string, Dictionary <string, ushort[][]> > feature)
    {
        FeatureMapData featureMapData = new FeatureMapData();
        int            index;
        int            counter;
        GameObject     go;

        initStructObjects();
        featureMapData.setCoordX(0);
        featureMapData.setCoordY(0);
        featureMapData.setCoordZ(0);
        int counterLayers = 0;
        int scalingFactor = 40;
        var labels        = new List <string>(feature["labels"].Keys);

        foreach (KeyValuePair <string, Dictionary <string, ushort[][]> > layer in feature)
        {
            counter       = 0;
            counterLayers = counterLayers + 1;
            featureMapData.setCoordScale(scalingFactor / counterLayers);
            Tuple <int, int> divisors = closestDivisors(layer.Value.Count);
            featureMapData.setCoordY(0);
            featureMapData.setCoordX(0);
            featureMapData.setCoordZ(featureMapData.getCoordZ() - 200);
            foreach (KeyValuePair <string, ushort[][]> featureMap in layer.Value)
            {
                featureMapData.setHeight(featureMap.Value.GetLength(0));
                featureMapData.setWidth(featureMap.Value.GetLength(0));
                featureMapData.setName(featureMap.Key);

                featureMapData.setCoordY(featureMapData.getCoordY() + featureMapData.getWidth() + featureMapData.getWidth());

                if (featureMapData.getName().Contains("fc") || featureMapData.getName().Contains("dense") || featureMapData.getName().Contains("pred"))
                {
                    index    = 0;
                    divisors = closestDivisors(featureMap.Value[0].Length);
                    var name        = featureMapData.getName();
                    var featureMaps = featureMap.Value[0];
                    featureMapData.setCoordX(0);
                    featureMapData.setCoordY(0);
                    for (int i = 0; i < divisors.Item1; i++)
                    {
                        featureMapData.setCoordX(featureMapData.getCoordX() + 60);
                        featureMapData.setCoordY(0);
                        for (int j = 0; j < divisors.Item2; j++)
                        {
                            go      = GameObject.Instantiate(featurePredictionsTemplate);
                            go.name = featureMapData.getName();
                            CubeCreator cube = go.AddComponent <CubeCreator>();
                            featureMapData.setCoordY(featureMapData.getCoordY() + 60);

                            if (featureMapData.getName().Contains("pred"))
                            {
                                cube.createCube(featureMapData, name + "_" + labels[index], featureMaps[index]);
                                structHelper.LastLayersPredictions.Add(name + "_" + index.ToString(), cube);
                            }
                            else
                            {
                                cube.createCube(featureMapData, name + "_" + index.ToString(), featureMaps[index]);
                                structHelper.LastLayersPredictions.Add(name + "_" + index.ToString(), cube);
                            }
                            index++;
                        }
                    }
                }
                else
                {
                    go      = GameObject.Instantiate(fetureTemplate);
                    go.name = featureMapData.getName();
                    PlaneCreator plane = go.GetComponent <PlaneCreator>();
                    plane.createPlane(featureMapData, featureMap.Value);
                    structHelper.convLayers.Add(featureMap.Key, plane);
                }
                counter++;
                if (counter == divisors.Item2)
                {
                    featureMapData.setCoordY(0);
                    featureMapData.setCoordX(featureMapData.getCoordX() + featureMapData.getHeight() + featureMapData.getHeight());
                    counter = 0;
                }
            }
        }
        var parent = GameObject.Find("BackCamera").GetComponent <Camera>().transform.position = new Vector3(800, 800, featureMapData.getCoordZ() - 70);

        return(structHelper);
    }