godot-start/doc/demo01_hello/2.editor.md

188 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

# 1. godot的界面介绍
![Image text](image/godot-editor.PNG)
### 侧面分栏Dock
- 点击侧面分栏的右上角可以调整分栏的位置
- 左侧面分栏具体包括:
1. 文件系统FileSystem显示了当前项目中所有的资源文件
2. 导入Import显示了文件系统分栏中所选资源文件的导入设置。
3. 场景Scene按照层级结构显示当前场景中的所有节点可以简单的理解为一个游戏里的场景/关卡
- 右侧面分栏具体包括:
1. 属性Inspector显示了场景分栏中所选节点的属性。
2. 节点Node显示了与当前场景分栏中所选节点对应的一些“信息”。
### 中间面板:
- 主工作区Workspace
- 2D当在场景分栏中所选节点为2D类型时会自动进入此工作区。
- 3D当在场景分栏中所选节点为3D类型时会自动进入此工作区。
- 脚本Script此工作区可以对当前项目中的脚本进行编辑。
- 资源库AssetLib可以搜索并浏览网站上的资源
- 底部面板Bottom Panel
- 隐藏
- 与Unity和UE4不同的是Godot这种布局关系当前是相对固定的即它不能随意调整任意一个面板的位置或脱离成独立的窗口。虽然这看似是一个缺点不过从某种程度上讲也让引擎变得更简单了。
- 如果布局乱了恢复一下就可以了Editor | Editor Layout | Default
# 2. 场景和资源
- 场景 Scene ,就是一个游戏里的场景 / 关卡
- 创建场景在res面板的文件夹下右键New Scene创建场景
- 资源 Asset指游戏里用到的素材、脚本等数据文件
```
比如,常用的几种类型:
Texture 图片素材 ( *.jpg / *.png)
Audio音频素材 ( *.mp3)
程序脚本GdScript ( *.gd)
```
- 可以对素材执行删除 Delete 、重命名 Rename 等操作
# 3. 场景视图和游戏视图
- 场景视图Scene 即场景编辑器窗口默认地创建了一个场景empty
- 鼠标滚轮 :放大/缩小视图
- 鼠标右键拖拽:平移视图
- 网格每一个大网格包括8*8的小网格每个小网格8个像素
```
每一个小格子为8像素 x 8像素
每一个大格子为64像素 x 64像素
```
- 场景视图中的蓝色框区域是可见的范围,对应的就是运行游戏的时候的游戏视图
- 本教程所有的每节课都很简单这是因为对godot的知识做了拆解把复杂的知识拆解为一个一个简单的知识点
- 然后把每个简单的知识点单独作为一节课,所以整个课程的难度是一种渐进式的
- 复杂的东西都是由一个一个简单的知识构成的,不要觉得课程简单,如果简单的东西不熟练不练习,后面的课程很可能会更不上
# 4. 游戏对象(节点)
- 游戏对象 Node就是场景中包含的内容godot所有操作都是基于节点Node
- 演示向Scene窗口里添加几个图片
```
1 准备图片素材
2 把图片拖到2D游戏场景中
3 在Scene窗口中观察新加的游戏对象
```
- 游戏对象的简单操作:
```
1 选中游戏对象
从左侧的层次管理器Scene窗口中选中游戏对象
2 移动游戏对象
选用移动工具,拖动小方块
3 修改对象名字
在Scene窗口中可以修改名字、删除对象等操作
```
# 5. 坐标系
![Image text](../demo05_scene_node/image/坐标系-godot-1.png)
- 选择移动工具,移动一个对象
```
在 Inspector 属性面板:
观察对象的坐标 Position: x, y
可以发现,对象的坐标会随之变化
```
- 世界坐标系
```
y轴向下为正
x轴向右为正
一个像素在真实世界中可以自行约定比如约定1像素=1米
```
- 相对坐标系相对于父节点的坐标godot的坐标都是相对坐标
- 全局坐标和局部坐标可以相互转化
```
Node2D及其子节点的位置可以使用position和gloabl_position来控制其中前者是该节点相对于父节点的相对位置后者是全局位置。
简而言之position的坐标系是以父节点的位置坐标为原点的坐标系方向还是水平向右为x轴正方向竖直向下为y轴正方向。
需要注意的是,全局位置是以场景的左上角为原点的,并不是以根结点的位置作为原点的
```
# 6. 节点的基础操作
- Q选择
- W移动改变 Position
```
Move Mode 对象的移动:
单独改变X坐标
单独改变Y坐标
拖拽中间的方块,可以任意拖动
也可以直接在 Inspector 中输入坐标,会更精确一些
```
- R旋转改变 Rotation
```
Rotate Mode 对象的旋转
沿轴心点旋转
```
- S缩放改变 Scale
```
Scale Mode 对象的缩放
沿 X 轴缩放
沿 Y 轴缩放
拖拽中间的小方块X 和 Y 等比例缩放
```
- F居中选取对象
- V移动锚点Shift + V 拖拽锚点
- Ctrl + 鼠标拖曳以pivot为中心旋转当前对象
- Alt + 拖曳边框缩放点,保持选中目标中心位置不变进行缩放
### anchor锚点
- 是一个点锚点描述的是一个对象的Margin相对于锚点的坐标
- 锚点的lefttoprightbottom是相对于父节点的值
- 主要是用于描述节点的位置
- 当对一个节点的子节点进行设置锚点时,子节点的锚点范围只能够是父节点的控件区域内。
- 注意任何布局也都是相对于父窗口矩形的
- **主要用于描述子节点相对于父节点的位置**
### pivot轴心点
- 中心点是一个物体的中心,当我们对物体进行操作的时候,都是以中心点为中心进行对物体的操作
- 轴心点可以理解为把物体抽象成一个点,物体的位置就是指其轴心点的位置,就是该物体坐标系的原点
- **主要用于旋转**
- 后面的课程会继续介绍轴心点
# 7. 节点操作的工具,多节点选择,轴心点,平滑,尺子
- 多节点选择工具show a list
- 轴心点工具
- 平滑工具
- 尺子工具
# 8. 智能对齐Snap和锁定节点
- 智能对齐Smart Snap
- 网格对齐Grid Snap
- 锁定节点,使其不能移动
- 子节点不可选中