Ejemplo n.º 1
0
        public static Texture2D GetTexture(SceneRaycastInfo sceneInfo, CalculateType calType, int minRange = -1, int maxRange = -1,
                                           int generateLayerMask = -1)
        {
            var width  = sceneInfo.Width;
            var height = sceneInfo.Height;
            var tex    = CreateTexture2D(width, height);

            var pixels = SceneJobUtility.CalculateGenerateTexture(sceneInfo, calType, minRange, maxRange, generateLayerMask, NoneColor, HitColor, GenerateColor);

            tex.SetPixels32(pixels);
            tex.Apply();

            return(tex);
        }
Ejemplo n.º 2
0
        private void Refresh()
        {
            var tranes = GetSelections();

            if (tranes.Length == 0)
            {
                return;
            }

            var bounds      = GenerateBounds(tranes);
            var arrayWidth  = Mathf.FloorToInt(bounds.size.x) + 1 + TextureEdgeSize * 2;
            var arrayHeight = Mathf.FloorToInt(bounds.size.z) + 1 + TextureEdgeSize * 2;

            var hits = SceneJobUtility.RaycastGrid(bounds.center, arrayWidth, arrayHeight, _checkLayerMask, _maxHits);

            DebugRaycast(hits);

            _sceneRaycastInfo.UpdateData(arrayWidth, arrayHeight, hits, _maxHits, bounds.center);
            _previewTexture =
                SceneInfoCalculation.GetTexture(_sceneRaycastInfo, _calculateType, _minRange, _maxRange, _generateLayerMask);
        }
Ejemplo n.º 3
0
        public static void GenerateByTexture(List <ScenePrefab> scenePrefabs, Transform parent, Texture2D tex, Vector3 center, int space)
        {
            var hits = SceneJobUtility.RaycastGrid(center, tex.width, tex.height);

            Generate(scenePrefabs, parent, tex, hits, space);
        }