该视频更多的是“教程视频”的实验方法。

项目源码:https://github.com/RPicster/godot4-demo-desert-light

时间戳:
00:00 - 简介
02:05 - 遮挡场景
05:30 - 构图想法...
17:00 - 用真实资产替换草图
19:40 - 修复一些小问题
24:00 - 添加一些地面细节
25:00 - 建造寺庙入口
29:40 - 添加世界环境(后处理)
34:13 - SSAO(环境光遮挡)
35:41- SSIL(屏幕空间间接照明)
37:09 - SDFGI(有符号距离场全局照明)
38:40 - 发光
39:06 - 雾
41:20 - 体积雾
45:06 - 调整(色彩校正)
47:00 - 设置调高主灯光和场景曝光
59:36 - 添加日循环
1:12:12 - 完成场景
1:15:00 - 将草图与结果进行比较
1:18:00 - 原始演示存储库的结尾链接

点击观看:

查看更多.....
   
这是一部分 FPS 控制器教程系列,由 3 部分组成。

源代码下载:https://github.com/lukky-nl/FPS-controller-assets
Poly Haven:https://polyhaven.com/hdris

点击观看:

查看更多.....
   
这是一部分 FPS 控制器教程系列,由 3 部分组成。

源代码下载:https://github.com/lukky-nl/FPS-controller-assets

点击观看:

   
Godot中文社区:GodotCn.com
这是一部分 FPS 控制器教程系列,由 3 部分组成。

源代码下载:https://github.com/lukky-nl/FPS-controller-assets

点击观看:


查看更多.....
   
展示如何解决由于制作游戏时的视野而无法看到在编辑器中创建的所有内容的问题。

点击观看:

   
在Godot4游戏引擎中使用多线程的快速教程!

点击观看:
   
将 Obj 和 FBX 文件从Blender,以及动画从 Mixamo ,导入 Godot 4 的快速教程!


   
Godot 游戏简介

  Godot 是一款免费开源的游戏制作引擎。它也非常轻量级,整个安装包不到 100M,却又功能齐全,易于上手。作为一个后期之秀,Godot 并未得到多少关注,尤其是中文的社区资料就比较少。但如果你在 github 上搜索 “game” 或者 “game engine”,按照星标数排序,就能看到 Godot 以 43.7k star 排名第一,紧随其后的分别是 pixijs(34.7k star)和 phaser (30.7k star)。

  它的引擎整个是开源的,并且是 MIT 协议,这也就意味着你可以在它的代码上改一改,就可以宣布自己做了个游戏引擎,要拿出去商用也都是可以的。引擎制作的游戏可以导出到多个平台,如 Windows、Linux、Android、iOS、Web 等等。

  Canvas、WebGL、WebAssembly

  现如今如果要在以浏览器内核运行游戏,你就会频繁听到以上这些概念。他们都与 JavaScript 有点关系,但彼此又不太相同。Canvas 其实是 HTML5 的一部分,可以用脚本去控制一些 2D 元素的渲染。而 WebGL 则脱胎于 OpenGL,是一套图形的 API 标准,可以在 Web 端渲染 3D 的图像。WebGL 是 OpenGL 的 web 实现,主要用于在浏览器上展示 3D 图形的底层图形技术。

  这样,网页端游戏的第一大类实现,就是基于 WebGL 的,例如微信小程序、Cocos Creator、Pixijs 等。

  拿微信小游戏举例,它其实是封装了一层 runtime 环境,从底层操作系统开始,封装出了一层 Javascript API,它和 WebGL 长得一样。上层的使用者(如 Cocos )就基于这层接口做开发。但这个 runtime 又是一层阉割版的浏览器内核,它实现 HTML5 的部分内容。如果要操作原生 DOM,这在 chrome 里是可以,但在小程序的 runtime 里就不行。参考 https://forum.cocos.org/t/faq/54842

  而 WebAssembly 则可以看作是汇编版的 JavaScript,弥补 JavaScript 在执行效率上的缺陷。可以通过 Emscripten 这样的工具,直接从 C/C++ 程序编译出可以在网页端运行的二进制代码。参考 https://developer.mozilla.org/zh-CN/docs/WebAssembly/Concepts


  这也就意味着,如果以 C++ 写的引擎代码,可以直接编译到网页端运行,以 JS 作为胶水来粘合。这就形成了网页端游戏的第二大类实现,我们说它是基于 WebAssembly 的,把游戏引擎搬到了网页中,例如 Unity、Godot 等。这里的引擎有 WebGL 的部分,也有其他的(例如物理系统等等)。

  【包的导出】

  在 Godot 中导出到网页的操作是比较容易的,选择 Project -> Export,添加 HTML5 的导出模板即可。在添加之后,工具栏上也会出现一个按钮,点击之后可以直接在网页端预览效果,十分地方便。

  打开导出的文件,主要会包含 index.html、index.pck、index.wasm,还有一些 js 的胶水文件。index.pck 是场景、素材、资源文件的打包,而 index.wasm 即是游戏的引擎文件。占据主要大小的是后两者。

  【关于 pck 文件及优化】

  一般来说,pck 文件中会包含场景(.tscn)、脚本(.gd),还有资源(.jpg, .ttf)等。代码和场景都还好,一般占大头的是图片等资源。对于特别大的图片,可以选中图片资源、双击,切换到 Import 选项卡,在 Compression 的模式中选择 Lossy(有损):


  更多的导入选项可以参考文档
  https://docs.godotengine.org/en/stable/getting_started/workflow/assets/importing_images.html

  【关于 wasm 文件及优化】

  默认导出的 wasm 大概有 18M 左右(可能随版本会有差异),里面包含了整个引擎的所有功能。换句话说,哪怕只是做了一个空的项目,导出的 wasm 也是一样的,因为 wasm 就相当于一个 exe 执行文件。其实并非所有的引擎功能都是需要的,例如只是做个 2D 游戏的话,3D 部分的代码就不需要了。

  Godot 提供了通用模板的方式,允许使用者按照他自己的实际情况来开/关某些模块。也就是说,你可以通过重新编译源代码的方式,来生成你自己专属的 wasm。官方文档其实写的很详细了,但是第一次看还是会蛮头大的,这里面其实还是有很多潜在坑的。

  如果想要自己定制引擎,首先需要在 github 上克隆最新的仓库代码,并且切换到指定的分支。

  #Get Godot repogit clone https://github.com/godotengine/godot.gitcd godot# List remote branch and checkout one of them (e.g. 3.4)git branch -rgit checkout 3.4

  然后参考这个教程 https://docs.godotengine.org/en/stable/development/compiling/compiling_for_web.html,按照顺序按照 Emscripten 、Python 和 Scons。

  安装 Emscripten 的时候参考官网通过代码来安装,只需要执行:

  # Get the emsdk repo

  git clone https

  ://github.com/emscripten-core/emsdk.git# Enter that directory

  cd emsdk

  # Download and install the latest SDK tools.

  python emsdk

