Godot Engine

Godot Engine

Godot Engine

欢迎来到Godot Engine社区! 
关注
30帖子·--新帖
游戏详情
全部
官方资讯
攻略创作
组队交友
问题反馈

你是否一直想知道Godot引擎能实现什么?更小的构建体积、更简洁的工作流程、更出色的调试选项。在Godot游戏引擎中,你确实可以进行大量自定义设置!每个使用该引擎的开发者都应该了解这些实用的小技巧。 Godot的全部潜力 你是否一直想知道Godot引擎能实现什么?在本教程中,你将学习一些技巧,以充分发挥Godot引擎的全部性能。无论是更小的构建体积、更简洁的工作流程,还是更出色的调试选项,你都能在Godot游戏引擎中进行大量自定义设置,这使其成为最灵活的引擎之一!

将构建大小减少高达50% 你想制作一款游戏,但构建大小却变得高如山岳?这不仅让你感到沮丧,对所有想要下载你游戏的人来说也是如此 :( 在这里,我们将展示如何将构建大小减少高达50%。为此,我们将使用Scons以及Godot构建系统的灵活性。 性能分析器的魔力 查找和修复错误本可以如此简单……而事实也确实如此!Godot的性能分析器是调试游戏的非常有用的工具。 性能分析器的魔力主要在于在游戏运行时跟踪数据和统计信息。在调试和优化游戏时,它确实是一个强大且有帮助的工具。 通过这个小教程,我们将通过示例解释如何检测和修复错误。在社区中寻求帮助 最后需要说明的是,我们并非无所不知,也(尚未)找到所有问题的解决方案。不过,Godot社区每天都在发展壮大,其中不乏许多聪明的人,他们能够巧妙地解决你可能遇到的某些问题。因此,我们将在本视频中向你展示如何以及在何处可以找到关于Godot的其他帮助。

--
--

我们将从头到尾制作一个显示本地时间的时钟。如果你希望更熟悉Godot Engine和GDScript,这是一个不错的起点。

项目文件 [可选] 后续数学解释 在后续视频中,我会解释如何计算时钟指针的角度。 编辑完上一个视频后,我意识到自己没有充分解释其背后的数学原理。希望这个视频能让大家更容易理解。 :)

--
--
--
--
--
--

