版本: Unity 6 (6000.0)
语言English
  • C#

SceneView

UnityEditor 中的类

/

继承自:EditorWindow


实现接口:IHasCustomMenu, ISupportsOverlays

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读了用户提出的每个建议更改,并在适用时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

描述

使用此类管理 SceneView 设置,更改 SceneView 相机属性,订阅事件,调用 SceneView 方法以及渲染打开的场景。

静态属性

currentDrawingSceneView正在绘制的 SceneView。
lastActiveSceneView最近获得焦点的 SceneView。
lastActiveSceneViewChanged注册此回调以在活动 Scene View 更改时获得通知。
sceneViews所有打开的 Scene View 窗口的列表。
selectedOutlineColor获取选中轮廓的颜色。

属性

audioPlay启用或禁用 Scene View 音频效果。
camera渲染此 SceneView 的相机。
cameraDistance相机到旋转中心的距离。
cameraModeScene View 相机的当前 DrawCameraMode。
cameraSettings使用 CameraSettings 设置 SceneView 相机的属性。
cameraViewport相机渲染区域的位置和大小。
drawGizmos设置 Scene View 中所有 Gizmos 的可见性。
in2DModeSceneView 是否处于 2D 模式。
isRotationLockedScene View 相机是否可以旋转。
isUsingSceneFiltering此 SceneView 是否正在使用场景过滤。
lastSceneViewRotation当 Scene View 处于 2D 模式时,此属性包含上次相机旋转。
orthographicScene View 相机是否设置为正交模式。
pivot相机在 Scene View 中围绕其旋转的中心点。
rotation相机到 SceneView 旋转中心的朝向。
sceneLightingScene View 中是否启用了灯光。
sceneViewState使用 SceneViewState 设置 Scene View 的调试选项。
showGrid获取或设置是否为 SceneView 的实例启用网格。
sizeScene View 对角线测量的尺寸。
validateTrueMetals对于平均镜面颜色高于 0.45 的材质,漫反射颜色是否为黑色。

公共方法

AlignViewToObject将 Scene View 移动到围绕变换进行框选。
AlignWithView将当前选择与 Scene View 相机的位置和旋转对齐。
Frame在 Scene View 中框选给定的范围。
FrameSelected在 Scene View 中框选对象选择。
IsCameraDrawModeEnabled如果模式在当前渲染设置(包括自定义验证器)中启用,则返回 true。
IsCameraDrawModeSupported检查当前渲染配置是否支持 CameraMode。检查包括自定义验证器。
LookAt将 Scene View 移动到聚焦于目标。
LookAtDirect不使用动画效果的 LookAt。
MoveToView将所有选定的对象变换到场景旋转中心。
ResetCameraSettings将 SceneView 相机的 CameraSettings 重置为默认值。
SetSceneViewShaderReplace设置用于渲染此 Scene View 的替换着色器。

受保护的方法

SupportsStageHandling重写此方法以控制当您从一个阶段切换到另一个阶段时 Scene View 是否应该更改。

静态方法

AddCameraMode向 Scene View 相机模式列表添加自定义相机模式。
AddOverlayToActiveView添加一个叠加层以显示在最后聚焦的 Scene View 中。添加到此静态列表的叠加层将自动移动到最后一个活动的 Scene View,并在删除之前显示。
ClearUserDefinedCameraModes删除所有用户定义的相机模式。
FrameLastActiveSceneView在最后一个活动的 Scene View 中框选当前选定的对象。
GetAllSceneCameras从所有打开的 Scene View 中检索所有相机组件的数组。
GetBuiltinCameraMode获取与指定的 DrawCameraMode 匹配的内置 CameraMode。
RemoveOverlayFromActiveView删除在最后一个聚焦的 Scene View 中显示的叠加层。
RepaintAll重新绘制每个打开的 SceneView。

事件

beforeSceneGui调用 OnGUI 方法时发出的事件。
duringSceneGui订阅此事件以在 Scene View 调用 OnGUI 方法时接收回调。
gridVisibilityChanged网格可见性更改时调用。
onCameraModeChanged选定的 cameraMode 更改时调用的事件。
onValidateCameraMode用于自定义渲染管线的多播委托,以指定对请求的 CameraMode 的支持。

继承的成员

静态属性

focusedWindow当前具有键盘焦点的 EditorWindow。(只读)
mouseOverWindow鼠标光标下当前的 EditorWindow。(只读)

属性

