3dstojs 中文文档教程

发布于 8年前 浏览 24 项目主页 更新于 3年前

3dstojs

将 3D Studio (.3ds) 文件解析为 javascript 或 JSON 的 nodejs 模块。

Overview

将 3D Studio 文件 (.3ds) 解析为 javascript 对象或 JSON。

将解析的数据保存到 JSON 文件或将数据分解为段并将每个段保存到它自己的 JSON 文件(材料、对象/网格、关键帧等)的选项。

由于 .3ds 文件规范未公开,此解析不会解析 .3ds 文件中的所有内容。 为了帮助处理未知块,可以在解析期间创建日志并配置为捕获无法解析的日志以帮助更新解析能力。

Installation

npm install 3dstojs

Usage:

返回一个js对象。

var parser = require("3dstojs");
var data = parser.parse("C:/3d/models/sample.3ds");

返回一个 JSON 字符串。

var parser = require("3dstojs");
var jsonStr = parser.parseToJson("C:/3d/models/sample.3ds");

注意:parse()parseToJson() 都是同步调用

Methods

Parse - 获取文件路径和可选选项对象。 返回解析数据的 js 对象。 将 JSON 和日志信息保存到文件的选项。 有关选项,请参见下文

parse(file, [options])

ParseToJson - 接受文件路径和可选选项。 返回解析数据的 JSON 字符串。 将 JSON 和日志信息保存到文件的选项。 有关选项,请参见下文。

parseToJson(file, [options])

帮助 - 将帮助文本写入控制台。 与下面“选项”部分中的内容相同。

help()

Parameters

这些是方法的参数......

parse(file, options)parseToJson(file, options)

file -- .3ds 文件的完整路径。”); 选项 - - 日志记录、保存到 JSON 文件等事件的标志......

选项

是一个 js 对象,包含用于记录日志、保存 JSON 文件等的配置

...... br> saveOptions - object - 包含以下用于保存到文件(JSON、日志等)的属性
 路径 - string(默认:3ds 文件的 string 目录。) - 保存文件的位置。
 jsonPerItem - bool(默认值:false)- 将对象保存为单独的 JSON 文件。
 unparsedToFile - bool(默认值:false)- 将无法解析的块保存到文件中。
logging - bool(默认值:false)- 创建解析事件的日志文件。
logOptions - object - 包含关于要记录的内容的后续标志。
 read - bool(默认值:true)- 记录从文件中读取的标头块。
 parsing - bool(默认值:true)- 记录可识别块的解析。
 unparsed - bool(默认值:true)- 记录可识别的 ID,但没有足够的信息来解析。
 unknown - bool(默认值:true)- 记录未知的块 ID。
 jumping - bool(默认值:false)- 记录读取文件中的任何位置移动。
 files - bool(默认值:true)- 记录保存到磁盘的 json 文件。
verbose - bool(默认值:false)- 将解析进度和统计信息打印到控制台。
verboseOptions - object - 包含关于要写入控制台的内容的后续标志。
 onlyStats: bool(默认值:false)- 仅显示完成时的统计数据。
trackUnparsed - bool(默认值:false)-

如果选项参数被省略,则返回一个对象 Default Option 对象……

选项 = { 
    saveJson:假的, 
    保存选项:{ 
      path: '<3ds 文件目录>', 
      jsonPerItem:假, 
      未解析到文件:假 
    }, 
    记录:假, 
    日志选项:{ 
      阅读:真实的, 
      解析:真, 
      未解析:真实, 
      未知:真实, 
      跳跃:假的, 
      文件:真实 
    }, 
    详细:错误, 
    详细选项:{ 
      onlyStats:假 
    }, 
    trackUnparsed: false 
  } 
  

注释

因为 .3ds 文件格式不是公开可用的,这个解析器可能不解析 .3ds 文件中的所有数据。 如果您觉得文件中的所有数据都没有被解析; 使用 options 参数来帮助找出哪些块没有被解析。

