一、dcl sdk发布
最近decentraland(简称dcl) 发布了sdk的1.0.0版本,我们可以开始准备土地的建设了。
- sdk官网地址: http://developers.decentraland.org/
- 文档说明及快速入门 https://docs.decentraland.org/docs/sdk-quick-start-guide
- 技术讨论 https://discord.gg/k5ydeZp
二、sdk 简介
我的场景demosdk即软件开发工具包(Software Development Kit),主要功能是帮助我们创建项目、嵌入模型、对接dcl接口、发布到dcl上。
比如你想要在dcl 建立自己的别墅,门口放一辆小车,步骤如下:
- 安装dcl sdk 工具
- 初始化软件项目,dcl init
- 编辑自己的场景(3D 建模),并放在项目中
- 预览你的别墅 dcl preview
- 把你的项目发布到dcl的网站上其他人可浏览体验。dcl deploy
今天我们只介绍1-4步,操作大都在命令行进行。
三、准备工作
- sdk 是node开发的需要安装node 环境
下载地址 https://nodejs.org/zh-cn/download/
检查是否安装成功:执行下面2个命令,如下正常。
➜ ~ node -v
v8.11.1
➜ ~ npm -v
5.6.0
- 我的开发环境是 mac系统,不过windows (win8及以上)、linux都支持。
备注:很多项目对 linux 、mac 支持会更好。 - 下载安装git (代码管理工具)
https://git-scm.com/book/zh/v2/%E8%B5%B7%E6%AD%A5-%E5%AE%89%E8%A3%85-Git
安装成功如下:
➜ ~ git --version
git version 2.11.0 (Apple Git-81)
-
去github注册一个账号,很多开源项目都在github上
https://github.com/ -
官网说需要安装python 2.7.14,我不确定不安装有什么问题。
安装参考如下:
https://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/001374738150500472fd5785c194ebea336061163a8a974000
四、开始开发
1. 安装dcl sdk
在命令行使用npm 安装sdk ,环境不同可能会有不少问题
npm install -g decentraland
安装成功后,输入dcl 会有下面的信息:
~ dcl
Decentraland CLI v1.0.2
Commands:
init [options] Generates new Decentraland scene.
preview [options] Starts local development server.
deploy [options] Uploads scene to IPFS and updates IPNS.
link [options] Link scene to Ethereum.
pin [options] Notifies an external IPFS node to pin local files.
upgrade Update the Decentraland CLI tools
help [command...] Provides help for a given command.
ps:安装过程可能很慢,如果长时间不响应,也可能是网络问题,开发人员通常要学会科学上网,可以尝试vpn下安装,或切换npm 的源。
2. 创建你的项目
-
创建项目目录 (即创建文件夹) sample
进入命令行,在该文件夹下执行 dcl init :
dcl init
- 坐标,钱包地址 是之后场景部署到dcl上必须项,开发和预览的时候不需要,后期可以修改对应配置文件。
- 场景分为:Static scene project 静态场景,没有交互,本文的内容。
Dynamic scene (single player) 单人的有交互场景,比如可以开门、开车、看电视等。
Dynamic multiplayer scene 多人互动的游戏类场景,如cs 、麻将等等,需要另外有游戏服务器的支持。
【注】你们返回的信息不会有 “===in deploy====” 这是我在调试
- 成功后查看目录变化
- 预览初始项目
在命令行 执行 dcl preview ,浏览器会自动打开 http://localhost:2044/ 页面。这是工具生成的默认场景,效果如下:
初始场景
3. 添加自己的场景
3D模型 建议采用glTF格式的,这里我引入了一个房子、一个汽车的模型。
创建sample/models/truck 的目录
把你的模型放在该文件夹下,目录如下:
汽车模型下载链接
然后修改scene.xml ,把模型放入场景文件,调整位置、大小、转向等。
<scene>
<gltf-model position="13 0 -3" scale="0.3 0.3 0.3" rotation="0 -90 0" src="models/truck/CesiumMilkTruck.gltf" id="truck"></gltf-model>
</scene>
4. 预览自己的场景
命令行执行: dcl preview
效果就如第一张图。
五、后续说明
-
3d建模可能占据dcl开发中很大的工作量,漂亮的模型给用户更好的体验。建模涉及编程的内容并不多,因我本人不太懂建模相关技术,后面着重介绍模型和dcl之间的对接内容。
-
交互式场景是我后面着重研究的方向,比如汽车动起来,游戏内容等。
-
虽然dcl用到了很多的新技术,如ipfs、区块链、AFrame 等,有的时候还必须得科学上网。今天是信息爆炸的时代,不可能像以前老师啃一本教科书,交一辈子学生,无论小孩、老人、各行各业的人都在跨界学习。
有一句话说:“对未知的恐惧是学习新知的最大障碍”,应该相信自己。 -
估计大多dcl的地主,应该是找一些团队帮助自己建设土地,开发产品,但多了解一些概念和过程未尝不好。
六、附录
名词说明
-
命令行:是一个文字界面的执行命令的界面。在 windows下 就是 “win + R” 键打开的黑色界面, mac、linux系统中叫“终端” 。
-
glTF 3D模型格式:是一种3D内容的标准,高效渲染,软件支持多。参考
http://iwun.github.io/2017/07/21/gltf-introduction/ -
git :是一个代码管理的工具,
-
github:最大的开源项目管理网站,采用git方式管理代码。
-
node & npm : node 是以javascript语法的服务端语言,npm是他的包管理工具。
-
python :非常好的一门编程语言,简洁而强大,易于上手,支持脚本开发。
网友评论