autoRepaintOnSceneChange启用此属性以在修改 SceneView 时自动重新绘制窗口。
dataModeControllerIDataModeController 的一个实例,用于处理当前窗口的数据模式功能。
docked如果 EditorWindow 已停靠,则返回 true。
hasFocus如果 EditorWindow 已获得焦点,则返回 true。
hasUnsavedChanges此属性指定在窗口关闭之前,编辑器是否提示用户保存或放弃未保存的更改。
maximized此窗口是否已最大化?
maxSize此窗口处于浮动或模态状态时的最大尺寸。当窗口已停靠时,最大尺寸不会使用。
minSize此窗口处于浮动或模态状态时的最小尺寸。当窗口已停靠时,最小尺寸不会使用。
overlayCanvas此窗口的 OverlayCanvas。
position窗口在屏幕空间中的所需位置。
rootVisualElement检索此窗口层次结构的根可视元素。
saveChangesMessage如果提示用户保存,则显示给用户的消息
titleContent用于绘制 EditorWindow 标题的 GUIContent。
wantsLessLayoutEvents指定在所有用户事件(例如,EventType.MouseDown 或 EventType.KeyDown)之前执行布局传递,还是仅在重新绘制事件之前执行。
wantsMouseEnterLeaveWindow检查此 Editor 窗口中的 GUI 是否接收 MouseEnterWindow 和 MouseLeaveWindow 事件。
wantsMouseMove检查此 Editor 窗口中的 GUI 是否接收 MouseMove 事件。
hideFlags对象是否应隐藏、与场景一起保存或用户可修改?
name对象的名称。

公共方法

BeginWindows标记所有弹出窗口的起始区域。
关闭关闭编辑器窗口。
DiscardChanges放弃对窗口内容的未保存更改。
EndWindows关闭由 EditorWindow.BeginWindows 启动的窗口组。
Focus将键盘焦点移动到另一个 EditorWindow。
GetExtraPaneTypes获取与窗口关联的额外窗格。
RemoveNotification停止显示通知消息。
Repaint使窗口重新绘制。
SaveChanges对窗口内容执行保存操作。
SendEvent将事件发送到窗口。
Show显示 EditorWindow 窗口。
ShowAsDropDown显示具有下拉行为和样式的窗口。
ShowAuxWindow在辅助窗口中显示编辑器窗口。
ShowModal显示模态编辑器窗口。
ShowModalUtility将 EditorWindow 显示为浮动模态窗口。
ShowNotification显示通知消息。
ShowPopup使用弹出式框架显示 Editor 窗口。
ShowTab显示已停靠的 Editor 窗口。
ShowUtility将 EditorWindow 显示为浮动实用程序窗口。
TryGetOverlay从 EditorWindow 画布中获取具有匹配 ID 的叠加层。
GetInstanceID获取对象的实例 ID。
ToString返回对象的名称。

受保护的方法

OnBackingScaleFactorChanged当此 EditorWindow 的 UI 缩放更改时调用。

静态方法

CreateWindow创建类型为 T 的 EditorWindow。
FocusWindowIfItsOpen如果指定类型的 EditorWindow 已打开,则聚焦第一个找到的窗口。
GetWindow返回当前屏幕上第一个类型为 windowType 的 EditorWindow。
GetWindowWithRect返回当前屏幕上第一个类型为 t 的 EditorWindow。
HasOpenInstances检查编辑器窗口是否已打开。
Destroy删除 GameObject、组件或资源。
DestroyImmediate立即销毁对象 obj。强烈建议使用 Destroy 代替。
DontDestroyOnLoad加载新场景时不要销毁目标对象。
FindAnyObjectByType检索类型为 type 的任何活动加载的对象。
FindFirstObjectByType检索类型为 type 的第一个活动加载的对象。
FindObjectsByType检索类型为 type 的所有加载对象的列表。
Instantiate克隆对象 original 并返回克隆。
InstantiateAsync捕获原始对象(必须与某些 GameObject 相关)的快照,并返回 AsyncInstantiateOperation。
CreateInstance创建可脚本化对象的实例。

运算符

bool对象是否存在?
operator !=比较两个对象是否引用不同的对象。
operator ==比较两个对象引用以查看它们是否引用相同的对象。

消息

Awake在打开新窗口时调用。
CreateGUI当 EditorWindow 的 rootVisualElement 准备好填充时,会调用 CreateGUI。
hasUnsavedChanges此属性指定在窗口关闭之前,编辑器是否提示用户保存或放弃未保存的更改。
OnBecameInvisible在窗口从容器视图中移除或在 EditorWindow 的选项卡式集合中不再可见后调用。
OnBecameVisible在窗口添加到容器视图后调用。
OnDestroy调用 OnDestroy 以关闭 EditorWindow 窗口。
OnFocus当窗口获得键盘焦点时调用。
OnGUI在此处实现您自己的编辑器 GUI。
OnHierarchyChange层次结构中对象或对象组发生更改时发送的消息的处理程序。
OnInspectorUpdate每秒调用 10 次 OnInspectorUpdate,以便检查器有机会更新。
OnLostFocus当窗口失去键盘焦点时调用。
OnProjectChange处理项目状态发生变化时发送的消息。
OnSelectionChange每次选择发生变化时调用。
saveChangesMessage如果提示用户保存,则显示给用户的消息
Update每秒在所有可见窗口中调用多次。
Awake创建 ScriptableObject 实例时调用。
OnDestroy当可脚本化对象将要被销毁时调用此函数。
OnDisable当可脚本化对象超出范围时调用此函数。
OnEnable加载对象时调用此函数。
OnValidate仅编辑器功能,当脚本加载或 Inspector 中的值发生变化时,Unity 会调用此函数。
Reset重置为默认值。

事件

windowFocusChanged每当聚焦的编辑器窗口发生变化时调用。