コード例 #1
0
        public static void TestBakeOneTile(string sceneName, int x, int y)
        {
            //GenerateOCDataForTile();
            var projectPath = "./Assets";
            var config      = LoadSceneConfig(projectPath, 0);

            if (string.IsNullOrEmpty(config.MapName))
            {
                Debug.LogErrorFormat("Can not get oc map config for stream scene in oc data generation, path {0} index {1}", projectPath, 0);
                ExitOnBatchMode();
                return;
            }

            if (x < 0 || x >= config.TileDimension || y < 0 || y >= config.TileDimension)
            {
                Debug.LogErrorFormat("The Sepcified Tile Index [{0}, {1}] exceeds the Tile Dimension [{3}, {4}] in map {5}",
                                     x, y, config.TileDimension, config.TileDimension, config.MapName);
                ExitOnBatchMode();
                return;
            }

            if (config.IsStreamScene)
            {
                ConfigGenerator(config);
                var streamScene = new MultiScene(config.GetSceneAssetPath(), config.SceneNamePattern, config.TileDimension, config.TileSize);
                var tileList    = new List <Index>();
                tileList.Add(new Index(x, y));
                streamScene.BakeTiles(tileList, config.ComputePerframe, config.TemporaryContainer);
            }
            else
            {
                BakeSingleSceneByConfig(config);
            }
        }
コード例 #2
0
        //jenkins interface computer pvs data for one tile
        public static void GenerateOCDataForTile()
        {
            Config.IsBatchMode = true;
            var projectPath  = System.Environment.GetCommandLineArgs()[1];
            var index        = int.Parse(System.Environment.GetCommandLineArgs()[2]);
            var processorNum = int.Parse(System.Environment.GetCommandLineArgs()[3]);
            var x            = int.Parse(System.Environment.GetCommandLineArgs()[4]);
            var y            = int.Parse(System.Environment.GetCommandLineArgs()[5]);

            PrintArgs(5);

            //Config.CustomVolume = true;
            //Config.CustomVolumeCenter = new Vector3(100, 100, 100);
            //Config.CustomVolumeSize = new Vector3(10, 10, 10);

            var config = LoadSceneConfig(projectPath, 0);

            if (string.IsNullOrEmpty(config.MapName))
            {
                Debug.LogErrorFormat("Can not get oc map config for stream scene in oc data generation, path {0} index {1}", projectPath, 0);
                ExitOnBatchMode();
                return;
            }

            if (x < 0 || x >= config.TileDimension || y < 0 || y >= config.TileDimension)
            {
                Debug.LogErrorFormat("The Sepcified Tile Index [{0}, {1}] exceeds the Tile Dimension [{3}, {4}] in map {5}",
                                     x, y, config.TileDimension, config.TileDimension, config.MapName);
                ExitOnBatchMode();
                return;
            }

            if (config.IsStreamScene)
            {
                ConfigGenerator(config);
                var streamScene = new MultiScene(config.GetSceneAssetPath(), config.SceneNamePattern, config.TileDimension, config.TileSize);
                var tileList    = new List <Index>();
                tileList.Add(new Index(x, y));
                streamScene.BakeTiles(tileList, config.ComputePerframe, config.TemporaryContainer);
            }
            else if (index == 0)
            {
                BakeSingleSceneByConfig(config);
            }
            else
            {
                ExitOnBatchMode();
            }
        }
コード例 #3
0
        public static void TestBakeAll(string sceneName)
        {
            var config = GetSceneConfig(sceneName);

            ConfigGenerator(config);

            if (config.IsStreamScene)
            {
                var multiScene = new MultiScene(config.GetSceneAssetPath(), config.SceneNamePattern, config.TileDimension, config.TileSize);
                multiScene.BakeTiles(config.indices, config.ComputePerframe, config.TemporaryContainer);
            }
            else
            {
                var scene = new SingleScene(config.GetSceneAssetPath(), config.SceneNamePattern, Index.InValidIndex);
                scene.Bake(true, "D:/OCTemp");
            }
        }
コード例 #4
0
        private static void BakeStreamSceneByConfig(OCSceneConfig config)
        {
            Debug.Log("batch mode Do bake stream!");
            ConfigGenerator(config);
            var tiles = config.indices;

            if (tiles != null)
            {
                var multiScene = new MultiScene(config.GetSceneAssetPath(), config.SceneNamePattern, config.TileDimension, config.TileSize);
                multiScene.BakeTiles(tiles, config.ComputePerframe, config.TemporaryContainer);
            }
            else
            {
                Debug.LogErrorFormat("batch mode Can not get bake tiles for map {0}", config.MapName);
                ExitOnBatchMode();
            }
        }