コード例 #1
0
    // Start is called before the first frame update
    void Awake()
    {
        WorldDataManager.Instance.CreateNewWorld("0");
        WorldDataManager.Instance.ActivateWorld("0");

        //Initial Platform
        WorldDataManager.Instance.ActiveWorld.CreateNewObject(new Vector3Int(0, 0, 0), true);
        Voxel v = new Voxel()
        {
            voxel = VoxelInfoLibrary.GetVoxel("Stone"), color = Color.white
        };

        for (int x = 0; x < 10; x++)
        {
            for (int z = 0; z < 10; z++)
            {
                WorldDataManager.Instance.ActiveWorld.SetVoxelAt(
                    WorldDataManager.Instance.ActiveWorld.GetVoxelObject(0),
                    new Vector3(x, 0, z),
                    v);
            }
        }
        var voxelizers = GameObject.FindObjectsOfType <Voxelizer>();

        foreach (var voxelizer in voxelizers)
        {
            voxelizer.Voxelize();
        }
        WorldDataManager.Instance.ActiveWorld.UpdateAllObjects();
    }
コード例 #2
0
    public Voxel Deserialize()
    {
        var v = new Voxel();

        v.voxel = VoxelInfoLibrary.GetVoxel(voxelName);
        v.color = color.Deserialize();
        return(v);
    }
コード例 #3
0
 // Start is called before the first frame update
 private void Start()
 {
     //Setup voxel arg
     voxelArg = new Voxel()
     {
         voxel = VoxelInfoLibrary.GetVoxel("Stone"),
         color = Color.white
     };
     vrcon = GameObject.Find("VRInputController").GetComponent <VRInputController>();
 }
コード例 #4
0
ファイル: WorldData.cs プロジェクト: WeiyaChen/VoxelSketcher
    public void CreateNewObjectFromGridDataWithColor(List <Vector3Int> GridData, List <Color> colors, bool isStatic = false)
    {
        var c = GameObject.Instantiate(
            Resources.Load <GameObject>("Prefabs/VoxelObject"),
            GridData[0],
            Quaternion.Euler(new Vector3(0, 0, 0)),
            WorldTransform).GetComponent <ObjectComponent>();

        //Setup object
        c.gridBasePoint            = GridData[0];
        c.voxelObjectData          = new ObjectData();
        c.voxelObjectData.isStatic = isStatic;
        for (int i = 0; i < GridData.Count; i++)
        {
            Voxel v = new Voxel();
            v.voxel = VoxelInfoLibrary.GetVoxel("Stone");
            v.color = colors[i];
            SetVoxelAt(c, GridData[i], v);
        }

        ObjectList.Add(c);
    }
コード例 #5
0
ファイル: WorldData.cs プロジェクト: WeiyaChen/VoxelSketcher
    public void CreateNewObjectFromGridData(List <Vector3Int> GridData, Voxel v, bool isStatic = false)
    {
        if (v.voxel == null)
        {
            v.voxel = VoxelInfoLibrary.GetVoxel("Stone");
            v.color = Color.white;
        }
        var c = GameObject.Instantiate(
            Resources.Load <GameObject>("Prefabs/VoxelObject"),
            GridData[0],
            Quaternion.Euler(new Vector3(0, 0, 0)),
            WorldTransform).GetComponent <ObjectComponent>();

        //Setup object
        c.gridBasePoint            = GridData[0];
        c.voxelObjectData          = new ObjectData();
        c.voxelObjectData.isStatic = isStatic;
        foreach (var worldPos in GridData)
        {
            SetVoxelAt(c, worldPos, v);
        }

        ObjectList.Add(c);
    }