未解析/未知块的最佳选项设置:

var options = { 
    saveToJson:是的, 
    保存选项:{ 
      未解析到文件:真 
    }, 
    记录:真实, 
    日志选项:{ 
      未解析:真实, 
      未知:真实 
    } 
  } 
  

许可证

麻省理工学院

3dstojs

A nodejs module to parses 3D Studio (.3ds) files to javascript or JSON.

Overview

Parse 3D Studio file (.3ds) to a javascript object or JSON.

Option to save the parsed data to a JSON file or break down the data to segments and save each segment to it's own JSON file (Materials, Objects/Mesh, Key Framer, etc…).

Due to .3ds file specifications not being public this parse does not parse everything in a .3ds file. To help with unknown chunks logs can be created during parsing and configured to capture unparseable to help update parsing ability.

Installation

npm install 3dstojs

Usage:

Returns a js object.

var parser = require("3dstojs");
var data = parser.parse("C:/3d/models/sample.3ds");

Returns a JSON string.

var parser = require("3dstojs");
var jsonStr = parser.parseToJson("C:/3d/models/sample.3ds");

Note: Both parse() and parseToJson() are synchronous calls

Methods

Parse - Takes in a filepath and optional options object. Returns a js objected of the parsed data. Options to save JSON and log information to a file. For options See below

parse(file, [options])

ParseToJson - Takes in a filepath and optional options. Returns a JSON string of the parsed data. Options to save JSON and log information to a file. For Options see below.

parseToJson(file, [options])

Help - Writes help text to the console. Same content as what is found in the "Options" section below.

help()

Parameters

These are the parameters for methods…

parse(file, options) and parseToJson(file, options)

file -- full path to the .3ds file."); options - - flags for events such as logging, saving to JSON files, etc…

Options

Is a js object that contains configurations for logging, saving JSON files, etc…

saveJson - bool (default: false) - flag to save parsed object to a JSON file.
saveOptions - object - Contains the following properties for saving to files (JSON, log, etc…)
 path - string (default: string directory of 3ds file.) - Location to save files.
 jsonPerItem - bool (default: false) - Save objects as separate JSON files.
 unparsedToFile - bool (default: false) - Saves the unparsable chunk to a file.
logging - bool (default: false) - Creates a log file of parsing events.
logOptions - object - Contains the follow flags on what is to be logged.
 read - bool (default: true) - Logs header chunks read from the file.
 parsing - bool (default: true) - Logs parsing of identifiable chunks.
 unparsed - bool (default: true) - Logs identifiable ids but not enough info to parse.
 unknown - bool (default: true) - Logs unknown chunk ids.
 jumping - bool (default: false) - Logs any position movement in the read file.
 files - bool (default: true) - Logs the json files saved to disk.
verbose - bool (default: false) - Prints the parsing progress and stats to the console.
verboseOptions - object - Contains the follow flags on what to write to the console.
 onlyStats: bool (default: false) - Shows only the stats on completion.
trackUnparsed - bool (default: false) - returns an object

Default Option object if the options parameter is omitted…

options = {
  saveJson: false,
  saveOptions:{
    path: '<directory of 3ds file>',
    jsonPerItem: false,
    unparsedToFile: false
  },
  logging: false,
  logOptions:{
    read: true,
    parsing: true,
    unparsed: true,
    unknown: true,
    jumping: false,
    files: true
  },
  verbose: false,
  verboseOptions:{
    onlyStats: false
  },
  trackUnparsed: false
}

Notes

Since the .3ds file format isn't publicly available this parser might not parse all data in your .3ds file. If you feel like not all of the data in the file was parse; use the options parameter to help figure out what chunks were not parsed.

The best option setup for unparsed/unkown chunks:

var options = {
  saveToJson: true,
  saveOptions: {
    unparsedToFile:true
  },
  logging: true,
  logOptions: {
    unparsed: true,
    unknown: true
  }
}

License

MIT

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文