public SampleContainer GenerateSampleSource(bool save) { float[] desiredOutput = GenerateDesiredOutput(); bool isOkay = CheckIsOkayDesiredOutput(desiredOutput); if (!isOkay) { return(new SampleContainer(false)); } float[] input = GenerateInputSource(); isOkay = CheckIsOkayInput(input); if (!isOkay) { return(new SampleContainer(false)); } SampleContainer sampleContainer = new SampleContainer(input, desiredOutput, CheckFilterDesiredOutput(desiredOutput), m_screenshotScriptThis.GetCaptureWidth(), m_screenshotScriptThis.GetCaptureHeight()); if (save) { SaveSample(sampleContainer); } m_cacheSampleSource = sampleContainer; return(sampleContainer); }
private void InitInfo() { m_areaSizePixel = new Vector2Int(m_screenshotManager.GetCaptureWidth(), m_screenshotManager.GetCaptureHeight()); m_areaSizeWorld = new Vector2(m_captureArea.localScale.x, m_captureArea.localScale.y); m_distances = new float[m_areaSizePixel.x]; m_pixelSize = m_screenshotManager.GetPixelToWorldScale(0); m_playerLengthWorld = m_visualCapturePlayer.localScale.x; m_playerLengthPixel = (int)Mathf.Ceil(m_playerLengthWorld / m_pixelSize); m_actualAdditionalRaycastHeight = Mathf.Min(-m_pixelSize * 0.51f, m_additionalRaycastHeight); m_raycastHeight = m_areaSizeWorld.y - m_actualAdditionalRaycastHeight; m_playerIndices = new List <int>(); m_playerPositionPixelMin = m_areaSizePixel.x - 1; m_playerPositionPixelMax = 0; m_distanceAhead = m_raycastHeight; m_distanceLeftY = m_raycastHeight; m_distanceRightY = m_raycastHeight; m_dangerIndexLeft = m_areaSizePixel.x - 1; m_dangerIndexRight = 0; }