public static void AddRawImage() { GameObject tGameObject = Selection.activeGameObject; if (tGameObject == null) { return; } if (WillLosePrefab(tGameObject) == false) { return; } Undo.RecordObject(tGameObject, "Add a child UI RawImage"); // アンドウバッファに登録 GameObject tChild = new GameObject(GetName <UIRawImage>(), typeof(RectTransform)); Transform tTransform = tChild.transform; tTransform.SetParent(tGameObject.transform, false); tTransform.localPosition = Vector3.zero; tTransform.localRotation = Quaternion.identity; tTransform.localScale = Vector3.one; UIRawImage tRawImage = tChild.AddComponent <UIRawImage>(); tRawImage.SetDefault(); Selection.activeGameObject = tChild; UnityEditor.SceneManagement.EditorSceneManager.MarkSceneDirty(UnityEditor.SceneManagement.EditorSceneManager.GetActiveScene()); }
private void DeleteRenderTexture() { if (m_TargetCamera != null) { m_TargetCamera.targetTexture = null; } if (m_RenderImage != null) { m_RenderImage.texture = null; DestroyImmediate(m_RenderImage.gameObject); m_RenderImage = null; } if (m_RenderTexture != null) { DestroyImmediate(m_RenderTexture); m_RenderTexture = null; } if (m_TargetCamera != null) { m_TargetCamera.clearFlags = CameraClearFlags.Depth; } }
private void ResizeRenderTexture() { if (m_TargetCamera == null || m_RenderTexture == null || m_RenderImage == null) { return; } m_TargetCamera.targetTexture = null; m_RenderImage.texture = null; DestroyImmediate(m_RenderTexture); m_RenderTexture = null; if (_w > 0 && _h > 0) { m_RenderTexture = new RenderTexture(( int )_w, ( int )_h, 24); m_RenderTexture.antiAliasing = 2; m_RenderTexture.depth = 24; // 24以上にしないとステンシルがサポートされない事に注意する } if (m_RenderTexture == null) { if (m_RenderImage != null) { m_RenderImage.texture = null; DestroyImmediate(m_RenderImage.gameObject); m_RenderImage = null; } return; } m_TargetCamera.targetTexture = m_RenderTexture; m_RenderImage.texture = m_RenderTexture; }
private void CreateRenderTexture() { if (m_TargetCamera == null) { return; } m_TargetCamera.clearFlags = CameraClearFlags.SolidColor; if (m_RenderTexture == null && _w > 0 && _h > 0) { m_RenderTexture = new RenderTexture(( int )_w, ( int )_h, 24); m_RenderTexture.antiAliasing = 2; m_RenderTexture.depth = 24; // 24以上にしないとステンシルがサポートされない事に注意する } if (m_RenderTexture == null) { return; } if (m_RenderImage == null) { m_RenderImage = AddView <UIRawImage>(); } m_RenderImage.SetAnchorToStretch(); m_TargetCamera.targetTexture = m_RenderTexture; m_RenderImage.texture = m_RenderTexture; m_RenderImage.isMask = imageMask; m_RenderImage.isInversion = imageInversion; m_RenderImage.isShadow = imageShadow; m_RenderImage.isOutline = imageOutline; m_RenderImage.isGradient = imageGradient; }
override protected void DrawInspectorGUI() { UIRawImage tTarget = target as UIRawImage; EditorGUILayout.Separator(); // 少し区切りスペース //------------------------------------------------------------------- // マテリアル選択 DrawMaterial(tTarget); EditorGUILayout.Separator(); // 少し区切りスペース GUILayout.BeginHorizontal(); // 横並び { bool tAutoCreateDrawableTexture = EditorGUILayout.Toggle(tTarget.autoCreateDrawableTexture, GUILayout.Width(16f)); if (tAutoCreateDrawableTexture != tTarget.autoCreateDrawableTexture) { Undo.RecordObject(tTarget, "UIRawImage : Auto Create DrawableTexture Change"); // アンドウバッファに登録 tTarget.autoCreateDrawableTexture = tAutoCreateDrawableTexture; EditorUtility.SetDirty(tTarget); } GUILayout.Label("Auto Create Drawable Texture"); } GUILayout.EndHorizontal(); // 横並び終了 GUILayout.BeginHorizontal(); // 横並び { bool tIsFlipVertical = EditorGUILayout.Toggle(tTarget.isFlipVertical, GUILayout.Width(16f)); if (tIsFlipVertical != tTarget.isFlipVertical) { Undo.RecordObject(tTarget, "UIRawImage : Is Flip Vertical Change"); // アンドウバッファに登録 tTarget.isFlipVertical = tIsFlipVertical; EditorUtility.SetDirty(tTarget); } GUILayout.Label("Is Flip Vertical"); } GUILayout.EndHorizontal(); // 横並び終了 }