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); }
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); }
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); }