this guide is from who wanna to get started with gamedev, i have a ton of bookmarks and tutorials, if you wanna to make games or experiment with a game engine free, this guide is for you! ;) WARNING this guide is going to updating with some free-time, searching new resources and tutorials and explaining some cool things so no worry for that! Intro I made this guide for obvious reasons, i mean, ye i always like to helping people finding from art/gamedev things, putting some images, videos and some articles explaining from gamedev, gamedev is pretty cool and beautiful, you should to love this world from making games before, 2d or 3d, whatever do you want. Alright, you wanna to know who i am Well, i'm laserr, a artist and gamedev, i can draw, i can to coding and etc, but i really like to helping people with art/gamedev things, finding resources or something useful here.. ;) so ye, i don't think we don't need so much money for making games as hobby, i mean, buying game engines for making games it's don't for me and for us. And that's it Godot is for you, it's free, it's open source and it's powerful when you are making 2d and 3d games :) We love to open source projects, no buy apps, no ads and more it's beautiful right? ;) Step 1: Learn how to use YOUR game engine favourite first i'd recommened learning how to use a game engine first, if it's complex or if it's easy to use, go ahead. i gonna to put a example, i used RPG Maker 2003 before, it was so easy, no requiered programming concepts and some cool features. so ye, i know, it's a old engine but it's cool right? i really like playing RPGs games, that's a good example to me... if you wanna to make a game genre specific, you'll have to search a good game engine for your game! for example, if you wanna to make a... idk, a fighting game there's NOT a engine for fighting games, BUT, you NEED pick a game engine to make your fighting game. We have Unity, Unreal or Godot, so just pick one and have fun! Step 2: Learn programming concepts ye, learn programming this second-step it's SO much helpful and important. because EVERYTHING and EVERY PLACE on the world, it's solving with code rn... like websites, apps, robots, incluide videogames and etc :) with our nerd concepts, a videogame it's a software-program with mechanics designs, with 2D or 3D assets, it includes code and everything, but it's fun to making games! playing games it's a hobby, it's something to have fun for us. so yea, don't fear to code, it's easy this one. ;) for me, if you wanna to learn programming basics, I'd recommened you to start with a any python-course from youtube this one: Python-course by freecodecamp Step 3: Make it simple Ye, make it simple if you're using a game engine rn because your question would be: why i'm making a game so long? there was not a answer because i don't know what i'm doing- i was, USING a rpg game engine, i was TESTING cool things from this rpg engine... so ye, it's a bit bored playing rpg games for other people. but ye, it's very cool.. if you're a fan of RPG/Sandbox games, because: - You love so much stories, A RPG game NEEDS a story or idea basically, or maybe, you're passionate to explore worlds, defeat enemys or defeat bosses with a big HP (gg) my tip is, make it simple right? if you are making games alone, please read this one first: for example, if you are making a story for your game, let me tell you it's not neccesary making a story so much realism or making a game with so much hours if you're using any game engine for your first time as gamedev, but good news! you can to make (or not) a short story, make it simple this one. just like music for example, if you wanna to make music, you'll have how to play piano, how to playing drums and more musical things, but it's not neccesary a song very... VERY nice to amazing people. it's YOUR song, YOUR heart and it's for you it's just like with own games, if you wanna to make games, please do it and make it simple, because it's so much easy and your heart has decided it..:D Step 4: participating on game-jams when you're so ready to making games, please participate any game-jam! A game jam is an event where YOU or your team-mates needs to create a videogame, depending on the format, event duration like 24 to 72 hours and more a game jam its so much helpful for us, because it's a good way to LEVEL UP your skills as gamedev! To search gamejams, i use these websites: Itch.io Gamejams[itch.io] and Ludum Dare[ldjam.com] Resources Using resources it's a good way to start as gamedev too! that's ok if you don't know to draw sprites or your artistic things aren't so good, BUT... you know how to programming, you know how to making games on YOUR way, and that's ok! You can to call a friend-artist or a friend-musician if you're +lucky! or you can use these assets without any problem if you're starting! ART/SPRITES: Itch.io Assets![itch.io] CraftPix Assets[craftpix.net] OpenGameArt[opengameart.org] Spriters-Resources[www.spriters-resource.com] https://www.kenney.nl/assets Color-Palettes![colorhunt.co] MUSIC/SFX: Incompetech[incompetech.com] https://www.sounds-resource.com/ He sharing his music and FX[www.newgrounds.com] Tutorials alright! we are here from tutorials section!!! i'll tell u some tips so important and that is: - watch these tutorials step by step, don't go so fast! (like me) - try NOT to watch a tutorial to other tutorial everytime, the tutorials are helpful when you DON'T know anything - the results from video-tutorials aren't same than creator, any result each tutorials is so different, that's because you NEED apply from step by step any tutorial on your way! here are video-tutorials, have fun! Godot Docs![docs.godotengine.org] Brackeys: How to make a video game playlist by Brackeys How to MAKE YOUR GAME LOOK GOOD HOW TO GAME JAM LazyAlarm: Making a 3D platformer in 2 days by LazyAlarm Making a game for school by LazyAlarm 100 hours with godot by LazyAlarm I spent 10 months making a DS style game by LazyAlarm Goodgis: How to get started with gamedev by Goodgis How i learned to create GAMES 25 GAMEDEV TIPS for beginners David R. B: 2 years of gamedev fps How i learned to making games, one year of gamedev First 365 days of developing my indie game Polymars: Making a DS game in 2020 - Flappy bird DS Making VR games for the PS Vita How i learned 3D Gamedev (these videos are motivating tho :'0) DevDuck channel

1
--
--
--
--
--
--
--

