ygtu

3D建模

Cocos Creator:输入事件系统

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 输入事件系统 EventTarget 支持了一套完整的 事件监听和发射机制 。在 Cocos Creator 3.4.0 中,我们支持了 input 对象,该对象实现了 EventTarget 的事件监听接口,可以通过 input 对象监听全局的系统输入事件。而原先的 systemEvent 对象则从 v3.4.0 开始废弃了,未来将逐步移除,建议使用 input 对象作为替代。 systemEvent 和 input 二者的差异包括: 在类型定义上的差异 * systemEvent 的触摸事件回调的类型定义是 (touch: Touch, event: EventTouch) => void * input 的触摸事件回调的类型定义是 (event:
4 min read
3D建模

Cocos Creator:监听和发射事件

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 监听和发射事件 Cocos Creator 引擎提供了 EventTarget 类,用以实现自定义事件的监听和发射,在使用之前,需要先从 'cc' 模块导入,同时需要实例化一个 EventTarget 对象。 import { EventTarget } from 'cc'; const eventTarget = new EventTarget(); 注意:虽然 Node 对象也实现了一些 EventTarget 的接口,但是我们不再推荐继续通过 Node 对象来做自定义事件的监听和发射,因为这样子做不够高效,同时我们也希望 Node 对象只监听与 Node 相关的事件。 监听事件 监听事件可以通过 eventTarget.on() 接口来实现,方法如下: // 该事件监听每次都会触发,需要手动取消注册 eventTarget.
3 min read
3D建模

Cocos Creator:脚本进阶

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 脚本进阶 在阅读到此章节时,默认您已经对脚本系统较为熟悉,包括装饰器等。否则,请参阅: * 脚本基础 * 装饰器 实例化 通过脚本定义一个 Foo 类和 Bar 类,Foo 类需要使用 Bar 类定义的属性,此时可以在 Foo 类中将 Bar 类直接 new 出一个对象: class Foo { public bar: Bar = null;; constructor() { this.bar = new Bar(); } } let bar = new Foo(); 实例方法 实例方法请在原型对象中声明: class Foo { public text!
4 min read
3D建模

Cocos Creator:tsconfig

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 tsconfig 项目中 tsconfig.json 的 绝大多数 编译选项并不影响 Cocos Creator 对 TypeScript 的编译。因此,你需要小心配置其中的某些选项,以使得 IDE 的检查功能和 Cocos Creator 的编译行为一致。 以下选项不应当显式修改: * compilerOptions.target * compilerOptions.module 例如,若将 tsconfig.json 设置为: { "compilerOptions": { "target": "es5", "module": "cjs" } } 那么以下脚本代码在(使用 tsc 作为检查器的)IDE 中不会引起错误,因为 compilerOptions.module 设置为了 cjs。
2 min read
Cocos Creator:获取和加载资源
3D建模

Cocos Creator:获取和加载资源

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 获取和加载资源 Cocos Creator 3.0 采用与 Cocos Creator v2.x 统一的资源管理机制,在本篇教程,我们将介绍: * 资源属性的声明 * 如何在 属性检查器 里设置资源 * 动态加载资源 * 加载远程资源和设备资源 * 资源的依赖和释放 资源属性的声明 在 Cocos Creator 中,所有继承自 Asset 的类型都统称资源,如 Texture2D、SpriteFrame、AnimationClip、Prefab 等。它们的加载是统一并且自动化的,相互依赖的资源能够被自动预加载。 例如,当引擎在加载场景时,会先自动加载场景关联到的资源,这些资源如果再关联其它资源,其它也会被先被加载,等加载全部完成后,场景加载才会结束。 脚本中可以这样定义一个 Asset 属性:
3 min read
3D建模

Cocos Creator:加载和切换场景

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 加载和切换场景 在 Cocos Creator 中,我们使用场景文件名(不包含扩展名)来索引指代场景。并通过以下接口进行加载和切换操作: director.loadScene("MyScene"); 除此之外,从 v2.4 开始 Asset Bundle 还增加了一种新的加载方式: bundle.loadScene('MyScene', function (err, scene) { director.runScene(scene); }); Asset Bundle 提供的 loadScene 只会加载指定 bundle 中的场景,并不会自动运行场景,还需要使用 director.runScene 来运行场景。 loadScene 还提供了更多参数来控制加载流程,开发者可以自行控制加载参数或者在加载完场景后做一些处理。 更多关于加载 Asset
3 min read
3D建模

Cocos Creator:组件和组件执行顺序

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 组件和组件执行顺序 所有继承自 Component 的类都称为组件类,其对象称为组件,实现了 Cocos Creator 3.0 EC 系统中的组件概念。 组件类必须是 cc 类。 import { Component } from 'cc'; @ccclass("MyComponent") class MyComponent extends Component { } 组件的创建和销毁 组件的生命周期完全由节点操控。与普通类对象不同,组件不能由构造函数创建: const component = new MyComponent(); // 错误:组件无法由构造函数创建 相反地,组件必须由节点来创建,通过如下方法将组件添加到节点上: const myComponent = node.addComponent(MyComponent); 当组件不再被需要的时候,可以调用 node.
4 min read
3D建模

Cocos Creator:使用计时器

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用计时器 在 Cocos Creator 中,我们为组件提供了方便的计时器。 也许有人会认为 setTimeout 和 setInterval 就足够了,开发者当然可以使用这两个函数,不过我们更推荐使用计时器,因为它更加强大灵活,和组件也结合得更好! 下面来看看它的具体使用方式: 开始一个计时器 this.schedule(function() { // 这里的 this 指向 component this.doSomething(); }, 5); 上面这个计时器将每隔 5s 执行一次。 更灵活的计时器 // 以秒为单位的时间间隔 let interval = 5; // 重复次数 let repeat = 3; // 开始延时 let delay = 10; this.schedule(function(
2 min read
3D建模

Cocos Creator:创建和销毁节点

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 创建和销毁节点 创建新节点 除了通过场景编辑器创建节点外,我们也可以在脚本中动态创建节点。 以下是一个简单的例子: import { _decorator, Component, Node } from 'cc'; const { ccclass, property } = _decorator; @ccclass("test") export class test extends Component { start(){ let node =new Node('box'); node.setPosition(0,0,-10); } } 需要注意的是,在上述的示例中通过 new Node 创建出来的节点并不会主动添加到场景内,直至用户调用 director.getScene().addChild(node) 来添加到场景内或者通过 node.parent
3 min read
3D建模

Cocos Creator:常用节点和组件接口

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 常用节点和组件接口 在通过 访问节点和组件 介绍的方法获取到节点或组件实例后,这篇文章将会介绍通过节点和组件实例可以通过哪些常用接口实现我们需要的种种效果和操作。这一篇也可以认为是 Node 和 Component 类的 API 阅读指南,可以配合 API 一起学习理解。 节点状态和层级操作 假设我们在一个组件脚本中,通过 this.node 访问当前脚本所在节点。 激活/关闭节点 节点默认是激活的,我们可以在代码中设置它的激活状态,方法是设置节点的 active 属性: this.node.active = false; 设置 active 属性和在编辑器中切换节点的激活、关闭状态,效果是一样的。当一个节点是关闭状态时,它的所有组件都将被禁用。同时,它所有子节点,以及子节点上的组件也会跟着被禁用。要注意的是,子节点被禁用时,并不会改变它们的 active
4 min read
Cocos Creator:访问节点和组件
3D建模

Cocos Creator:访问节点和组件

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 访问节点和组件 你可以在 属性检查器 里修改节点和组件,也能在脚本中动态修改。动态修改的好处是能够在一段时间内连续地修改属性、过渡属性,实现渐变效果。脚本还能够响应玩家输入,能够修改、创建和销毁节点或组件,实现各种各样的游戏逻辑。要实现这些效果,你需要先在脚本中获得你要修改的节点或组件。 在本篇教程,我们将介绍如何 * 获得组件所在的节点 * 获得其它组件 * 使用 属性检查器 设置节点和组件 * 查找子节点 * 全局节点查找 * 访问已有变量里的值 获得组件所在的节点 获得组件所在的节点很简单,只要在组件方法里访问 this.node 变量: start() { let node = this.node; node.setPosition(0.0, 0.0, 0.0); } 获得其它组件 如果你经常需要获得同一个节点上的其它组件,这就要用到
6 min read
3D建模

Cocos Creator:生命周期回调

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 生命周期回调 Cocos Creator 为组件脚本提供了生命周期的回调函数。开发者只需要定义特定的回调函数,Creator 就会在特定的时期自动执行相关脚本,开发者不需要手工调用它们。 目前提供给开发者的生命周期回调函数主要有(按生命周期触发先后排列): * onLoad * onEnable * start * update * lateUpdate * onDisable * onDestroy onLoad 组件脚本的初始化阶段,我们提供了 onLoad 回调函数。onLoad 回调会在节点首次激活时触发,比如所在的场景被载入,或者所在节点被激活的情况下。在 onLoad 阶段,保证了你可以获取到场景中的其他节点,以及节点关联的资源数据。onLoad 总是会在任何 start 方法调用前执行,这能用于安排脚本的初始化顺序。通常我们会在 onLoad 阶段去做一些初始化相关的操作。例如: import { _decorator, Component, Node, Sp
3 min read
3D建模

Cocos Creator:属性参数

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 属性参数 属性参数用来给已定义的属性附加元数据,类似于脚本语言的 Decorator 或者 C# 的 Attribute。 属性检查器相关参数 参数名说明类型默认值备注type限定属性的数据类型(Any)undefined详见 type 参数visible在 属性检查器 面板中显示或隐藏boolean(注1)详见 visible 参数displayName在 属性检查器 面板中显示为另一个名字stringundefined-tooltip在 属性检查器 面板中添加属性的 Tooltipstringundefined-multiline在 属性检查器 面板中使用多行文本框booleanfalse-readonly在 属性检查器 面板中只读booleanfalse-min限定数值在编辑器中输入的最小值numberundefined-max限定数值在编辑器中输入的最大值numberundefined-step指定数值在编辑器中调节的步长numberundefined-range一次性设置 min、m
2 min read
Cocos Creator:装饰器使用
3D建模

Cocos Creator:装饰器使用

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 装饰器使用 cc 类 将装饰器 ccclass 应用在类上时,此类称为 cc 类。cc 类注入了额外的信息以控制 Cocos Creator 对该类对象的序列化、编辑器对该类对象的展示等。因此,未声明 ccclass 的组件类,也无法作为组件添加到节点上。 ccclass 装饰器的参数 name 指定了 cc 类的名称,cc 类名是 独一无二 的,这意味着即便在不同目录下的同名类也是不允许的。当需要获取相应的 cc 类时,可以通过其 cc 类名来查找,例如: * 序列化。若对象是 cc 类对象,则在序列化时将记录该对象的 cc 类名,反序列化时将根据此名称找到相应的
11 min read
3D建模

Cocos Creator:运行环境

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 运行环境 Cocos Creator 3.0 引擎的 API 都存在模块 cc 中,使用标准的 ES6 模块导入语法将其导入: import { Component, // 导入类 Component _decorator, // 导入命名空间 _decorator Vec3 // 导入类 Vec3 } from 'cc'; import * as modules from 'cc'; // 将整个 Cocos Creator 模块导入为命名空间 Cocos Creator @_decorator.ccclass("MyComponent") export class MyComponent extends Component { public v
1 min read
Cocos Creator:置代码编辑环境
3D建模

Cocos Creator:置代码编辑环境

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 配置代码编辑环境 在 偏好设置 面板中指定了 默认脚本编辑器,便可以在 资源管理器 中双击脚本文件打开代码编辑器快速编辑代码。本篇内容主要以 Visual Studio Code 为例介绍如何配置开发环境。 Visual Studio Code (以下简称 VS Code)是微软推出的轻量化跨平台 IDE,支持 Windows、Mac、Linux 平台,安装和配置非常简单。使用 VS Code 管理和编辑项目脚本代码,可以轻松实现语法高亮、智能代码提示、网页调试等功能。 安装 VS Code 前往 VS Code 的 官方网站,点击首页的下载链接即可下载。 MacOS 用户解压下载包后双击 Visual
9 min read
Cocos Creator:创建脚本
3D建模

Cocos Creator:创建脚本

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 创建脚本 创建组件脚本 在 Cocos Creator 中,脚本也是资源的一部分。在 资源管理器 中创建的脚本,默认是一个 NewComponent 组件,我们称之为组件脚本。可通过以下两种方式创建: * 资源管理器 面板空白位置或某个文件夹资源下右击菜单,选择 Create > TypeScript > NewComponent。 * 资源管理器 左上角的 + 按钮,点击后选择 TypeScript > NewComponent。 在创建脚本时,名称不能为空,输入框默认为 NewComponent。我们将其修改为 say-hello,可以看到在 资源管理器 中生成了一个名为 say-hello 的脚本文件。 新建后的初始脚本代码如下: import { _decorator, Component, Node } from 'cc'; const
8 min read
3D建模

Cocos Creator:语言支持

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 语言支持 Cocos Creator 支持 TypeScript 和 JavaScript 两种编程语言。但需要注意的是,JavaScript 只支持以 插件脚本 的形式导入使用。 TypeScript Cocos Creator 支持 TypeScript 4.1.0。在此基础上,做了以下限制: tsconfig.json 不会被读取。每个项目都隐含着如下选项: { "compilerOptions": { "target": "ES2015", "module": "ES2015", "isolatedModules": true, "experimentalDecorators": true, "moduleResolution": /* Cocos Creator 特定的模块解析算法 */, "forceConsistentCasingInFileNames": true, } } 隐含的 isol
4 min read
Cocos Creator:文本资源
3D建模

Cocos Creator:文本资源

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 文本资源 Creator 支持使用文本文件,常见的文本格式如:.txt、.plist、.xml、.json、.yaml、.ini、.csv、.md。通过 资源导入 的方式将其导入到编辑器,所有的文本文件都会导入为 cc.TextAsset 格式的资源。 使用方式 开发者可通过 编辑器挂载 和 代码中动态加载 两种方式获取文本数据。 通过编辑器 首先在 资源管理器 中新建一个 TypeScript,脚本内容示例如下: import { _decorator, Component, TextAsset } from 'cc'; const { ccclass, property } = _decorator; @ccclass('ItemTemplate') export class ItemTemplate
2 min read
Cocos Creator:JSON 资源
3D建模

Cocos Creator:JSON 资源

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 JSON 资源 Creator 支持使用 Json 文件,通过 资源导入 的方式将其导入到编辑器,所有的 JSON 文件都会导入为 cc.JsonAsset 格式的资源。 使用方式 开发者可通过 编辑器挂载 和 代码中动态加载 两种方式获取 Json 数据。 通过编辑器 首先在 资源管理器 中新建一个 TypeScript,脚本内容示例如下: import { _decorator, Component, JsonAsset } from 'cc'; const { ccclass, property } = _decorator; @ccclass('ItemTemplate') export class ItemTemplate extends Component
2 min read
Cocos Creator:瓦片图资源(TiledMap)
3D建模

Cocos Creator:瓦片图资源(TiledMap)

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 瓦片图资源(TiledMap) 瓦片图资源是由 Tiled 编辑器 所导出的数据格式。 Creator 版本Tiled 版本v3.0 及以上v1.4v2.2 及以上v1.2.0v2.1 及以下v1.0.0 导入地图资源 地图所需资源有: * .tmx 地图数据 * .png 图集纹理 .tsx tileset 数据配置文件(部分 tmx 文件需要) 创建瓦片图资源 从 资源管理器 里将地图资源拖动到已创建 TiledMap 组件的 Tmx File 属性中: 在项目中的存放 为了提高资源管理效率,建议将导入的 tmx、tsx
2 min read
Cocos Creator:骨骼动画资源(DragonBones)
3D建模

Cocos Creator:骨骼动画资源(DragonBones)

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 骨骼动画资源(DragonBones) DragonBones 骨骼动画资源是由 DragonBones 编辑器 导出的数据格式(支持 DragonBones v5.6.3 及以下)。 导入 DragonBones 骨骼动画资源 DragonBones 骨骼动画资源包括: * .json/.dbbin 骨骼数据 * .json 图集数据 .png 图集纹理 创建骨骼动画资源 在场景中使用 DragonBones 骨骼动画资源需要两个步骤: 创建节点并添加 DragonBones 组件: 从 资源管理器 里将骨骼动画资源拖动到已创建 DragonBones 组件的 Dragon Asset 属性中: 为 DragonBones 组件设置图集数据 从 资源管理器 里将图集数据拖动到
2 min read
Cocos Creator:骨骼动画资源(Spine)
3D建模

Cocos Creator:骨骼动画资源(Spine)

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 骨骼动画资源(Spine) Creator 中的骨骼动画资源是由 Spine 编辑器 导出的,目前支持 JSON 和 二进制 两种数据格式。 各 Creator 版本对应支持的 Spine 版本如下所示: Creator 版本Spine 版本v3.0 及以上v3.8(原生平台不支持特定版本 v3.8.75)v2.3 及以上v3.8v2.2v3.7v2.0.8~v2.1v3.6v2.0.7 及以下v2.5 导入骨骼动画资源 骨骼动画所需资源有: * .json/.skel
2 min read
3D建模

Cocos Creator:程序化创建网格

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 程序化创建网格 当由 DCC(Digital Content Creation)软件制作或引擎内的地形编辑器制作的模型无法满足需求时,可以通过 API 来创建网格。如需要在运行时创建某种可以生长的蛇、动态编辑模型或实现某些曲面,都可以通过程序化来创建网格。 创建网格 引擎支持两种网格:静态网格 和 动态网格,适用于不同的场景,开发者可按需使用。 * 静态网格,通过 utils.MeshUtils.createMesh 创建,一旦创建成功,网格内的几何体不可编辑的。 * 动态网格:通过 utils.MeshUtils.createDynamicMesh 创建,创建成功后,网格内的几何体仍然可以修改。 返回值为 Mesh 组件,因此我们方便的将其赋值给 MeshRenderer 的 mesh 属性,如此即可将其显示在屏幕上。 API
1 min read
3D建模

Cocos Creator:glTF 模型

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 glTF 模型 Cocos Creator 支持 glTF 2.0 及更早的文件格式。 URI 解析 Creator 支持 glTF 中指定以下形式的 URI: * Data URI * 相对 URI 路径 * 文件 URL * 文件路径 转换关系 当导入 glTF 模型到 Creator 时,glTF 中的资源将会按照以下关系转换为 Creator 中的资源: glTF 资源Cocos Creator 资源glTF 场景预制体glTF 网格网格glTF 蒙皮骨骼glTF 材质材质glTF 贴图贴图glTF 图像图像glTF 动画动画剪辑 glTF
5 min read
NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号