FbxSaveOptions
Inheritance: java.lang.Object, com.aspose.threed.IOConfig, com.aspose.threed.SaveOptions
public class FbxSaveOptions extends SaveOptions
Fbx 文件的保存选项。
构造函数
| 构造函数 | 描述 |
|---|---|
| FbxSaveOptions(FileFormat format) | 初始化一个 FbxSaveOptions |
| FbxSaveOptions(FileContentType contentType) | 使用最新支持的版本初始化一个 FbxSaveOptions。 |
方法
FbxSaveOptions(FileFormat format)
public FbxSaveOptions(FileFormat format)
初始化一个 FbxSaveOptions
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| format | FileFormat | 是 getFileFormat 的实例,它应为有效的 FBN 格式。 |
FbxSaveOptions(FileContentType contentType)
public FbxSaveOptions(FileContentType contentType)
使用最新支持的版本初始化一个 FbxSaveOptions。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| contentType | FileContentType | 二进制或 ASCII |
equals(Object arg0)
public boolean equals(Object arg0)
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| arg0 | java.lang.Object |
Returns: 布尔
getClass()
public final native Class<?> getClass()
Returns: java.lang.Class
getEmbedTextures()
public boolean getEmbedTextures()
获取是否将纹理嵌入最终输出文件。FBX 导出器将尝试从 IOConfig.getFileSystem 获取纹理的原始数据,并将文件嵌入最终的 FBX 文件。默认值为 false。
Returns: boolean - 是否将纹理嵌入最终输出文件。FBX 导出器将尝试从 IOConfig.getFileSystem 获取纹理的原始数据,并将文件嵌入最终的 FBX 文件。默认值为 false。
getEnableCompression()
public boolean getEnableCompression()
压缩 FBX 文件中的大型二进制数据(例如动画数据、控制点、顶点元素数据、索引),默认值为 true。
Returns: boolean - 压缩 FBX 文件中的大型二进制数据(例如动画数据、控制点、顶点元素数据、索引),默认值为 true。
getEncoding()
public Charset getEncoding()
获取基于文本的文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
Returns: java.nio.charset.Charset - 基于文本的文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
getExportLegacyMaterialProperties()
public boolean getExportLegacyMaterialProperties()
获取是否导出遗留材质属性,用于向后兼容。此选项默认开启。
Returns: boolean - 是否导出遗留材质属性,用于向后兼容。此选项默认开启。
getExportTextures()
public boolean getExportTextures()
尝试将场景中使用的纹理复制到输出目录。
Returns: boolean - 尝试将场景中使用的纹理复制到输出目录。
getFileFormat()
public FileFormat getFileFormat()
获取当前保存/加载选项中指定的文件格式。
Returns: FileFormat - the file format that specified in current Save/Load option.
getFileName()
public String getFileName()
导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
Returns: java.lang.String - 导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
getFileSystem()
public FileSystem getFileSystem()
允许用户处理在加载/保存期间如何管理外部依赖项。
Returns: FileSystem - Allow user to handle how to manage the external dependencies during load/save. Example: The default FileSystem is LocalFileSystem, it is not safe in environment like server side, But you can override the file system access by specifying a different implementation. Aspose.3D provides different FileSystem implementation like:
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
您也可以使用自己的实现。
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
getFileSystemFactory()
public static FileSystemFactory getFileSystemFactory()
获取 FileSystem 的工厂类。默认工厂将创建 com.aspose.threed.LocalFileSystem,但它不适用于服务器环境。
Returns: FileSystemFactory - the factory class for FileSystem. The default factory will create com.aspose.threed.LocalFileSystem which is not suitable for server environment. Example: The default FileSystem in SaveOptions/LoadOptions is directory-based file system, You can override the default implementation by specify it through IOConfig.FileSystemFactory:
IOConfig.setFileSystemFactory(new FileSystemFactory() {
@Override
public FileSystem call() {
return FileSystem.createDummyFileSystem();
}
});
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
getFoldRepeatedCurveData()
public Boolean getFoldRepeatedCurveData()
获取是否通过增加上一次数据的引用计数来复用重复的曲线数据
Returns: java.lang.Boolean - 是否通过增加上一次数据的引用计数来复用重复的曲线数据
getGenerateVertexElementMaterial()
public boolean getGenerateVertexElementMaterial()
获取当附加节点包含材质时,是否始终为几何体生成 VertexElementMaterial。此选项默认关闭。
Returns: boolean - 是否当附加节点包含材质时,始终为几何体生成 VertexElementMaterial。此选项默认关闭。
getLookupPaths()
public ArrayList<String> getLookupPaths()
某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。
Returns: java.util.ArrayList<java.lang.String> - 某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。示例: 以下代码展示了如何手动指定查找纹理,以便导入器能够找到。
var opt = new ObjLoadOptions();
//Specify the lookup paths, so the textures can be located.
opt.getLookupPaths().add("textures");
var scene = Scene.fromFile("input.obj", opt);
scene.save("output.glb");
getReusePrimitiveMesh()
public boolean getReusePrimitiveMesh()
对具有相同参数的原语复用网格,这将显著减小由大量原始形状(如从 CAD 文件导入)构建的场景的 FBX 输出大小。默认值为 false
Returns: boolean - 重用具有相同参数的基元网格,这将显著减小由大量基元形状(如从 CAD 文件导入)构建的场景的 FBX 输出大小。默认值为 false
getVideoForTexture()
public boolean getVideoForTexture()
获取在导出为 FBX 时是否为 Texture 生成 Video 实例。
Returns: boolean - 在导出为 FBX 时是否为 Texture 生成 Video 实例。
hashCode()
public native int hashCode()
Returns: int
notify()
public final native void notify()
notifyAll()
public final native void notifyAll()
setEmbedTextures(boolean value)
public void setEmbedTextures(boolean value)
设置是否将纹理嵌入最终输出文件。FBX Exporter 将尝试从 IOConfig.getFileSystem 获取纹理的原始数据,并将文件嵌入最终的 FBX 文件。默认值为 false。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | 布尔 | 新值 |
setEnableCompression(boolean value)
public void setEnableCompression(boolean value)
压缩 FBX 文件中的大型二进制数据(例如动画数据、控制点、顶点元素数据、索引),默认值为 true。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | 布尔 | 新值 |
setEncoding(Charset value)
public void setEncoding(Charset value)
设置基于文本文件的默认编码。默认值为 null,表示导入器/导出器将决定使用哪种编码。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | java.nio.charset.Charset | 新值 |
setExportLegacyMaterialProperties(boolean value)
public void setExportLegacyMaterialProperties(boolean value)
设置是否导出旧版材质属性,用于向后兼容。此选项默认开启。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | 布尔 | 新值 |
setExportTextures(boolean value)
public void setExportTextures(boolean value)
尝试将场景中使用的纹理复制到输出目录。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | 布尔 | 新值 |
setFileName(String value)
public void setFileName(String value)
导出/导入场景的文件名。此项是可选的,但在序列化外部资源(如 OBJ 的材质)时很有用。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| 值 | java.lang.String | 新值 |
setFileSystem(FileSystem value)
public void setFileSystem(FileSystem value)
允许用户处理在加载/保存期间如何管理外部依赖项。
Parameters:
| 参数 | 类型 | 描述 |
|---|---|---|
| value | FileSystem |
- Memory-based file system
- Directory-based file system
- Dummy file system
- Zip file system
您也可以使用自己的实现。
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
var opt = new ObjSaveOptions();
var memFs = new HashMap<string, MemoryStream>();
opt.setFileSystem(FileSystem.createMemoryFileSystem(memFs));
opt.setFileName("output.obj");
try(var output = new ByteArrayOutputStream()) {
scene.save(output, opt);
//The material will be written to variable memFs named output.mtl
var materialInBytes = memFs["output.mtl"].toArray();
}
``` |
### setFileSystemFactory(FileSystemFactory value) {#setFileSystemFactory-com.aspose.threed.FileSystemFactory-}
public static void setFileSystemFactory(FileSystemFactory value)
设置 FileSystem 的工厂类。默认工厂将创建 com.aspose.threed.LocalFileSystem,但它不适用于服务器环境。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | value | [FileSystemFactory](../../com.aspose.threed/filesystemfactory) | 新值 **示例:** SaveOptions/LoadOptions 中的默认 FileSystem 是基于目录的文件系统,您可以通过 IOConfig.FileSystemFactory 指定来覆盖默认实现: |
IOConfig.setFileSystemFactory(new FileSystemFactory() { @Override public FileSystem call() { return FileSystem.createDummyFileSystem(); } });
Scene scene = new Scene();
var material = new PhongMaterial();
var boxNode = scene.getRootNode().createChildNode(new Box());
boxNode.setMaterial(material);
//opt.FileSystem would be dummy file system now
var opt = new ObjSaveOptions();
scene.Save("output.obj", opt);
//the material file output.mtl will not be written to any places because we've configured a dummy file system as default implementation.
### setFoldRepeatedCurveData(Boolean value) {#setFoldRepeatedCurveData-java.lang.Boolean-}
public void setFoldRepeatedCurveData(Boolean value)
设置是否通过增加上一次数据的引用计数来复用重复的曲线数据
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | java.lang.Boolean | 新值 |
### setGenerateVertexElementMaterial(boolean value) {#setGenerateVertexElementMaterial-boolean-}
public void setGenerateVertexElementMaterial(boolean value)
设置是否在附加节点包含材质时始终为几何体生成 [VertexElementMaterial](../../com.aspose.threed/vertexelementmaterial)。默认关闭。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | 布尔 | 新值 |
### setLookupPaths(ArrayList<String> value) {#setLookupPaths-java.util.ArrayList-java.lang.String--}
public void setLookupPaths(ArrayList
某些文件(如 OBJ)依赖外部文件,查找路径将允许 Aspose.3D 查找并加载外部文件。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| | 值 | java.util.ArrayList<java.lang.String> | 新值 **示例:** 以下代码展示了如何手动指定查找纹理,以便导入器能够找到。 |
var opt = new ObjLoadOptions(); //Specify the lookup paths, so the textures can be located. opt.getLookupPaths().add(“textures”); var scene = Scene.fromFile(“input.obj”, opt); scene.save(“output.glb”);
### setReusePrimitiveMesh(boolean value) {#setReusePrimitiveMesh-boolean-}
public void setReusePrimitiveMesh(boolean value)
对具有相同参数的原语复用网格,这将显著减小由大量原始形状(如从 CAD 文件导入)构建的场景的 FBX 输出大小。默认值为 false
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | 布尔 | 新值 |
### setVideoForTexture(boolean value) {#setVideoForTexture-boolean-}
public void setVideoForTexture(boolean value)
设置在导出为 FBX 时是否为 [Texture](../../com.aspose.threed/texture) 生成 Video 实例。
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| 值 | 布尔 | 新值 |
### toString() {#toString--}
public String toString()
**Returns:**
java.lang.String
### wait() {#wait--}
public final void wait()
### wait(long arg0) {#wait-long-}
public final void wait(long arg0)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
### wait(long arg0, int arg1) {#wait-long-int-}
public final void wait(long arg0, int arg1)
**Parameters:**
| 参数 | 类型 | 描述 |
| --- | --- | --- |
| arg0 | long | |
| arg1 | int | |