在GODOT中使用C++开发游戏?本指南将介绍相关可能性以及各种方法的优缺点,还会讲解使用Godot Engine和C++进行开发所需的一切知识。该指南包含7个短视频和一些示例代码,代码可免费在GitHub下载。 最常见方法概述: 由于Godot主要使用C++编写,且其源代码可供下载和修改,因此有多种方式可将实际游戏玩法代码集成到Godot Engine中。 在以下视频中,我将解释常见的实现方式及其优缺点。

获取 C++ Godot 绑定以实现流畅的 IDE 工作流程 首先,需要完成一些设置工作。这些 Godot 绑定能为你提供诸如自动补全和 IDE 中的实时调试等便捷功能。这种工作流程的一大优势在于你拥有极高的灵活性,可以使用自己最喜欢的 IDE! 方法一:包含游戏玩法代码的 DLL 此方法非常适合业务逻辑和日常游戏玩法代码。由于你可以使用多个动态链接库(DLL)来构建游戏,因此灵活性很高,而且无需重新构建整个引擎。所有内容都通过GDNative功能集成到引擎中。 第二种方法:直接在引擎中使用自定义模块。 此方法非常适合单一高性能组件,如人工智能、寻路、搜索和排序算法。在这里,你可以构建自己的Godot节点和引用。这非常强大,因为它提供了一种简洁的方式来隐藏复杂结构。但你也必须在更改后重新构建引擎。 构建完成后,所有内容都将看起来像Godot原生功能。这对于较大的团队来说是一个有用的工作流程。

--
--
--
--

展示使用运动学体2D(KinematicBody2D)的简单玩家控制器。

资源 项目文件 获取Godot Engine 2.2及以上版本

--
--

本指南将教你如何应用泛光或发光效果,你可以轻松地为任何物体添加发光效果,无需编写代码!请按照以下简单指南操作。

--
--

指南中描述了将碰撞体附加到物体,尤其是骨骼上的方法。 该如何操作呢? 最近我一直很困扰,因为我想让碰撞体不是静态的,而是与角色相关联。我想分享一下我的实现方法,这样如果有人想做类似的事情,就不必在网上到处搜索或提出无数问题了。也许我很笨,或者只是个新手,但解决方案其实非常简单,那么……言归正传: 首先需要为Skeleton3D(骨骼3D)的每个所需碰撞体添加BoneAttachment3D(骨骼附着点3D)节点,在Bone Name(骨骼名称)属性中选择所需骨骼,创建子节点RemoteTransform3D(远程变换3D)(因为我的角色如果碰撞体不是直接从属关系则无法识别碰撞)。 然后在Remote Path(远程路径)属性中选择直接从属角色的碰撞体。现在这应该能正常运行了,碰撞体的位置会和“BoneAttachment3D”保持一致,而“BoneAttachment3D”的位置又由骨骼位置决定。不过我想分享一下如何设置骨骼的基本位置。

--
--
--
--
--
--

1. 必要工具 首先我们需要Android Studio,因为通过它我们可以安装Godot创建APK所需的SDK。 2. 安装Android Studio和SDK 运行安装程序后,安装Android Studio。记住安装过程中指定的SDK路径。安装完成后,进入SDK管理器(主屏幕上的“更多操作”按钮),在“SDK工具”选项卡中选择以下组件:Android SDK构建工具、NDK、Android SDK命令行工具、CMake、Android SDK平台工具。点击“应用”,接受条款并下载。 附:随着时间推移,所需软件包的列表可能会发生变化。密钥生成 要创建APK文件,需要使用keytool工具生成密钥,该工具随Android Studio一同提供。创建APK仅需调试密钥,而发布游戏则需要发布密钥。 keytool路径:<Android Studio文件夹>/android-studio/jre/bin/keytool 调试密钥生成 1. 通过命令行打开keytool: cd <Android Studio文件夹>/android-studio/jre/bin/ 2.使用以下命令生成密钥: keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 在此处,【alias】是用户名,而【-keypass】和【-storepass】是密码 生成发布密钥 1. 通过命令行打开keytool cd <Android Studio文件夹>/android-studio/jre/bin/ 2. 使用以下命令生成密钥: keytool -genkey -v -keystore release.keystore -alias <用户名> -keyalg RSA -keysize 2048 -validity 9999<用户名>需要替换为您的公司/用户名称 3. 输入命令后,系统会向您提问,请如实回答 4. 导出设置 打开Godot,依次进入:编辑器 ⇒ 编辑器设置 ⇒ 导出 ⇒ Android 这里有两个需要设置的参数:Android SDK和调试密钥库在Android SDK中指定SDK路径,该路径在安装Android Studio时可以看到;在Debug Keystore中指定上一步生成的调试密钥。 接下来进入项目⇒导出,并添加Android平台。然后在Android的Keystore选项卡中指定调试密钥和发布密钥(如果有的话)。 现在您可以导出APK文件了。

