unityUnity界面scene视图[1]

Posted 汪汪想变强

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unityUnity界面scene视图[1]相关的知识,希望对你有一定的参考价值。

简介


Scene视图是正在创建的世界的交互视图。
Scene视图的操作是unity的一大基本功!

功能


目录:待改!

  1. 如何在Scene中移动,找到合适的操作对象
  2. 如何在Scene中选择游戏对象
  3. 如何在scene这操作游戏对象的位置设定与变换设定
  4. Scene控制栏
  5. Scene视图摄像机
  6. Gizmos菜单

unity坐标系统
使用的是笛卡尔坐标系,分为左手坐标系与右手坐标系

图片1

坐标轴工具
可右键:

图片2

快速还原键:


导航工具

  1. 方向键:用方向键在场景中移动,提示按住shift可加速
  2. 手型工具(Q)+鼠标
  • 移动:选中后,鼠标左键并移动
  • 旋转:alt/option,左键单击并拖动围绕点前轴心点旋转视角;2d模式不可用
  • 缩放:alt/option,右键单击并且拖动可缩放
  1. 3D模式下,按住鼠标右键进入“飞行模式”;使用WASD键向左/向右/向前/向后移动,使用Q和E键箱上/向下移动。按住shift键可以加快移动速度。
  2. 聚焦指定对象:选中对象后,点F;要将视图锁定到游戏对象(即使游戏对象正在移动),请按Shift+F。

对象选择

  1. 选择:在左侧中选中对象

  2. 在搜索框直接搜索,左右搜索框均可

对象拾取
作用:对于一些对象已经修订好了,不需要再次被选择。

可拾取

不可拾取

移动和变换
就这么几个键,自己试

视图工具栏

  1. 2d3d转换 打开光源 打开声音
  2. effects按钮和菜单
  3. 可视化选项

    操作同“拾取”,但作用是“可见/不可见”
  4. scene 摄像头
  • secne camare和普通camare的区别
    前者是开发者视角,后者是玩家视角
  • 就是场景里面的那个摄影机
  1. gizmos菜单
    就是unity提供给我们的图标,例如那个摄像机就是。

game视图
图标

  1. 运行按钮

    作用:进入游戏操作
    注意:在运行模式下,所做的任何操作都是暂时的,在退出运行模式后将会重置。

  2. 播放最大化

    点击后再点击播放,将进入全屏运行。

  3. 状态

    作用:有关游戏的一些状态,方便我们对游戏进行优化

4.gizmos

hierachy窗口(层级窗口)


作用:游戏对象的管理器

主要功能:

  1. 父子包含功能
  2. 管理游戏对象
  • 创建、复制粘贴、选取、删除(右键)
  • 更改嵌套关系(拖动)
  • 是否可选,是否可见
  • 排序
  1. 多场景编辑

project窗口


作用:管理项目相关的一些文件的,与在windows的操作一致。

  1. assects:资源文件
  2. package:库文件(运行游戏所需要的重新库)
  3. 按种类搜索(以下从左到右)
  4. 按标签搜索
  5. 按收藏搜索
  6. 是否可视

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]的主要内容,如果未能解决你的问题,请参考以下文章

unityGame视图与Scene视图同步

UnityUnity使用动画实现场景转换

UnityUnity 生命周期

Unity 模仿scene视图相机视角移动

Unity 模仿scene视图相机视角移动

关于Unity3D使用时Scene视图清楚,Game视图不清楚的问题