3D建模

A collection of 1733 posts
3D建模

Cocos Creator:扩展改名

推荐:将NSDT场景编辑器及加入你的3D工具链 3D工具集:NSDT简石数字孪生 扩展改名 修改显示名称 如果想对扩展改名,只需修改 package.json 文件中的 name 字段即可。代码示例如下: // "name": "simple-1649426645745" "name": "hello-world" 像上面一样将 name 字段改为 "hello-world" 并在扩展管理器面板刷新扩展,就可以看到扩展的名称改成了 hello-world。 修改扩展文件夹名称 如果想连同文件夹名称一并修改,需要在文件夹修改后重启 Cocos Creator,才能让修改过文件夹名称的扩展重新生效。 如果修改了文件夹名称,i18n 多语言相关的字符串路径也需要一并修改,如下所示: // "description": "i18n:simple-1649426645745.description", "description": "i18n:hello-world.description", 3D建模学习工作室 翻译整理,转载请注明出处 上一篇:Cocos Cr
1 min read
3D建模

Cocos Creator:入门示例-扩展间通信

推荐:将NSDT场景编辑器及加入你的3D工具链 3D工具集:NSDT简石数字孪生 入门示例-扩展间通信 在前面两篇文档 入门示例-菜单 和 入门示例-面板 中,我们介绍了: * 怎么创建扩展 * 怎么在扩展中定义菜单 * 怎么在扩展中定义消息 * 怎么在扩展中定义面板 本文主要演示两个扩展之间如何通信,将涉及到三个话题: * 如何打开另一个扩展的面板 * 如何向另一个扩展发送消息 * 如何发送和监听广播消息 打开另一个扩展的面板 有时候我们需要在自己写的扩展中打开另一个扩展,接下来我们就试着对 入门示例-菜单 中的扩展示例进行改造,使它可以打开 入门示例-面板。 修改后的 package.json 如下: { "package_version": 2, "version": "1.0.0", "name": "hello-world", ... "contributions": { "menu": [ { "path": "Develop
4 min read
3D建模

Cocos Creator:入门示例-面板

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 入门示例-面板 在文档 入门示例-菜单 中讲解了怎么创建一个最简单的扩展,接下来我们看看如何创建一个面板并与之通信。 通过模板创建 在 Cocos Creator 中创建面板最快捷的方式是通过 包含面板的扩展模板 创建,如下图所示: 点击 创建扩展 按钮后,可以在项目根目录下找到 extensions/first-panel 扩展。 编译、安装 在命令行工具中,定位到 extensions/first-panel 目录,并执行以下语句: npm install npm run build 命令执行完成后,回到 扩展管理器 中,找到 first-panel 扩展,启用并刷新,如下图所示: 查看面板 启用并刷新插件后,可以在 面板(
4 min read
3D建模

Cocos Creator:入门示例-菜单

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 入门示例-菜单 本文将演示如何创建一个 Cocos Creator 扩展,本文将包含以下知识点: * 创建扩展 * 新增菜单 * 菜单消息 创建并安装扩展 在编辑器的菜单栏中找到 扩展 -> 创建扩展 菜单,如下图所示: 点击 创建扩展 后,会弹出如下图所示的创建面板: Cocos Creator 提供了如上图所示 4 种扩展模板,用于快速创建一个新的扩展项目。 为了更简单的演示模板创建流程,我们选择 Blank 模板,点击面板右下方的 创建扩展 按钮建一个扩展包。 更多模板创建相关内容,请参考文档 扩展模板与编译构建-模板类型。 扩展管理 扩展创建成功后,点击顶部菜单栏中的 扩展 -> 扩展管理器 -> 已安装扩展,即可看到刚才创建的扩展。新创建的扩展默认是未启用状态,
7 min read
Cocos Creator:扩展模板与编译构建
3D建模

Cocos Creator:扩展模板与编译构建

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 扩展模板与编译构建 本文将详细介绍如何通过 Creator 提供的扩展模板创建一个带有面板的扩展并使用。 在编辑器主菜单上选择 扩展 -> 创建扩展 菜单,即可打开新建面板。 模板类型 Cocos Creator 提供了 4 种扩展模板,用于快速创建一个新的扩展项目。 * Blank:空扩展。 * HTML Panel:基于 HTML 的扩展模板,并带有一个弹出面板。 * Vue2.x Panel:基于 Vue2.x 的扩展模板,并带有一个弹出面板。 * Vue3.x Panel:基于 Vue3.x 的扩展模板,并带有一个弹出面板。 以上 4 种方式创建出来的扩展仅在工作量和技术选型上有差别,扩展可实现的能力无差别,开发者可根据自己的需求和技术背景自行选择。
4 min read
3D建模

Cocos Creator:扩展管理器面板

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 扩展管理器面板 扩展管理器 用于管理编辑器内的扩展。点击 Cocos Creator 顶部菜单栏中的 扩展 -> 扩展管理器 即可打开: 扩展管理器面板如下: 其相关功能说明如下: 1. 扩展类型,分为 Cocos 官方 以及 内置,通过下拉菜单选择。 2. 已安装,点击后展示目前已安装的插件。 3. 从左到右依次为 搜索、导入 和 刷新 * 搜索:点击后可在下图所示的输入框内通过关键字查找当前项目内的扩展: * 导入:点击后通过 zip 压缩文件导入新的扩展 * 刷新: 刷新当前所有插件的状态 4. 扩展列表: 对于每一个扩展,左侧显示的是扩展名称、图标、版本号以及描述。 右侧的按钮分别为: * 打开扩展所在目录
2 min read
3D建模

Cocos Creator:原生插件创建范例

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 原生插件创建范例 如果想在原生项目中使用第三方原生库,则可以按照本文的步骤进行。 本文需要对原生工程的编译生成有一定了解,开发者可以通过 CMake 官网 了解。 我们也准备了范例工程 GitHub 以供参考。 创建原生插件 插件开发工程 Windows 配置 示例中,我们将引入 hello_cocos.lib 作为 windows 平台上的插件,引入引擎并使其支持在 TS/JS 中使用。其他平台将使用 hello_cocos.a 为例,如果要使用其他库,请提前编译到对应平台。 使用 Cocos Creator 3.6+ 创建一个工程 启动 CocosCreator,在指定目录执行 创建空工程。 创建并保存一个空的场景 通过
7 min read
3D建模

Cocos Creator:原生插件

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 原生插件 注意:对 3.6.2 的原生插件支持有问题,请升级到 3.6.3 或更高版本。 原生插件是编辑器插件的一部分。开发者通过原生插件调用脚本绑定接口(如 sebind)可以扩展 JS 脚本调用 C++ 的接口的能力,对解决脚本的性能瓶颈和复用现有代码库都非常有利。 和现有插件系统的关系 原生插件能独立于编辑器插件存在,用户通过拷贝到指定目录就可以使用原生插件。 同时,原生插件也作为现有编辑器插件系统的补充,扩展游戏运行时的能力。利用编辑插件的能力实现对原生插件管理, 如:下载/开关/版本升级等功能。 插件的结构 每个插件的根目录下都有一个插件的描述文件 cc_plugin.json,这是一个标准的 JSON 文件。 在构建原生工程的时候,构建系统会从工程的 extensions 和 native
4 min read
Cocos Creator:性能剖析器(Profiler)
3D建模

Cocos Creator:性能剖析器(Profiler)

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 性能剖析器(Profiler) 性能剖析器是用于性能分析和统计的工具,目前仅限原生平台。 默认统计数据 性能剖析器的效果展示如图: 与左下角旧版的 Profiler 不同,新版的 Profiler 提供更详细的游戏性能与内存统计数据,并支持扩展,开发者可自由添加关心的性能及内存数据,默认的数据如下: 核心数据统计 CoreStats ,包括: * 帧数 * 每帧渲染时间 * GFX 后端 * 是否开启多线程 * 是否开启遮挡查询 * 是否开启阴影贴图 * 屏幕分辨率 对象个数统计 ObjectStats ,包括: * 渲染调用次数 * 实例化个数 * 三角面个数 * 2D渲染批次个数 * 渲染模型个数 * 摄像机个数 内存使用统计 MemoryStats ,包括: * DebugRenderer 的顶点缓冲区大小 * 原生字体内存大小 * 贴图占用的显存 * Buffer占用的显存 * GeometryRenderer 顶点缓冲区大小 性能数
4 min read
3D建模

Cocos Creator:原生场景剔除

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 原生场景剔除 Creator 从 v3.4.0 开始支持原生场景剔除,包括 八叉树场景剔除 和 遮挡查询剔除,仅对原生平台生效。 八叉树场景剔除 一般情况下,引擎剔除不在视锥(摄像机的可见范围)内的模型,是通过逐个检测模型的包围盒是否在视锥内,速度较慢。若开启八叉树场景剔除,则通过八叉树可以快速剔除不在视锥内的模型。 该功能默认关闭,若需要开启,在 层级管理器 中选中场景根节点 Scene,然后在 属性检查器 中便可看到 Octree Scene Culling 项,勾选 Enabled 即可: 开启八叉树场景剔除后,在 场景编辑器 中会显示整个世界的包围盒(例如上图场景中白色边框的立方体)。 Octree Scene Culling 的属性说明如下:
2 min read
3D建模

Cocos Creator:原生引擎内存泄漏检测系统

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 原生引擎内存泄漏检测系统 原生引擎使用 C++ 语言开发,为了方便游戏和引擎开发者快速查找内存泄漏,Creator 从 v3.4 开始提供了 内存泄漏检测系统。 相对其他内存泄漏查找工具,Cocos Creator 内置的内存泄漏检测工具有以下优点: * 跨平台:支持 Windows/Android/Mac/iOS 平台。 * 易用性:无需下载额外的工具以及进行复杂的配置。支持输出内存泄漏处的堆栈信息,方便快速定位泄漏。 * 一致性:各平台的使用流程几乎一致,都是从原生平台对应的 IDE 中启动游戏 -> 运行一段时间 -> 关闭游戏 -> 查看 IDE 输出日志。 * 实时性:查找泄露过程中的游戏帧率虽有下降,但仍然保持实时运行帧率。 * 精确性:理论上零漏报,零误报。 使用步骤
3 min read
3D建模

Cocos Creator:CMake 使用简介

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 CMake 使用简介 CMake 是一个跨平台的构建工具,可根据需要输出各种各样的 Makefile 或者 Project 文件。CMake 使用 CMakeLists.txt 来配置工程文件,开发者可以在这里集成 SDK 或者引用用于编译原生平台的库和配置,详情可参考 二次开发。 从 v3.0 开始,Creator 已经集成了 CMake 的输出过程和基础编写,本篇文档主要介绍原生平台上 CMakeLists.txt 的使用规则以及一些简单的示例。 CMakeLists 的生成和使用 生成 当选择某个原生平台进行构建时,项目目录 native\engine 目录下会生成 当前构建的平台名称 文件夹(例如 android),以及 common 文件夹。
11 min read
3D建模

Cocos Creator:JsbBridgeWrapper 基于原生反射机制的事件处理

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 JsbBridgeWrapper 基于原生反射机制的事件处理 注意:在 v3.6 之后,jsb 模块将会逐步废弃,接口将会迁移到 cc 命名空间下的 native 模块。 JsbBridgeWrapper 是基于事件机制,用于 JS 层与原生层进行通信的接口。 建立于 JsbBridge 上的事件分发机制 JsbBridgeWrapper 是封装在 JsbBridge 之上的事件派发机制,相对于 JsbBridge 而言它更方便易用。开发者不需要手动去实现一套消息收发机制就可以进行多事件的触发。但它不具有多线程稳定性或者是 100% 安全。如果遇到复杂需求场景,仍然建议自己实现对应的事件派发。 JsbBridgeWrapper 接口介绍 /** * Listener for jsbBridgeWrapper's event. * It takes one argument as
5 min read
3D建模

Cocos Creator:简化使用 JavaScript 调用 Objective-C 方法(实验性功能)

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 简化使用 JavaScript 调用 Objective-C 方法(实验性功能) 注意:在 v3.6 之后,jsb 模块将会逐步废弃,接口将会迁移到 cc 命名空间下的 native 模块。 背景 在 v3.4.0 之前,通过原生语言的反射机制在 JavaScript 调用 Objective-C 的方法中,我们不仅需要严格声明包名和函数签名,还需要严格校对参数数量以确保正常运行,步骤较为复杂。 因此在 v3.4.0 中我们额外提供了另外一种实验性方法,用于简化脚本层到原生层的调用。这是一种通道,或者说是一个桥梁,在引入其他脚本系统前,我们将其命名为 JsbBridge,意为通过 JSB 绑定作为沟通脚本和原生
4 min read
Cocos Creator:本机性能探查器
3D建模

Cocos Creator:本机性能探查器

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 本机性能探查器 性能探查器是用于性能分析和统计的工具,目前仅在本机平台上可用。 默认统计信息 性能探查器如下所示: 与左下角的旧版本不同,新版本提供了更详细的游戏性能和内存统计,并支持扩展。开发人员可以自由添加他们关心的性能和内存数据。默认数据如下:ProfilerProfiler 核心统计数据,包括:CoreStats * 帧速率 * 每帧渲染时间 * GFX 后端 * 是否启用多线程 * 是否启用遮挡查询 * 是否启用阴影贴图 * 屏幕分辨率 对象计数统计 ,包括:ObjectStats * 渲染调用数 * 实例化数 * 三角形数量 * 2D 渲染批次数 * 渲染模型的数量 * 摄像机数量 内存使用统计 ,包括:MemoryStats * 调试渲染器的顶点缓冲区大小 * 本机字体内存大小 * 纹理占用的视频内存 * 缓冲区占用的视频内存 * 几何渲染器顶点缓冲区大小 性能统计 ,显示逻辑线程调用堆栈,包含每个分析的代码段:Performa
4 min read
3D建模

Cocos Creator:原生场景剔除

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 原生场景剔除 Creator 从 v3.4.0 开始支持原生场景剔除,包括仅限原生平台的八叉树场景剔除和遮挡查询剔除。 八叉树场景剔除 通常,引擎会通过逐个检查模型的边界框是否在视锥体(相机的可见范围)中来剔除不在视锥(相机的可见范围)中的模型,这会较慢。如果启用了八叉树剔除,则八叉树可以快速剔除不在视锥中的模型。 此功能默认处于禁用状态,要启用此功能,请在“层次结构”面板中选择场景根节点“场景”,然后注意“检查器”面板中的“八叉树场景剔除”选项,然后选中“已启用”。 启用八叉树剔除后,整个世界的边界框(例如上图中的白色边框立方体)将显示在“场景”面板中。 八叉树场景剔除的属性描述如下: 财产描述启用选中此选项以启用八叉树场景剔除,仅适用于本机平台。世界迷你宝世界边界框的最小顶点坐标(不渲染边界框之外的对象)。世界麦克斯普斯世界边界框的最大顶点坐标(不渲染边界框以外的对象)。深度八叉树的深度,默认值为
3 min read
3D建模

Cocos Creator:本机引擎内存泄漏检测系统

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 本机引擎内存泄漏检测系统 本机引擎是使用 C++ 语言开发的。为了方便游戏和引擎开发者快速发现内存泄漏,Cocos Creator 从 v3.4.0 开始提供了内存泄漏检测系统。 与其他内存泄漏检测工具相比,Cocos Creator 中内置的内存泄漏检测工具具有以下优点: * 跨平台:支持Windows/Android/Mac/iOS平台。 * 易于使用:无需下载其他工具并执行复杂的配置。支持在内存泄漏处输出堆栈信息,方便快速定位泄漏。 * 一致性:每个平台的使用流程几乎相同:从IDE启动游戏->运行一段时间->关闭游戏->查看IDE输出日志。 * 实时:虽然游戏在性能分析模式下的帧率有所下降,但仍保持实时运行帧率。 * 准确性:理论上为零误报。 使用步骤 默认情况下,内存泄漏检测系统处于禁用状态。要启用它,您需要将引擎目录文件中宏的值修改为 1。USE_MEMORY_LEAK_DETECTORengine/
3 min read
3D建模

Cocos Creator:CMake 使用介绍

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 CMake 使用介绍 CMake 是一个跨平台的构建工具,可以根据需要输出各种生成文件或项目文件。CMake 用于配置项目文件,开发人员可以在其中集成 SDK 或参考库和配置来编译本机平台,请查看二次开发。CMakeLists.txt 从 v3.0 开始,创建者集成了 CMake 输出流程和基础创作。本文档重点介绍在本机平台上使用的规则和一些简单的示例。CMakeLists.txt CMakeLists的生成和使用 代 在选择要构建的本机平台时,该目录将生成一个文件夹(例如:)和一个文件夹,CMake 将在首次运行时在这两个目录中生成文件,这些文件用于不同的目的:native\enginecurrent build platform nameandroidcommonCMakeLists.txt 在文件夹中:主要用于配置相应的构建平台。例如,对于Android平台:current build platform nameCMakeLists.
10 min read
3D建模

Cocos Creator:基于JSB桥的事件机械主义

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 基于JSB桥的事件机械主义 注意:在 v3.6.0 之后,模块即将弃用,API 会移到命名空间的模块中。jsbnativecc 基于JsbBridge的事件化系统 JsbBridgeWrapper是一个基于,更方便、更易于使用的事件化系统。开发人员可以触发多个事件,而无需手动实现一个事件。但它不是mthread安全的。如果您正在处理复杂的情况,仍然建议自己实现 eventify 系统。JsbBridge Jsb桥包装器接口介绍 /** * Listener for jsbBridgeWrapper's event. * It takes one argument as string which is transferred by jsbBridge. */ export type OnNativeEventListener = (arg: string) => void; export
4 min read
3D建模

Cocos Creator:使用 JavaScript 调用 Objective-C 方法的更简单方法

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 使用 JavaScript 调用 Objective-C 方法的更简单方法 注意:在 v3.6.0 之后,模块即将弃用,API 会移到命名空间的模块中。jsbnativecc 背景 在 v3.4.0 之前,使用 JavaScript 调用 Objective-C 静态方法中的反射机制,不仅需要严格声明包名和函数签名,还需要严格检查参数数量以保证正常运行,这是一个复杂的步骤。 此外,v3.4.0 中还提供了另一种实验性方法,用于简化从脚本层到本机层的调用。这是一种通道,或者说桥接,在引入其他脚本系统之前命名,意思是作为脚本和原生APP之间通过绑定进行通信的桥梁。JsbBridgeJSB 注意:两种方式都可以正常工作,开发人员可以根据自己的实际需求选择使用它们。要使用上述方式,请查看使用 JavaScript
3 min read
3D建模

Cocos Creator:介绍

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 介绍 从 Cocos Creator 3.7.0 开始,我们将生成 JS 绑定代码的方法从绑定生成器切换到 Swig。Swig 通过解析其与 .有关我们为什么切换到 Swig 的更多信息,您可以参考 这个问题 .interfaceC++ 为引擎生成 JS 绑定代码 * 确保您已安装 NodeJS (>= v8.9.4) * 打开终端 (macOS/Linux) 或命令行工具 (Windows),导航到engine/native/tools/swig-config * 跑node genbindings.js 如果成功,您将看到以下文本: ====================================================================== Congratulations, JS binding code
2 min read
Cocos Creator:JSB 手动绑定
3D建模

Cocos Creator:JSB 手动绑定

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 JSB 手动绑定 背景 ABCmouse项目中的整体JS/Native通信调用结构始终基于该方法。该方法使得通过反射机制直接在 JavaScript 中调用静态方法成为可能。使用该方法,我们可以执行JS代码,以便我们可以相互通信。callStaticMethod <-> evalStringcallStaticMethodJava/Objective-CevalString 新的ABCmouse应用架构:基于callStaticMethod与evalString的通信 虽然基于这种方法将接口封装在上层后更容易添加新的业务逻辑。然而,过度依赖evalString往往会带来一些陷阱。作为Android方面的一个例子。 CocosJavascriptJavaBridge.evalString("window.sample.testEval('" + param + "',JSON.stringify(" + jsonObj + "))"); 对于常见的参数结构,这工作正常,但是,基于现实世界
16 min read
3D建模

Cocos Creator:简化使用 JavaScript 调用 Java 方法

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 简化使用 JavaScript 调用 Java 方法 注意:在 v3.6 之后,jsb 模块将会逐步废弃,接口将会迁移到 cc 命名空间下的 native 模块。 背景 在 v3.4.0 之前,通过反射机制在 JavaScript 调用 JAVA 的静态方法中,我们不仅需要严格声明包名和函数签名,还需要严格校对参数数量以确保正常运行,步骤较为复杂。 因此在 v3.4.0 中我们额外提供了另外一种实验性方法,用于简化脚本层到原生层的调用。这是一种通道,或者说是一个桥梁,在引入其他脚本系统前,我们将其命名为 JsbBridge,意为通过 JSB 绑定作为沟通脚本和原生 APP
4 min read
Cocos Creator:JSB 2.0 绑定教程
3D建模

Cocos Creator:JSB 2.0 绑定教程

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 JSB 2.0 绑定教程 抽象层 架构 宏(Macro) 抽象层必然会比直接使用 JS 引擎 API 的方式多占用一些 CPU 执行时间,如何把抽象层本身的开销降到最低成为设计的第一目标。 JS 绑定的大部分工作其实就是设定 JS 相关操作的 CPP 回调,在回调函数中关联 CPP 对象。其实主要包含如下两种类型: * 注册 JS 函数(包含全局函数,类构造函数、类析构函数、类成员函数,类静态成员函数),绑定一个 CPP 回调 * 注册 JS 对象的属性读写访问器,分别绑定读与写的 CPP 回调 如何做到抽象层开销最小而且暴露统一的 API 供上层使用?
31 min read
3D建模

Cocos Creator:WebXR 项目构建与发布

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集:NSDT简石数字孪生 WebXR 项目构建与发布 完成 WebXR 应用的 项目设置 并完成项目开发之后,即可打包 WebXR 应用。点击 菜单栏 -> 项目 -> 构建发布。 配置 WebXR 构建属性 构建平台选择 Web 移动端。 开启构建面板最后一个属性 WebXR。 点击构建即可。 配置 https 环境 WebXR 所使用的用于提供 Web 资源的服务必须使用 安全上下文(secure context)。 而启动 https 的域名的服务一般需要配置 .pem(证书文件)。 由于当前版本暂时不支持启动内置 https 服务器,需要用户手动启动。 将 .pem
2 min read
NSDT场景编辑器 | NSDT 数字孪生 | GLTF在线编辑器 | 3D模型在线转换 | UnrealSynth虚幻合成数据生成器 | 3D模型自动纹理化工具
2023 power by nsdt©鄂ICP备2023000829号