--
--

什么是场景 场景在Godot中是游戏的独立元素:关卡、菜单、设置窗口等。 每个场景由节点和资源组成。要让玩家从一种游戏状态切换到另一种状态,需要在场景之间进行切换。 场景间切换步骤 1. 创建第一个场景和第二个场景 2.添加一个将触发跳转的节点。最常见的是按钮(Button),但也可以是任何具有pressed信号的其他节点。3. 为场景或节点创建脚本。选择场景或按钮并为其添加脚本。4. 连接pressed信号(针对按钮)。在编辑器中选择按钮→“Node”选项卡→pressed信号→连接到脚本。5. 在按下时调用的函数内部,编写跳转代码:get_tree().change_scene_to_file("res://场景名称.tscn") 6. 运行包含按钮的主场景,点击按钮,即可切换到另一个场景。

--
--

如何导出为单个Windows可执行文件(.exe) Godot 4.0及以上版本 1. 打开项目 2. 在应用程序功能区中选择【项目】 3. 选择【导出...】 4. 选择你的Windows构建预设(如果没有,则添加一个) 5. 在【二进制格式】部分下勾选【嵌入PCK】

--
--

In this guide you will learn how to save and load data using Godot Engine Variables Firstly lest get the variables needed for saving and loading data. var Player_Directory = "user://Player/" var Money_File = Player_Directory + "Data.dat" var Data = 0 1 Line : The first variable is for the path that saves our data. By " user:// " it means that user path of your computer is windows it's " C: Users (Your Name) AppData Roaming (The name of the Godot Project) " The " Player/ " is a custom directory is side of the file mention before that we are going make using Godot later.(It can be anything you want) 2 Line : It's the file that we are going to save date and load data By " Player_Directory + " it tells that the file is in the Custom folder that we make to the Program. You can have it just " Data.dat " if you want the file in main folder. " Data.dat " is the file name that we are going make later and save data to (You can have it to any name you want) 3 Line : It's the Float , String or the data that we are going to save. " Data " is just a name you can have anything instead of just Data " 0 " is the data that we are going to save and load you can have it whatever you need instead of 0 Creating the Directory Lets see how to make that custom folder in the main folder mentioned earlier. func Player_Dir(): var Player_Dir = Directory.new() if !Player_Dir.dir_exists(Player_Directory): Player_Dir.make_dir_recursive(Player_Directory) 1 Line : It's the function that we are going to call later in order to make the custom folder.(You can have any name to it) 2 Line : It's just for ease of access. (You can have name to the variable) 3 Line : It check if the directory is already there and if its not it will continue. In my code it checks if its not there and continue you can have it to check if its there and not to continue. Make sure to put whatever you put as the name of the variable that contains the path instead of " Player_ Directory " in the brackets. 4 Line : just keep it as it is only change " Player_Dir " if changed the variable name in 2 line, and like the 3 line only change " Player_Directory " in brackets if didn't use it earlier. Saving Data Let's see how can we save data. func Data_File_Create(): var file__ = File.new() var error__ = file__.open_encrypted_with_pass(Money_File, File.WRITE, "321TestCode") if error__ == OK: file__.store_var(Data) file__.close() 1 Line : It Creates the function for saving data that we are going to call later.(You can have anything you want) 2 Line : Like before its just for ease of access.(You can have it whatever you want) 3 Line : It creates the file for saving. " file__ " is the variable we created on the 2 line.(make sure to keep it the name you put for that variable) " open_encrypted_with_pass " is for saving the data encrpted in order to make it not editable by the user. " Money_File " is the file's directory variable we created before in the variable section.(make sure to keep it the name you put for that variable) " File.WRITE " is to tell the program that we want to write the file. " 321TestCode " is the encrypt pass that we have to use in order to load the data later.(You can have it whatever you want it to) 4 Line : It checks is the file is successfully created and continues. 5 Line : It stores the value you want to save in to the file. " Data " is the variable we created in the variable section.(amake sure to keep it the name you put for that variable) 6 Line : it closes file from the program.(This is very important so dont forget to enter this line) Loading Data Let's see how to load the data saved in to the file. func Load_Data_File(): var file_ = File.new() if file_.file_exists(Money_File): var error = file_.open_encrypted_with_pass(Money_File, File.READ, "321TestCode") if error == OK: var loaded_data_ = file_.get_var() Data = loaded_bal_ file_.close() 1 Line : It Creates the function for loading data that we are going to call later.(You can have anything you want) 2 Line : Like before its just for ease of access.(You can have it whatever you want) 3 Line : It checks if there is file in the " Money_File " variable directory wich we created in the variable section.(make sure to keep it the name you put for that variable) 4 Line : It open the file for loading data from it. " open_encrypted_with_pass " is very important since we saved data encrypted so we'll have to enter this line. " Money_File " is the file's directory variable we created before in the variable section.(make sure to keep it the name you put for that variable) " File.WRITE " is to tell the program that we want to read the file instead of writing it. " 321TestCode " is the pass we entered in the saving data section.(Make sure to keep it whatever you put for that before) 5 Line : It checks of the file successfully loaded and continue. 6 Line : It saves the loaded file's data into a variable.(You can only change the name of the variable other than that keep everything like it is) 7 Line : It saves the loaded data in to the main data variable that we created in the variable section so that next time it saves in will save the loaded data instead of default count we gave to it.(" loaded_data_ " van be changed to whatever you put to it in line 6, " Data " should be the nhme you put to the main data variable in the variable section) 8 Line : it closes file from the program.(This is very important so dont forget to enter this line)

