pull/2/head
jaysunxiao 2022-01-23 21:42:20 +08:00
parent 70764a46a8
commit 439dc47278
8 changed files with 167 additions and 22 deletions

View File

@ -7,3 +7,9 @@
- godot start学习交流qq群710511812 - godot start学习交流qq群710511812
# 视频文档修正补充
### 4.安装和HelloWorld
- 建议再看看底61集的视频学会调整运行时候的屏幕位置避免运行时候屏幕位置出现问题

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/window01.jpg-32823a860b8204a24190b109b2a373ae.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://doc/demo05_scene_node/image/window01.jpg"
dest_files=[ "res://.import/window01.jpg-32823a860b8204a24190b109b2a373ae.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 419 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/window02.jpg-9bded19978631c8ea19cb8375681215e.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://doc/demo05_scene_node/image/window02.jpg"
dest_files=[ "res://.import/window02.jpg-9bded19978631c8ea19cb8375681215e.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

Binary file not shown.

After

Width:  |  Height:  |  Size: 96 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="StreamTexture"
path="res://.import/window03.jpg-11b589a1e9c2d147be87f8bc2fb4ab07.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://doc/demo05_scene_node/image/window03.jpg"
dest_files=[ "res://.import/window03.jpg-11b589a1e9c2d147be87f8bc2fb4ab07.stex" ]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_mode=0
compress/bptc_ldr=0
compress/normal_map=0
flags/repeat=0
flags/filter=true
flags/mipmaps=false
flags/anisotropic=false
flags/srgb=2
process/fix_alpha_border=true
process/premult_alpha=false
process/HDR_as_SRGB=false
process/invert_color=false
stream=false
size_limit=0
detect_3d=true
svg/scale=1.0

View File

@ -1,4 +1,59 @@
# 1. 屏幕坐标 # 1. 屏幕窗口设置
- Editor | Editor Settings | Window Placement设置编辑器运行游戏窗口的位置
![Image text](image/window01.jpg)
- Project | Project Settings | Display设置游戏窗口的大小等相关参数
![Image text](image/window02.jpg)
- DPIdots per inchDPI在高分辨率显示器和手机普及之后调了之后画面上的字体等会变大变小。
```
比如我使用一个27寸的4k显示器如果DPI 100%的话那么字体就是27英寸的1080p显示器的1/4大小完全没法看了。
这个时候使用DPI 200%,字就又大又清楚了。
这个过程在windows上面就是DWMdesktop windows manager做了scaling。
```
- Vsync垂直同步
```
垂直同步又称场同步Vertical Hold从CRT显示器的显示原理来看单个像素组成了水平扫描线水平扫描线在垂直方向的堆积形成了完整的画面。
显示器的刷新率受显卡DAC控制显卡DAC完成一帧的扫描后就会产生一个垂直同步信号。
我们平时所说的打开垂直同步指的是将该信号送入显卡3D图形处理部分从而让显卡在生成3D图形时受垂直同步信号的制约。
当我们选择"等待垂直同步信号"即打开垂直同步显卡绘制3D图形前会等待垂直同步信号
当该信号到达时显卡开始绘制3D图形如果显卡性能较为强劲在下个垂直同步信号到来之前已经完成了对该帧的渲染
显卡就会暂停处理,等下个垂直同步信号到来后才开始渲染下一帧。
由此可见当打开垂直同步时游戏的FPS要受刷新率的制约对于高端显卡而言限制了其性能的发挥。
假设我们选择不等待垂直同步信号(也就是我们平时所说的关闭垂直同步),那
么游戏中作完一屏画面,显卡和显示器无需等待垂直同步信号就能够開始下一屏图像的绘制,自然能够全然发挥显卡的实力。
可是不要忘记,正是由于垂直同步的存在,才干使得游戏进程和显示器刷新率同步,使得画面更加平滑和稳定。
取消了垂直同步信号,固然能够换来更快的速度,可是在图像的连续性上势必打折扣。
这也正是非常多朋友抱怨关闭垂直后发现画面不连续的理论原因。
```
![Image text](image/window03.jpg)
- 屏幕分辨率屏幕分辨率是指纵横向上的像素点数单位是px4:3 是最常见屏幕比例
![Image text](image/pixel.jpg)
- 屏幕像素和图片像素有什么关系
```
在屏幕显示图片时,如果屏幕的长宽比、像素数和图片一致,只需要每个屏幕像素用子像素的敏感组合表示出图片上的像素就可以了。
那如果图片像素数和屏幕像素数不一样呢?
当图片像素大于屏幕像素时,屏幕也是进行合并显示的。
比如一张1200W像素的图片要在300W像素的显示器长宽比一致上显示那么系统就需要将图片像素进行四合一计算然后再显示。
当图片像素数大于屏幕像素数时,高像素图片和低像素图片的显示精细度是一样的!
```
- 在godot中一般position的1个单位长度等于1个图片像素
# 2. 屏幕坐标
![Image text](image/坐标系.png) ![Image text](image/坐标系.png)
![Image text](image/坐标系-godot-1.png) ![Image text](image/坐标系-godot-1.png)
@ -22,25 +77,7 @@ unity的2d坐标系虽然在左下角但是unity的屏幕坐标系依然在
- 相对坐标系又称为局部坐标系或者本地坐标系相对于父节点的坐标godot的坐标都是相对坐标 - 相对坐标系又称为局部坐标系或者本地坐标系相对于父节点的坐标godot的坐标都是相对坐标
- 屏幕坐标:屏幕的左上角为坐标系原点 - 屏幕坐标:屏幕的左上角为坐标系原点
# 3. 全局和相对坐标的相互转化
- 屏幕分辨率屏幕分辨率是指纵横向上的像素点数单位是px4:3 是最常见屏幕比例
![Image text](image/pixel.jpg)
- 屏幕像素和图片像素有什么关系
```
在屏幕显示图片时,如果屏幕的长宽比、像素数和图片一致,只需要每个屏幕像素用子像素的敏感组合表示出图片上的像素就可以了。
那如果图片像素数和屏幕像素数不一样呢?
当图片像素大于屏幕像素时,屏幕也是进行合并显示的。
比如一张1200W像素的图片要在300W像素的显示器长宽比一致上显示那么系统就需要将图片像素进行四合一计算然后再显示。
当图片像素数大于屏幕像素数时,高像素图片和低像素图片的显示精细度是一样的!
```
- 在godot中一般position的1个单位长度等于1个图片像素
# 2. 全局和相对坐标的相互转化
- 全局坐标和局部坐标(相对坐标)可以相互转化 - 全局坐标和局部坐标(相对坐标)可以相互转化
@ -52,7 +89,7 @@ Node2D及其子节点的位置可以使用position和gloabl_position来控制。
需要注意的是,全局位置是以场景的左上角为原点的,并不是以根结点的位置作为原点的 需要注意的是,全局位置是以场景的左上角为原点的,并不是以根结点的位置作为原点的
``` ```
# 3. 场景和节点 # 4. 场景和节点
![Image text](image/场景.png) ![Image text](image/场景.png)
![Image text](image/节点.png) ![Image text](image/节点.png)
@ -61,7 +98,7 @@ Node2D及其子节点的位置可以使用position和gloabl_position来控制。
- 一个游戏可以包含多个场景但是一个场景中必须有一个根节点一个根节点可以包含多个不重名的子节点unity的子节点可以同名不同名更加符合习惯为godot点赞。 - 一个游戏可以包含多个场景但是一个场景中必须有一个根节点一个根节点可以包含多个不重名的子节点unity的子节点可以同名不同名更加符合习惯为godot点赞。
# 4. 基本组件 # 5. 基本组件
- CanvasItem节点CanvasItem -> Node -> Object - CanvasItem节点CanvasItem -> Node -> Object
- Canvas是画布的意思所以CanvasItem代表了就是可以被绘制节点可以设置可视化界面和材质的颜色 - Canvas是画布的意思所以CanvasItem代表了就是可以被绘制节点可以设置可视化界面和材质的颜色