
GAME-DEV
文章平均质量分 66
ALonWol
这个作者很懒,什么都没留下…
展开
-
Unity Entities在IComponentData中保存回调函数
Unity Entities在ECS组件IComponentData中保存回调函数原创 2023-01-08 00:29:59 · 380 阅读 · 0 评论 -
Unity ProjectTiny将GitHub上的DotsRogue转成纯ECS的试玩演示
DotsRogue移植到纯ECS原创 2022-11-27 23:22:51 · 574 阅读 · 0 评论 -
Unity ProjectTiny纯ECS简单写个按钮点击事件系统
Unity ECS简单实现按钮原创 2022-11-21 23:24:46 · 816 阅读 · 0 评论 -
Unity ProjectTiny用纯ECS写个跃动的小球
ECS加Shader实现一个五彩斑斓的跃动小球原创 2022-11-13 14:10:11 · 889 阅读 · 0 评论 -
Unity ProjectTiny编写ECS层可用的Shader
ProjectTiny自定义Shader注意事项原创 2022-11-06 21:37:57 · 609 阅读 · 0 评论 -
Unity ProjectTiny在ECS运行时改变Mesh的UV来显示纹理
还有Tiny运行时无法动态加载Material,也无法像GameObject那样将Material转成预制体引用起来(至少目前没看到类似的用法),所以只能在场景中建一个球体,挂上要用到的材质,然后在运行过程中创建好DynamicMesh后,把球体的材质赋值给DynamicMesh。这篇的主要效果就是动态创建一个UnlitMesh,然后给它赋值一个带纹理的材质,再动态改变Mesh的UV,从而显示纹理上的不同部分。代码有点多,还有用Unity的ECS写代码容易出错,可能稍微改点代码就运行不起来了,这个要注意。原创 2022-10-30 21:08:11 · 772 阅读 · 0 评论 -
Unity ProjectTiny在纯ECS运行时动态创建Mesh
在MonoBehavior里创建一个Quad只需要两三行代码,在ECS里创建一个最简单的Quad Mesh,代码都要多好几倍。拷贝上面的代码,丢到官方那个Tiny3D工程目录里,删掉多余的代码和场景里的模型,设置好相机的位置,打包Web并运行就可以看到一个红色方块在旋转了。可以根据鼠标路径来创建网格路线,不过里边代码比较多,看起来有点麻烦。通过创建一个最简单的Quad,更方便了解其中的原理。ProjectTiny包是一个纯DOTS环境,可以在Unity里体验下完全用ECS来写代码的感觉。原创 2022-10-22 23:54:57 · 1250 阅读 · 0 评论 -
将任意一组非线性增长的数均匀映射至0到1上
将任意一组增长的数均匀映射至0到1上原创 2022-08-06 23:27:59 · 1243 阅读 · 0 评论 -
Unity中使用状态机控制角色行为
接着上一篇说的随谈过去的2019,这篇专门记录下FSM的使用和别人写的一个具体实现。其实很多普遍功能,网上一搜一般都可以找到具体实现,而且有很多重复的文章。我平时要了解学习某个功能,一般都会看多篇文章,而不是只看一篇,以此了解下不同人的想法。我这里再写一篇,只是让自己重新梳理一下流程,留个记录,以后忘了时可以直接看自己当时的想法。Demo里我使用了别人实现的SuperStateMachine和...原创 2020-04-05 02:52:04 · 2185 阅读 · 0 评论 -
通过全局事件的“注册/派发”机制降低模块间的耦合度
按我个人的理解,“事件”在游戏中就是对象的行为,比如主角会有使用道具的行为、炸弹会有爆炸的行为、敌人可以有被攻击的行为,执行这些行为就是触发了事件,触发了一个事件,必定会导致一个结果,例如玩家点击道具按钮(这是一个事件),触发了主角使用炸弹的事件(由前一个事件触发后导致的结果,同时它也是一个被触发的事件),使用炸弹事件触发了炸弹的爆炸事件,炸弹的爆炸事件触发了敌人被攻击事件。这一系列的事件,被程序...原创 2018-12-07 00:37:52 · 468 阅读 · 0 评论 -
SDL实现九宫格纹理绘制,使其不变形
九宫格绘制的纹理适用于UI以及那些宽高需要通过不同比例缩放的图片资源。为了节省空间,一般的UI资源都是根据原型制作一个尽可能小的图片,然后根据需要将该图片放大。如果不用九宫格缩放,而是用普通缩放,直接将纹理填充到实际需要的大小,就会出现形变,如下图所示:...原创 2018-10-30 01:18:00 · 773 阅读 · 0 评论 -
Quake1和2的pak资源文件格式说明
Quake1和Quake2的源码都已经公开了,Github上可找到。源码里边肯定有对pak文件解析的代码,不过我从这里paklib找到一个别人独立出来的一个库,代码不多,我看了下,然后把一些东西记录下。...原创 2018-10-04 15:30:13 · 2611 阅读 · 0 评论 -
[sdlpal]键盘输入控制模块
每个游戏应该都有输入控制的吧,像移动端的触摸输入、PC端的键鼠输入、掌机端的手柄输入等。如果没有输入控制,怎么和游戏场景进行交互,没有交互,又怎么能叫玩游戏?(可能生活中很多人都是被游戏"玩"过来的,游戏这么好玩,老少通吃…)。废话就少扯了。最近看了下sdlpal中的输入模块,在input.h/input.c里边。SDL是跨平台的,当然sdlpal也是跨平台的,可编译到手机、电脑和NDS游原创 2018-09-19 00:39:39 · 1555 阅读 · 0 评论 -
利用SDL绘制点阵字
看sdlpal源码的时候,想了解下游戏界面上那些像素字是如何绘制显示的,于是就去了解了下点阵字。虽然有SDL_ttf这个库,你只需要找个字体文件,然后调用库提供的API就可以在屏幕上显示字体了。但是如果游戏只是显示下简单的像素字的话,加个SDL_ttf库就显得臃肿了。不管怎样,多深入了解下又不是坏事,你还是可以使用更简单方便的字体库来显示字体。 关于点阵字的一些介绍就不细讲了,网上一搜一大把。我......原创 2018-08-11 15:45:26 · 1048 阅读 · 0 评论 -
[sdlpal]游戏开始界面文字的绘制
上一篇简单讲了下开始界面背景图的绘制过程,当然具体的代码细节没完全理解清楚,但是整体思路是那样没错。我又看了下文字的绘制,所以这节就是讲文字的绘制思路了,由于文字的绘制更繁琐,代码更多,就不像上节那样把代码贴出来讲了,也是简单讲下(可能比上一节还简单…)思路,具体代码细节我也没全看懂。日后能花时间看懂就最好了。 进入主题前,我先讲下文字的概念,当然只是个人的理解。在屏幕上显示的文字和在屏幕上显示...原创 2018-08-11 14:36:15 · 1524 阅读 · 0 评论 -
[sdlpal]游戏开始界面背景图的显示
继续看了下sdlpal的源码,这节讲下代码是如何从资源文件中读取所需图片并显示到屏幕上的。 下面这张就是开始界面了,当然除了背景图外还有菜单,菜单里的两个选项其实就是绘制的两行文字(一般的菜单除了文字还会有菜单背景图的,这里没有,只是简单的文字), 菜单的原理就另外章节讲了,这里只讲下图片资源的加载和显示。 ‘图片稍后补上’一路跟踪,发现背景是在这里绘制的:mian()->PAL...原创 2018-07-16 00:07:24 · 2039 阅读 · 0 评论 -
用一个 int 来描述位置信息
一般的,游戏场景中对象的位置信息都是用两个 int 来描述,像这样:struct _Pos { int x; // x轴坐标 int y; // y轴坐标} Pos;使用的时候这样:// 定义一个坐标Pos pos = {10, 10};// 获取x轴坐标int x = pos.x;// 获取y轴坐标int y = pos.y;然后我看到sdlpal...原创 2018-07-14 21:39:18 · 563 阅读 · 0 评论