.

  py install latest

  # Make the "latest" SDK "active" for the current user. (writes .emscripten file)

  python emsdk

.

  py activate latest

  # Activate PATH and other environment variables in the current terminal

  source

  ./emsdk_env.sh

  默认的 Emscripten 安装脚本有点问题,尤其是在先前已经安装过 python 的情况下,这里根据自己的情况改,然后使用 pip install scons 安装 scons

  然后就可以按照之前的文档去进行构建了,可以先运行 scons platform=list 查看有哪些打包环境可用。(对于导出到网页端来说,如果不安装 emsdk,就无法进行到下一步)

  最简单的,可以用 scons platform=javascript tools=no target=release 来打包一个 Release 环境的包。

  那么,如何针对性的选择要开启/关闭哪些功能呢,可以参考文档上的说明,但更快的方式是,使用一个 custom.py 模板。进入到下面这个页面 https://godot-build-options-generator.github.io/ ,在左侧勾选你需要或者不需要的模块,就可以在右侧生成一个 python 文件:


  把这个文件丢到引擎的源代码根目录,再运行 scons 的时候,就能够识别到了。它会在 bin 目录下生成一个 zip 文件。这个文件需要放置到导出窗口下的 Custom Template,如下图所示,在每次导出前配置即可。


  使用的定制模板导出的文件大小,就会在把 3d 模块、视频播放等一些不必要模块去掉以后,生成的 wasm 大小可以压缩到 10M 以内,优化了一半大小。(这里需要注意的是,如果开启了图片有损压缩,那就需要把 webP 功能打开,不然会 error)

  进一步优化

  同时,如果在服务端能够开启 gzip 压缩,则能够进一步地减小包传送的大小,经过测试,10M 左右的包在开启压缩以后,只传送了 2.8M 的数据,只有原来的 1/3 大小了,如下:


  小结

  以上便是,在用 Godot 引擎导出到网页端的一些具体的实践。通过上面的操作,可以显著降低导出包的大小,希望能对你有所帮助。
