自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

开发游戏的老王

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

原创 Godot Engine:3D角色移动(走/跑/跳)(重力问题已更正)

extends KinematicBody class_name Player const walk_speed = 5.0 const run_speed = 10.0 var gravity:Vector3 = Vector3.DOWN*12 var speed:floa...

2019-12-31 18:55:34 1446 7

原创 Godot Engine:可约束轴向的第三人称摄像机实现

代码 extends Camera export var lock_x :bool = false export var lock_y :bool = false export var lock_z :bool = false export(float,EXP,0.1,1.0,0.1...

2019-12-30 14:14:33 549 0

原创 从Unity到Godot:Unity的Tag VS Godot的Group

Unity的Tag和Godot的Group功能上有诸多相似之处,下面简单对比一下二者的区别 Unity的Tag Godot的Group 说明 是否可以运行时新建Tag/Group 否 是 一个对象可否拥有多个Tag/Group 否 是 可否通过Tag/Group调用...

2019-12-29 16:54:11 521 0

原创 Godot Engine:用InterpolatedCamera实现第三人称游戏跟随摄像机

在第三人称类型游戏(即TPS或者TPP)中经常要实现摄像机跟随角色的效果,如果直接把摄像机作为角色子节点,由于没有任何缓冲得到的效果会非常生硬,Godot提供了一个InterpolatedCamera节点即插值摄像机,可以很方便地实现有缓冲效果的摄像机跟随 InterpolatedCam...

2019-12-29 13:55:26 723 0

原创 Godot Engine:CSG(Constructive Solid Geometry)工具

Godot Engine 3.1.2 stable 官方文档可以参考这里 CSG(Constructive Solid Geometry)即可构造硬质几何体 听起来很高大上的概念,实际上就是类似于Blender中非破坏性布尔工具,或者Unity中的那个Probuilder插件,用于快速地搭...

2019-12-28 10:47:45 804 0

原创 Blender:可以随机颜色的材质

Blender 2.8x

2019-12-27 16:37:09 1111 0

翻译 Godot GUI:皮肤系统(一)

《Docs » GUI » GUI skinning》 哦,漂亮的皮肤 本教程是关于UI皮肤的高阶教程。大多数游戏不会需要这个,因为它们顶多使用 Label/TextureRect/ TextureButton/TextureProgress。 然而,很多类型的游戏常会有复杂的UI,比如...

2019-12-27 14:07:57 814 2

原创 从Unity到Godot:SceneTree和root

Unity中没有SceneTree和root,刚接触Godot的时候我总是搞混这两个概念 SceneTree root 类型 SceneTree>MainLoop>Object root就是一个Viewport,只不过它在最顶部 ...

2019-12-26 09:24:59 337 0

原创 Resource类

继承于Reference < Object,是所有资源类型的基类 常用属性 类型 属性名 说明 bool resource_local_to_scene 默认false,如果是true则意味着,每个场景都包含这个资源的一个独立拷贝 ...

2019-12-25 19:28:25 284 0

原创 Godot Shader :在一个面片上让鼠标滑过的地方凸起

今天一个朋友问的Unity问题,我试着用 Godot的 Shader实现一下。用Unity实现的话,原理是相同的 效果展示 如果要凸起更圆润的话,增加面片的细分就可以,代码部分应该可以优化,坐标运算搞得自己头晕了 GDScript部分 extends Camera const...

2019-12-24 21:46:41 526 0

原创 GDScript:协程(Coroutine)(二)简单粗暴实用至上的语法设计

《GDScript:协程(Coroutine)(一)概念和使用范例 》中介绍了GDScript中协程的概念和简单用法。写完之后总感觉GDScript的协程有哪里不对劲儿,刚才终于琢磨过来“是它的语法形式”。 分析GDScript之前先看一下C#的协程 C#的协程定义和调用都有多种重载,下面...

2019-12-24 11:36:44 531 0

原创 GDScript:协程(Coroutine)(一)概念和使用范例

协程(Coroutine)是一种打破函数传统工作流程的机制。之前在使用Unity的时候,初次接触到协程,当时查了一下并非所有语言都支持协程,而且我也只用它来实现一些类似计时或延时以及加载等待的功能,因此可能尚未领悟其精髓,下面是个人的心得,如有错误希望大家指正。 协程 其本质,就是能让一个...

2019-12-23 17:35:58 541 2

原创 概念设计之参考图管理技巧:PureRef

昨天写了篇日志,记录一个免费的参考图管理工具,结果今天被编辑给删了,说是广告。我也真是特么无语了,这东西需要我做广告么?CSDN全是介绍JAVA的是不是也在该JAVA打广告?快过年了,向CSDN全体编辑的八辈祖宗致以最诚挚的问候。 PureRef下载地址 PureRef是一个虚拟的画布,可以...

2019-12-23 14:26:31 1328 0

原创 从Unity到Godot:用Signal去实例化

本文参考了《Instancing with signals》 前言 在Unity中,运行时实例化GameObject,如果不显式指定它的父节点,系统会默认把它放到场景的顶层,而在Godot中,你则必须显式指定每一个节点的父节点。指定谁作父节点?这个问题貌似不难回答,但是要兼顾到开发及测试过...

2019-12-21 13:44:36 604 0

原创 GDScript获取全局坐标的两种方法

Godot Engine 3.1.2 extends Spatial func _process(delta): print("local position:" + str(translation)) print("global position:"...

2019-12-20 17:46:32 541 0

原创 给Particles加点外力

Godot Engine 3.1.2 这篇文章中提到 Godot Engine的未来版本中粒子系统将支持外力 ,看了一下当前版本中自动生成的ParticlesShader ,其实Gravity就已经算是外力了,把它简单改一下实现了下面的效果,其实就是实时修改这个外力的方向。 Shader 这段...

2019-12-19 23:33:44 214 0

原创 Godot Engine的未来版本中粒子系统将支持外力

看Godot粒子系统文档看到这个,在Particles Shader的render_mode中已经加入了disable_force,到时候就能够很方便的实现更牛的效果了

2019-12-19 19:19:36 208 0

原创 Godot特效:手绘贴图+粒子系统实现风格化火焰(三)火焰的Process材质

Godot Engine 3.1.2 这个效果的ProcessMaterial设置和我这篇文章中介绍的大体相似《Godot 粒子特效:Low Ploy风格火炬》,仅以下几个参数需要注意: 颜色部分 动画部分 ...

2019-12-18 15:32:06 472 0

原创 Godot特效:手绘贴图+粒子系统实现风格化火焰(二)火焰的Drawpass材质

Godot Engine 3.1.2 新建一个名为fire_drawpass_mat.tres的SpatialMaterial类型材质

2019-12-17 19:26:54 383 0

原创 Godot特效:手绘贴图+粒子系统实现风格化火焰(一)绘制火焰贴图

Godot Engine 3.1.2 火焰贴图大小512x512,划分为4个256x256的方块,并绘制4个火焰形状

2019-12-17 17:33:45 635 0

原创 在Affinity中设置网格参考线

Affinity 的网格系统非常牛X 1.在视图中开启显示网格 2.在网格和轴管理器中设置网格 有 自动\基本\高级\立方体三个标签

2019-12-17 17:05:25 754 0

原创 Godot Engine:本地数据存取的帮助类(加密/非加密)

extends Node func _ready(): var weapon = {"gun":"ak47","bullet":123} var player_data = {"name":"...

2019-12-17 10:16:38 814 67

原创 用法线贴图和AnimationPlayer实现水面效果

Godot Engine 3.1.2 这个方法不需要自己写Shader,而仅仅使用一张法线贴图和AnimationPlayer就实现了水面的效果,Godot的Animate Everything果然名不虚传 原教程 How to Make a Simple Water Material in ...

2019-12-16 21:12:40 1015 0

原创 用Affinity制作无缝贴图

Affinity Photo和Designer通用 在油管上看到的,并不是黑科技,算是个小技巧,前提是贴图本身是Tilable的 原始素材 步骤 1.导入到Affinity 这时会默认生成一个图像层 2.把图像转换为曲线 这时该层就转换成曲线了 使用节点...

2019-12-16 19:45:38 375 0

原创 关于Tween的几个注意事项

以下几点下面的范例中都有体现: 1. 运行时创建Tween的话不要忘了将其加入节点树 2. 如果要给一个Tween行为注册回调函数,注册一次就可以 3. Tween行为时临时的,执行完毕以后不再保存,所以下次start前要重新定义

2019-12-15 17:00:51 206 0

原创 Godot特效:刀光(四)着色器及代码部分 方法二

写完《Godot特效:刀光(三)着色器及代码部分 方法一》,发现有点麻烦。要通过GDScript旋转然后把值通过uniform 传递到Shader中,与其如此直接旋转模型,岂不是更简单。 所以把上文的方法修改了一下,材质直接用自带的SpatialMaterial vfx_slash代码 代码...

2019-12-15 16:24:41 493 0

原创 Godot特效:刀光(三)着色器及代码部分 方法一

网上很多Unity版的刀光效果教程,都是基于粒子系统实现的,我这个Godot版使用Shader结合Tween实现的 节点结构 着色器 shader_type spatial; render_mode unshaded,cull_disabled; uniform float ...

2019-12-15 15:46:30 713 0

原创 Godot特效:刀光(二)贴图制作

贴图使用 Affinity Photo制作 刀光贴图根据不同的风格,制作方法也多种多样 1. 原图 2. 在Affinity Photo中编辑 3. 导入到Godot中并作为mesh_slash.obj的ALBEDO贴图 ...

2019-12-14 21:33:13 518 0

原创 Godot特效:刀光(一)建模

在Blender中建模 1. 建模 2. 展UV 3. 导出obj文件 注意要导出UV

2019-12-14 20:30:36 426 0

原创 Godot特效:纯Shader实现3D手绘风火焰

效果图 火焰颜色可以可以自定义 原理 这个效果的核心实现来自Gonkee的Github,原版是2D的,我把它改成了3D版的,注意下面几点: 将render_mode设置为unshaded,目前这个火焰只是装饰性的,不能自发光 实现billboard 还要再添加一个灯光用作实...

2019-12-13 16:23:56 470 2

原创 Godot Shader:在3D中实现BillBoard效果

让模型的正方向永远朝向摄像机 在顶点着色器中加入下面的矩阵运算即可 void vertex(){ MODELVIEW_MATRIX = INV_CAMERA_MATRIX * mat4(CAMERA_MATRIX[0],CAMERA_MATRIX[1],CAMERA_MATRIX[2],W...

2019-12-13 16:12:34 436 0

原创 Godot粒子系统:用3D Particles实现拖尾效果

效果图 关键参数 Drawing部分 Local Coords:off Prcess Material部分 Scale Curve:一个下降的曲线 Draw Pass的Material部分 Flag->Transparent:on Flag->...

2019-12-13 10:42:05 497 0

原创 Godot粒子系统:Particles的参数结构概要

Godot Engine的Particles有两种:Particles和CPUParticles,其实前者应该叫GPUParticles,由于最为常用所以干脆省去了GPU前缀 Godot Engine的Particles有众多参数,但是其层次还是非常清晰的。下图是Particles节点的默认...

2019-12-12 20:48:25 291 0

原创 Mixamo->Blender->Godot工作流插件:Godot Game Tools

虽说叫Godot Game Tools,不过目前和Godot的关系不是很直接。它是一个Blender插件,可以很方便地导入并优化从Mixamo下载的FBX动画 Godot Game Tools官网地址,自定义价格,可以免费下载 功能 多个动画烘焙到一个文件 清理优化估计并导出 动...

2019-12-12 09:41:03 895 0

原创 Affinity笔记:渐变工具

Affinity(包括Affinity Desinger和Affinity Photo)的渐变工具是个人用过的类似软件中最好用的,它的操作很直观,可以很方便的预览并且方便修改 和整体填充共用一个快捷键G(Gradation),通过它可以在两种工具之间切换 还可以以径向等方式填充 ...

2019-12-11 15:38:40 409 0

原创 Godot Shader:无需建模用一张图片在Godot中生成一座山

原理类似置换贴图,只不过还想借助生成的高度区分出海面山体以及山顶的树木 但效果不理想。没有办法像Blender那样在材质层次混合,要实现PBR效果只能靠引入大量的材质贴图。下面简述一下制作的思路 效果图 1. 在Godot中新建一个Plane的MeshInstance 增加...

2019-12-10 20:00:16 714 0

原创 Blender展UV插件:UVSquares

很久以前在BlenderMarket买的一个插件,售价15$,功能所见即所得,特效模型整理UV的时候非常方便

2019-12-09 10:04:37 2424 0

原创 在3D世界中的获取鼠标的位置

原理 电脑的鼠标是在屏幕的2D坐标上运动的,而我们要获取的是3D世界中的一个三维坐标,在游戏引擎中的实现原理如下: 先获取鼠标在屏幕上的2D坐标。 结合摄像机平面置计算出这个点在3D世界中的坐标。 从这个3D坐标沿着摄像机的视角发射一条射线,让这个射线和3D世界中的对象发生碰撞。 这...

2019-12-08 20:14:10 368 0

原创 用Godot制作冲击波特效

Godot Engine 3.1.2 在油管上看到讲述该特效的教程,我自己写的Shader 效果图 1. 建模 2. 展UV 3. 特效贴图 4. 着色器代码 shader_type spatial; render_mode cull_bac...

2019-12-08 12:33:50 431 0

原创 3D世界中的自动寻路:Navigation与NavigationMeshInstance

关键词 Navigation与NavigationMeshInstance 场景结构 代码 navi_camera extends Camera const ray_length : int = 1000 func _input(event): if e...

2019-12-07 21:04:00 271 3

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