--
--

你是否在名为“Godot Engine”的这款“游戏”中难以取胜?想要阅读通关指南吗?别担心,我来帮你!本指南将逐步教你如何“通关”Godot Engine。 步骤1:创建一个项目,你可以选择2D或3D。如果没有4D选项,那就自己创建一个。 步骤2:选择2D或3D后,给项目起个名字,比如“我想赢”“游戏,就是游戏”“大家好”“半条命3”之类的,随你喜欢。 步骤3:现在我们进入了项目,首先开始编码吧!如果你不知道如何使用GDScript、C++或C#进行编程,这些链接应该会有所帮助 GDScript:“我很懒” C++:“我说了我很懒” C#:“别再他妈的让我放链接了,萨瓦” 步骤4 在添加对象之前,我们需要创建游戏玩法。但是我们应该使用什么样的游戏玩法呢?我来告诉你! “从前有个人,” “一个男人走向那座邪恶的建筑” “嗨” “发生什么事了” “呃,那个男人被困住了” “通过收集1把钥匙来赢得游戏” “你赢了” 如果你觉得这很糟糕,那就自己设计游戏玩法吧,而且如果你说你讨厌我的游戏玩法,会伤害我的感情 步骤5 构建游戏并发布到Steam、Itch.io、GameJolt、微软商店、谷歌应用商店、game-game等等 哇啦!现在你已经“击败”了“Godot Engine”这款“游戏”。嗨

--
--