unityUnity界面scene视图[1]
Posted 汪汪想变强
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unityUnity界面scene视图[1]相关的知识,希望对你有一定的参考价值。
简介
Scene视图是正在创建的世界的交互视图。
Scene视图的操作是unity的一大基本功!
功能
目录:待改!
- 如何在Scene中移动,找到合适的操作对象
- 如何在Scene中选择游戏对象
- 如何在scene这操作游戏对象的位置设定与变换设定
- Scene控制栏
- Scene视图摄像机
- Gizmos菜单
unity坐标系统:
使用的是笛卡尔坐标系,分为左手坐标系与右手坐标系
图片1
坐标轴工具
可右键:
图片2
快速还原键:
导航工具
- 方向键:用方向键在场景中移动,提示按住shift可加速
- 手型工具(Q)+鼠标
- 移动:选中后,鼠标左键并移动
- 旋转:alt/option,左键单击并拖动围绕点前轴心点旋转视角;2d模式不可用
- 缩放:alt/option,右键单击并且拖动可缩放
- 3D模式下,按住鼠标右键进入“飞行模式”;使用WASD键向左/向右/向前/向后移动,使用Q和E键箱上/向下移动。按住shift键可以加快移动速度。
- 聚焦指定对象:选中对象后,点F;要将视图锁定到游戏对象(即使游戏对象正在移动),请按Shift+F。
对象选择
-
选择:在左侧中选中对象
-
在搜索框直接搜索,左右搜索框均可
对象拾取
作用:对于一些对象已经修订好了,不需要再次被选择。
可拾取
不可拾取
移动和变换
就这么几个键,自己试
视图工具栏
- 2d3d转换 打开光源 打开声音
- effects按钮和菜单
- 可视化选项
操作同“拾取”,但作用是“可见/不可见” - scene 摄像头
- secne camare和普通camare的区别
前者是开发者视角,后者是玩家视角 - 就是场景里面的那个摄影机
- gizmos菜单
就是unity提供给我们的图标,例如那个摄像机就是。
game视图
图标
-
运行按钮
作用:进入游戏操作
注意:在运行模式下,所做的任何操作都是暂时的,在退出运行模式后将会重置。 -
播放最大化
点击后再点击播放,将进入全屏运行。 -
状态
作用:有关游戏的一些状态,方便我们对游戏进行优化
4.gizmos
hierachy窗口(层级窗口)
作用:游戏对象的管理器
主要功能:
- 父子包含功能
- 管理游戏对象
- 创建、复制粘贴、选取、删除(右键)
- 更改嵌套关系(拖动)
- 是否可选,是否可见
- 排序
- 多场景编辑
project窗口
作用:管理项目相关的一些文件的,与在windows的操作一致。
- assects:资源文件
- package:库文件(运行游戏所需要的重新库)
- 按种类搜索(以下从左到右)
- 按标签搜索
- 按收藏搜索
- 是否可视
inspector窗口(检查器窗口)
作用:对对象属性进行编辑的窗口
选中共同属性:可以对多个对象进行同时编辑
选择不同属性:只显示所选对象名称
ping:可以快速查找
unityGame视图与Scene视图同步
一.应用背景
在大中型项目中,经常需要Game视图和Scene视图实时同步,以便观察分析场景的渲染效果,因此我们需要实时将Game视图相机调整到Scene视图中场景观察相机的状态,主要涉及到Game视图相机的位置(position)及旋转角(rotation)的调整。
二.设计思想
1.通过SceneView.lastActiveSceneView.camera获取当前Scene视图中的观察相机;
2.每帧调整Game视图相机的position和rotation;
3.为了保证脚本在编辑器模式下也能达到我们想要的效果,因此需要给脚本添加ExecuteInEditMode特性或者ExecuteAlways特性;
4.为了确保每帧都能正常调用相机调整的代码,因此需要将调整的代码放到OnRenderObject系统回调函数中(至于为什么不放到Update系统回调函数中,是因为Update函数在编辑器模式下即使添加了ExecuteInEditMode/ExecuteAlways特性,也只有当场景有变化时才调用(比如某个对象位置变动),而不是每帧都调用,即在编辑器模式下不能确保脚本的Update函数每帧都能被调用)。
三.核心源码
using UnityEngine;
using UnityEditor;
[ExecuteInEditMode]
public class CameraFollow : MonoBehaviour
private void OnRenderObject()
transform.position = SceneView.lastActiveSceneView.camera.transform.position;
transform.rotation = SceneView.lastActiveSceneView.camera.transform.rotation;
四.测试结果
将脚本挂在需要控制的相机上,测试效果如下:
以上是关于unityUnity界面scene视图[1]的主要内容,如果未能解决你的问题,请参考以下文章