自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开发游戏的老王

兼职游戏开发者,全职大学教书匠

原创 Q&A:Godot Shader中的uniform和varying有什么关系和区别?

刚有朋友问我一个问题,在此解答一下,希望能够帮助更多人,如有错误敬请指正! Q&A 问:“Godot Shader中的uniform和varying有什么关系和区别?” 答: 相同的地方是:它们都是用来传递数据的。 不同的地方是: uniform用于逻辑语言(GDScript/C#等)和...

2020-03-31 20:56:58 1096 0

原创 Godot Engine:两行代码实现观察者模式(Observer Pattern),就问你服不服?

上篇博文《Godot Engine:用自动加载(AutoLoad)实现单例模式(Singleton Pattern)》向各位展示了Godot用“自动加载”这种“非主流”的方式实现单例模式。今天咱们看一下Godot又可以使用哪些“旁门左道”帮我们实现另一种常用设计模式---观察者模式(Observe...

2020-03-30 21:15:08 1636 68

原创 Inkscape:把对象摆放在路径上

效果图 游戏中经常会需要类似的素材作为符文图案或者是特效的纹理,总体的思路就是先设计一个图形对象,然后制作一个路径,再将图形对象沿路径摆放。 下面我们看一下在inkscape中如何实现这个效果: 1. 图形对象 本例中的图形对象很简单,如果图形是多个对象组成的要将它们群组起来(快捷键:Ctrl ...

2020-03-30 19:08:22 487 0

原创 Inkscape:基本操作和常用工具(附Inkscape下载地址)
原力计划

Inkscape 1.0beta 文章目录常用快捷键视图类工具类路径类布尔运算图解选择工具(`S`)节点编辑工具(`N`)矩形工具(`R`)椭圆工具(`E`)贝塞尔曲线工具(`B`) 常用快捷键 视图类 命令 快捷键 说明 平移视图 中键 缩放视图 Ctrl + 滚...

2020-03-29 20:53:29 2908 160

原创 Inkscape:布尔运算图解

相关命令的快捷键 命令 快捷键(软件提示) 说明 选择 S 将对象向上移 PAGE UP 即向上翻页 将对象向下移 PAGE DOWN 即向下翻页 并集 Ctrl + + 其实是Ctrl + Shift + + 差集 Ctrl + - 交集 Ctrl +...

2020-03-29 14:07:14 834 0

翻译 Godot Engine 4.0重构报告#2:即将迎来的一些变化

原文《Core refactoring progress report #2》By: Juan Linietsky Mar 28, 2020 Vulkan 这个不用多说了,万众期待的东西 增加多窗口模式 双显福音 窗口的两种模式:系统窗口和嵌入式窗口 部分节点重命名 以后Area,...

2020-03-29 10:46:30 1266 0

原创 【手把手带你Godot游戏开发】FlappyBird:9.2 天下没有不OVER的GAME(下)

本章节继续上一节的工作,将完成游戏结束时的弹出UI显示

2020-03-28 14:43:18 2514 62

原创 【手把手带你Godot游戏开发】FlappyBird:9.1 天下没有不OVER的GAME(上)
原力计划

本章节效果图 小鸟撞上水管标志着一局游戏的结束,我们会用两个章节为它做一些收尾工作:

2020-03-27 21:18:02 1239 64

原创 【手把手带你Godot游戏开发】FlappyBird:8 让数据说话(显示分数)

extends Label func _ready(): add_to_group("score_changed") func on_score_changed(score): text = str(score) #ScoreArea.gd extends Are...

2020-03-26 17:12:06 1299 69

原创 【手把手带你Godot游戏开发】FlappyBird:7 心里有数(计分系统)

#FileHelper.gd class_name FileHelper # 普通存储 static func save(path,data): var file = File.new() file.open(path,File.WRITE) file.store_string(var2s...

2020-03-25 20:38:32 2765 68

原创 Godot Engine:如何使用外部字体和Label节点制作一个计时器

文章目录1. 导入字体文件2. 搭建场景3. 设置Label的基本参数4. 创建`DynamicFont`5. 设置Timer6. 计时器脚本7. 测试运行 1. 导入字体文件 先导入字体文件,Godot支持TTF和OTF两种常用的字体格式。 2. 搭建场景 3. 设置Label的基本参数 ...

2020-03-24 17:08:50 2065 67

原创 Godot Engine:用自动加载(AutoLoad)实现单例模式(Singleton Pattern)
原力计划

自动加载(AutoLoad)是Godot Engine一个特有的并且设计非常巧妙的机制。

2020-03-23 22:47:45 2119 66

原创 关于Markdown的个人使用小结

不知不觉,在CSDN上用Markdown完成了几百篇原创博文和外文翻译,自认为算是“老用户”了。如果你也是个博客上的马拉松跑者,那么Markdown绝对是提升你奔跑速度与幸福感的Boost跑鞋。本文是我个人关于Markdown使用小结,如果想更系统地学习Markdown可以参考网络上其它文章,比如...

2020-03-22 20:47:42 2502 171

原创 Blender:用布料修改器做个静态的裙子试试

blender 2.82a 第一次用布料修改器,有待进一步研究 角色 新建一个面片 加细分,放大 为裙子添加布料修改器 为身体添加碰撞修改器 Shift + Space 播放动画,同时开始解算 结算完毕后,在时间轴的游标定位在,形状最理想的那帧,然后应用布料修改器,这样裙子的造型就固...

2020-03-21 15:59:30 924 0

原创 【手把手带你Godot游戏开发】FlappyBird:6 来点MUSIC(音效系统)

本章节效果图 本节增加的是音效,请大家结合下图脑补

2020-03-20 16:56:54 1010 73

原创 Godot Engine:忽略"UNUSED_ARGUMENT"警告的第二种方法

在《Godot Engine:如何屏蔽一些无用的警告信息》一文中,介绍了如何屏蔽各种警告,其中也包括"UNUSED_ARGUMENT"警告,但是这种方式是针对所有GDScript脚本的,如果我们只是想忽略某些特定函数的"UNUSED_ARGUMENT"警告,...

2020-03-19 12:00:10 982 71

原创 【手把手带你Godot游戏开发】FlappyBird:5.2 无尽水管子滚滚来(二)

自动销毁:我们想办法把已经滚出屏幕的水管子自动销毁,它们对游戏已经没有意义了 随机:滚滚而来的水管子,应该是上下参差不齐的 检测加分事件:小鸟每通过一对水管子,要加一分,这是游戏规则的核心之一,虽然积分系统还没有实现,但是我们先要检测到这个事件 检测死亡事件:小鸟撞到水管,地面,“天花板”,都要触...

2020-03-18 20:21:30 3985 76

原创 Blender图解教程:借用雕刻工具来建Lowpoly模型

使用blender建模只知道“软选择”,那就太OUT了,blender的雕刻工具非常好用,有时即使我们只想做点Lowpoly风格的模型,也不妨把雕刻工具借来用用。本文介绍一下雕刻工具在Lowpoly建模中的使用技巧 注意:雕刻工具在Lowpoly建模时多用于形体微调,所以常用套路是: Shift...

2020-03-17 16:01:37 2459 71

原创 Godot Engine:Timer节点使用范例

Timer顾名思义,它就是个计时器

2020-03-16 19:50:09 2356 73

原创 【手把手带你Godot游戏开发】FlappyBird:5.1 无尽水管子滚滚来(一)

无限的不止地面,还有水管子

2020-03-16 16:28:19 3644 74

原创 BoxCutter:阵列

命令 快捷键 说明 阵列模式切换 V 无阵列/线性阵列/放射性(圆环阵列) 元素数量 滚轮 元素间距 滑动鼠标 缩放阵列 S 旋转阵列 R 移动阵列 G 锁定 Tab ...

2020-03-15 20:38:30 457 5

原创 BoxCutter:吸附

开启吸附,确认吸附模式 按住Ctrl滑动鼠标,红色顶点为当前吸附的位置

2020-03-15 20:15:38 353 4

原创 BoxCutter:布尔流硬表面建模后的处理

相对于传统硬表面建模的方式,用大量布尔运算来建模的布尔流的优点就是技术门槛低,灵活而且高效。这仨优势是传统方式无法比拟的,但是布尔流也有一个问题,就是布线会很乱, ...

2020-03-15 17:12:27 686 4

原创 GIMP:一些实用小技巧

一些实用小功能

2020-03-15 14:37:41 2329 180

原创 Blender图解教程:用置换修改器生成贴花

效果预览 步骤 1. 新建一个面片,加足够过的细分 2. 为这个面片添加置换修改器 3. 新建一个纹理 4. 在纹理属性面板加载预先准备好的Alpha纹理 5. 如果对效果满意则应用修改器 最终结果 ...

2020-03-14 15:31:14 1105 1

原创 Blender图解教程:如何安装插件

Blender不但自身强大,还有提供了非常好的扩展机制 步骤 1. 编辑>偏好设置>插件 2.1 安装自带插件 实际上,每个Blender版本都自带一些插件,其中部分已经默认启用,另一些可以按需手动启用,勾选插件前面的单选框即可。 2.2 安装第三方插件 还有一些第三方插件,...

2020-03-13 21:08:12 4239 0

原创 Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与Area2D碰撞)

按照下图场景树所示构造一个场景: 节点的名称即为节点类型 红色方框分别对应着每个CollisionShape2D中Shape(都是RectangleShape2D)的范围 注意: 为了避免不必要的性能消耗,RigidBody以及RigidBody2D默认是不开启碰撞检测的,所以需要碰撞检测的...

2020-03-12 18:38:25 2847 59

原创 Godot Engine:5种碰撞体以及RigidBody的4种模式

Rigid模式 默认模式,也就是正常的刚体行为模式,刚体的移动受物理引擎控制和用户代码二者影响。 Static模式 这种模式中刚体的行为会和StaticBody一样,无法被物理引擎移动,只能被代码移动。注意:StaticBody本身是无法发出碰撞信号的,如果想让StaticBody发出碰撞信号,可...

2020-03-12 17:01:21 3390 68

原创 拓扑布线基础:优雅插入一个圆形结构(细分后)

效果图 步骤 原图 1. 在点层级,选择要挖圆的顶点,按Ctrl + Shift + B 2. 然后直接加1级细分就可以了 上一步会出5边面,经过1级细分就没有了 3. 应用 再挤出也依然会保持良好的拓扑结构 ...

2020-03-12 12:37:15 548 0

原创 拓扑布线基础:直线分岔的优雅姿势

效果图 步骤 原图 1. 找到要分岔的顶点移动到里面 2. 选择侧面的顶点,按F补面 3. 选择顶部边上的两个顶点,右键细分,拉成菱形 4. 这样就可以优雅地分岔了 同理 ...

2020-03-12 10:02:01 537 0

原创 Godot Engine:碰撞和碰撞检测的简单实例(RigidBody2D与StaticBody2D碰撞)

按照下图场景树所示构造一个场景: 节点的名称即为节点类型 红色方框分别对应着每个CollisionShape2D中Shape(都是RectangleShape2D)的范围

2020-03-11 20:06:33 2555 61

原创 Blender图解教程:Lowpoly人物模型流程图解 目录

Blender 2.82 效果预览 1.《Blender建模练习:人物模型多边形建模流程图解(一核心布线篇)》 2.《Blender建模练习:人物模型多边形建模流程图解(二形体调整篇)》 3.《Blender建模练习:人物模型多边形建模流程图解(三 衣服篇)》 4.《Blender建模练习:人...

2020-03-10 20:46:36 2012 66

原创 Blender图解教程:挤出 (Extrude)和 内插面(Inset)的区别

挤出 (Extrude)和 内插面(Inset)的基本概念请见《Blender图解教程:多边形建模命令 之 挤出 (Extrude)和 内插面(Inset)》。本文介绍一下这个操作在一些相似的用法中,各自的优缺点 有时候内插面≈挤出+缩放,比如: 内插面: 挤出+缩放:按快捷键E以后不要滑动鼠...

2020-03-10 08:34:09 2914 0

原创 Blender:用精简修改器和线框修改器秒一个废纸篓

Blender 2.82 效果图 步骤 新建柱体 2.进入编辑模式调整一下形状 适当加环线 添加精简修改器 注意选择反细分,并且将迭代次数设为1(默认为0) 然后应用精简修改器 添加线框修改器 需要的话可以调整一下厚度 应用线框修改器 进入编辑模式 进入边...

2020-03-09 16:14:34 949 0

原创 Blender图解教程:新手入门练习 3

题目:匕首 原图

2020-03-08 16:39:49 826 74

原创 【手把手带你Godot游戏开发】FlappyBird:4. 无限地面

[手把手带你Godot游戏开发]FlappyBird:4.3无限地面

2020-03-08 12:36:31 1236 77

原创 GIMP:图层蒙版应用小例

使用 GIMP的图层蒙版以及自由选区工具等实现的一个将图片人物保持彩色,将背景变为黑白的效果。 原图 处理后的图片 步骤 加载原图至GIMP,按Ctrl + Shift + D复制图层 选择上层的“阿丽塔 副本”层,去色 顶部图层去色后的效果 为顶部图层添加图层蒙版 ...

2020-03-07 21:11:42 2625 172

原创 【手把手带你Godot游戏开发】FlappyBird:4.2无限地面之普通青年版

本章节效果图 步骤 为Floor添加一个脚本,命名为“Floor.gd” extends Sprite func _process(delta): if offset.x <= -530: offset.x = 530 offset.x -= 200.0*delta

2020-03-07 18:11:05 1156 76

原创 【手把手带你Godot游戏开发】FlappyBird:4.1无限地面之Godot青年(AnimationPlayer)版

为什么这个版本叫Godot版呢?因为如果用unity等引擎来实现这个小功能,大家可能不会选择它的动画系统,不是说其它引擎不能,是比较麻烦,大家宁愿选择写两行代码来实现。而Godot Engine的动画系统实在是太方便了,所以用Godot开发游戏的时候,我们不妨充分利用它。

2020-03-07 16:57:44 2773 70

原创 【手把手带你Godot游戏开发】FlappyBird:4.3无限地面之文艺青年(shader)版

本章节效果图 原理 这种方法是通过Shader的UV动画实现的 步骤 重新导入素材 shader_type canvas_item; render_mode unshaded; uniform float speed : hint_range(0.00,1.00) = 0.0; void ve...

2020-03-06 21:13:59 1103 8

提示
确定要删除当前文章?
取消 删除