基础知识
本文介绍如何使用 Mini Studio 制作一个RPG游戏。读者需要对 Mini Studio 的有一个基础的了解,并能简单进行操作。
官方网站资料:
https://studio.mini1.cn/wiki/Tutorials/Introduce/Introduce.html
studio界面基础操作:
https://studio.mini1.cn/wiki/Tutorials/Introduce/BaseOperation/StudioMenu.html
建立项目
打开studio登陆后,新建一个空地图(Empty Map)项目,工程名自定义即可:
进入studio工作主界面后,节点列表中可以查看场景的最关键的三个要素:

WorkSpace(场景) : 摆放地形,玩家,怪物,游戏模型等 Players(玩家容器) : 所有进入游戏中的玩家 MainStorage(主存储区) : 作为一个仓库,存放各种节点模型,代码模块等,使用时会移动到WorkSpace中
搭建场景
激发想象,创造快乐。开发者可以搭建出非常华丽的场景:

下面的demo中,我们将展示如何搭建一个较为简单的游戏场景: 我们的游戏中,将包含4个距离相隔很远的地图: g1游戏大厅 g2轮船地图 g3梦境地图 g4沙漠地图 如下图:
每个地图中,都摆放有传送门: (传送门是一个模型,玩家碰到后,会触发代码逻辑进行地图传送) tp0 传送到g0 tp1 传送到g1 tp2 传送到g2 tp3 传送到g3为了实现上面的效果,我们在WorkSpace下新建一个 沙盒节点Ground ,作为各种地图的容器,里面包含4个地图节点: (尽量使用容器节点作为父节点,层次管理更清晰,查找效率也更高) g0 出生的新手大厅 位置( 0, 0, 0 ) g1 轮船地图 位置( 100000, 0, 0 ) g2 梦境地图 位置( 200000, 0, 0 ) g3 沙漠地图 位置( 300000, 0, 0 ) 每一个地图都使用Transform(变换) 作为父节点, Transform有位置信息Position,可以控制每个地图的位置。


选择大厅地图g0节点, 就可以在上面摆放各种模型物体:
首先在g0中摆放一个大的【方块Cube】作为地表,名字是base, 长宽都是100米,高50米,如下图:



在base土地上,摆放各种模型装饰:

上图摆放了下面的元素(开发者可以按自己的创意自行设置): Actor_ship 船模型 Actor_dream 带翅膀的月亮模型 Actor_sand 骆驼模型 tp1 传送门1 传送到轮船地图 (代码逻辑:玩家触碰会进行传送) tp2 传送门2 传送到梦境地图 tp3 传送门3 传送到沙漠地图 monster_spawn1 刷怪点1 帐篷 (代码逻辑:在这个点随机刷出怪物) monster_spawn2 刷怪点2 帐篷 monster_spawn3 刷怪点3 帐篷 Cube_brick 中间的红砖块模型装饰品 g0, g1, g2, g3地图的摆放和搭建,开发者可以导入自定义的模型,发挥想象空间。 下面分别是地图 g1 g2 g3 的样子:![]()
![]()
配置UI元素
在StarterGui主节点下,可以自定义游戏中使用的所有ui元素,如下图:

ui_root_spell( 2DUI的父节点 ) : 是2D元素的容器 spell_bg: 施法条背景 spell_bar: 施法条进度 hp_bg: 玩家血条背景 hp_bar: 玩家血条进度 header_bg: 头像背景 header: 头像 name: 玩家名字 mp_bg: 玩家魔法条背景 mp_bar: 玩家魔法条进度 target_hp_bg: 目标血条背景 target_hp_bar: 目标血条进度 target_name: 目标名字 target_mp_bg: 目标魔法条背景 target_mp_bar: 目标魔法条进度 所有的UI元素,可以在界面中配置,也可以用代码来动态生成。 开发者可以配置多个复杂的界面,比如玩家包裹,装备,任务,商城界面等。 平时将这些界面隐藏起来,在使用的时候,通过代码来控制是否显示。 玩家登录后,都会复制一份starterGui里的所有元素。 通过代码可以控制这些元素的属性和数值。
模型特效资源
在整个游戏中,我们需要用到大量的模型和图片资源,这些资源的来源分为下面几个途径:1 沙盒系统自带


这里建议新建一个项目,将所有的模型和特效都放置到新项目的WorkSpace中查看,随时选择合适的资源。
2 开发者收集的资源上传到云资源库



开发者在这里可以建立自己的目录,上传各种文件,甚至用AI来生成图片或者模型上传后来使用。
比如地形模型,人物模型,装饰品模型,贴图材质文件,声音文件,动作文件,UI图片,背景图片。
编写代码逻辑
开发者编写的脚本代码,分为客户端和服务器三大块:1 客户端脚本(lua代码) 只运行在客户端侧(玩家手机或PC中),客户端有UI界面部分的处理。
2 服务器脚本(lua代码) 只在后台服务器的房间实例上运行,服务器不会运行UI界面部分的代码逻辑。
3 公共库脚本(lua代码) 提供给上面两种脚本引用。
如下图,服务器脚本(lua代码)运行在远程云服务器(一般都是linux服务器)上的一个地图房间里,
当玩家联网进入服务器房间后,在玩家客户端侧,运行客户端脚本(lua代码)。

下图展示了他们的分类和部署情况:

在studio开发界面中具体位置如下图:
![]() |
![]() 公共库脚本(lua代码) 类型为 模块代码(ModuleScript) ![]() 服务器脚本(lua代码) 类型为 可执行代码(Script) ![]() 客户端脚本(lua代码) 类型为 客户端本地代码(LocalScript) |