查看更多.....
   
GraphEdit和GraphNode是非常强大的可视化节点工具,使用他们可以制作出强大的插件以及为游戏添加玩家自定义部分,Godot的VisualScript就是用这两个节点搭配而成的。

GraphEdit可以管理GraphNode之间的连接。感谢作者 Hi小胡 的辛勤付出!


1.可视化节点工具GraphEdit教程_添加节点 

2.可视化节点工具GraphEdit教程_连接节点 

3.可视化节点工具GraphEdit教程_简单交互 

4.可视化节点工具GraphEdit教程_多组连接点 

5.可视化节点工具GraphEdit教程_删除节点 

6.可视化节点工具GraphEdit教程_拷贝节点 

7.可视化节点工具GraphEdit教程_复制粘贴节点 

8.可视化节点工具GraphEdit教程_右键菜单 

查看更多.....
   

Godot游戏引擎4.0新版本的基础入门和进阶系列教程,多国语言设置,HDRI环境设置,Gltf模型导入,模型吸附到地面,动态全局光照,CSG构建场景,玻璃材质,地图编辑器TileMap,自动地形Terrain,Godot引擎开发者必学!

感谢作者 darkstarrd 的辛苦付出和贡献!

1.Godot4.0教程_下载与项目文件夹设置 

2.Godot4.0教程_多国语言的设置 

3.Godot4.0教程_基础操作与漫游 

4.Godot4.0教程_Blender模式的移动旋转缩放 

5.Godot4.0教程_基础环境与HDRI环境设置 

6.Godot4.0教程_Gltf模型导入与吸附到地面 

7.Godot4.0教程_模型碰撞体设置 

8.Godot4.0教程_打开动态全局光照 

9.Godot4.0教程_基本材质贴图设置 

10.Godot4.0教程_通过CSG构筑大型场景(GODOT版布尔) 

11.Godot4.0教程_简易玻璃材质 

12.Godot4.0教程_地图编辑器TileMap 

13.Godot4.0教程_自动地形Terrain 


查看更多.....
   

Godot游戏引擎的界面UI高级应用开发技巧的视频教程,扁平圆环,拖拽滚动,炫酷效果,值得推荐!感谢 Hi小胡 的辛勤付出!

1.Godot引擎UI界面高级技巧_2D界面UI跟随3D物体

2.Godot引擎UI界面高级技巧_带音效的扁平化UI界面

3.Godot引擎UI界面高级技巧_弹出式圆环菜单

4.Godot引擎UI界面高级技巧_鼠标拖拽实现列表的滚动效果

5.Godot引擎UI界面高级技巧_利用按钮组实现游戏设置

6.Godot引擎UI界面高级技巧_制作圆环进度条

查看更多.....
   

Godot游戏引擎的物理系统相关开发技术,讲解了物理刚体、运动刚体、静态刚体、软体等常用物理系统节点的基础操作,Area检测区域和碰撞以及遮罩的技术,自然物理重力游戏开发必学,值得推荐!感谢作者 小沙盒工作室 的辛勤付出和贡献!

1.Godot游戏引擎物理系统_物理碰撞层和遮罩

2.Godot游戏引擎物理系统_Area检测区域节点的功能和作用

3.Godot游戏引擎物理系统_StaticBody静态刚体节点的功能和作用

4.Godot游戏引擎物理系统_SoftBody软体(流体)节点的功能和作用

查看更多.....
   

Godot游戏引擎经典的3D顶视角射击游戏系列教程的第二部,受欢迎度很高的一套进阶教程,是在上一篇视频教程[第一部]的基础上的进阶提升,非常值得推荐。感谢 卡萨德_王 的辛苦搬运和翻译,感谢原作者的辛勤付出!

1.Godot3D射击游戏_基本关卡生成器工具

2.Godot3D射击游戏_随机关卡

3.Godot3D射击游戏_颜色变化

4.Godot3D射击游戏_使用泛洪填充算法连接地图

5.Godot3D射击游戏_从生成器工具保存关卡

6.Godot3D射击游戏_导航寻路和导入

7.Godot3D射击游戏_细节优化完善

8.Godot3D射击游戏_额外调整

查看更多.....
   

Godot游戏引擎的一套经典的3D顶视角射击游戏教程,里面介绍的函数功能和实现原理非常有价值,值得推荐。只是原作者编写脚本时喜欢把功能分散到各个节点上,使脚本略显得有些细碎。感谢 卡萨德_王 的辛苦搬运和翻译,感谢原作者的辛勤付出!

1.3D射击游戏_项目介绍

2.3D射击游戏_角色控制

3.3D射击游戏_火炮射击系统

4.3D射击游戏_敌人寻路

5.3D射击游戏_击杀敌人

6.3D射击游戏_敌人的生成繁殖

7.3D射击游戏_敌人攻击

8.3D射击游戏_玩家生命值

9.3D射击游戏_细节优化

查看更多.....
   

Godot游戏引擎的Shader着色器的基础教程,游戏特效渲染技术,成长为游戏开发高手必备技术,感谢 开源大世界 辛苦翻译和搬运,感谢原作者的付出!

1.Shader着色器编程简介

2.水的动画和UV坐标

3.基于纹理的变形

4.将两个波合并在一起

5.ShaderScript着色器脚本中的函数

6.水的阴影和遮罩

7.3D着色器_3D模式的水

8.3D着色器_使用深度缓冲区

查看更多.....
   

Godot引擎开发3D跑车赛车游戏的实例教程,欢迎有需求的戈友们观摩学习,感谢 开源大世界 辛苦搬运和翻译,感谢原作者的付出!

1.Godot3D跑车教程_导入并设置赛车

2.Godot3D跑车教程_搭建跑道

3.Godot3D跑车教程_改善跑道

4.Godot3D跑车教程_完成跑道

5.Godot3D跑车教程_最终VR效果展示

查看更多.....
   

开发3D第三人称射击游戏必备,第三人称角色人物FPS射击教程,感谢 爱分享而已 辛苦的中文重置版,感谢原作者的付出。

[项目资源包下载地址:https://godotengine.org/asset-library/asset/716]

【观看之前,强烈建议请先观摩学习 与此完美衔接 的上一系列教程《Godot游戏引擎3D第三人称游戏角色控制视频教程[7集]》,衔接效果更佳】

1.在地形上跳跃、滚动(以及冲刺切换)

2.动画树

3.编译动画树

4.反向运动学、瞄准、肩负、倾斜

5.径向菜单、武器切换

查看更多.....
   

开发3D第三人称游戏必备,第三人称角色人物控制教程,感谢 爱分享而已 辛苦翻译和搬运,感谢原作者的付出。

[项目资源包下载地址:https://godotengine.org/asset-library/asset/686]

1. 简介

2. 导入3D动画角色

3. 鼠标控制相机、H/V(航向轴/俯仰轴)

4. 运动、平稳旋转

5. 动画混合

6. 使用线性方程式进行速度动画混合

7. 人物的滚动

【此教程还有 与此完美衔接 的下一系列《Godot游戏引擎3D第三人称FPS射击游戏系列教程[5集]》,欢迎前往观摩】

查看更多.....
   

一个3D立体滚球游戏实例教程,通俗易懂,适用于3D游戏开发入门,感谢 AsianWhale 的辛苦翻译和搬运,感谢原作者的付出。

1. 简介、Node节点、3D物理引擎

2. 脚本编程、控制角色移动

3. 导入模型、滚动

4. 摄像机镜头跟随、光源、世界环境

5. 材质地图、画墙

6. 菜单屏幕UI、文字、按钮、信号

7. 敌人、动画、碰撞、关卡

8. 收集硬币、显示、计数统计排名

查看更多.....
   

本系列视频教程为Godot3D游戏引擎开发的基础入门教程,适合Godot萌新入门学习。

感谢作者(人类的大敌)不辞辛苦地在各处为大家答疑解惑,让我们共同努力推动Godot游戏引擎在国内的普及和发展,这也正是本站创建上线的初衷!

1. 搭建简单3D场景

2. 材质属性参数

3. 可视化着色器

4. 环境和背景

5. 父子关系

6. 添加脚本

7. 输入映射

8. 变量和数据类型

9. 函数和远程场景

10. 导入静态模型

11. 导入带动画的模型

查看更多.....
   
[投稿须知]
投稿邮箱:hareqj@163.com
教程投稿:可提供B站视频BV号,会直接生成视频播放页。
游戏投稿:须原创,请提供 作品web版文件、作者、简要操控说明。
内容举报邮箱:hareqj@163.com,请告知内容编号(右上角)及违规说明。
[Godot中文教程]
Copyright Godot社区 Godot2D.com All Rights Reserved.
京ICP备13032831号