3ds Max textures/custom 材质

3ds Max textures/custom materials

我在 Viewer Release Notes: v4.0.1 中读到现在支持 Protein Materials tiling patterns (Revit 2019)。这很棒!但是,作为 3ds Max 用户,我很好奇是否有任何计划支持来自 3ds Max 的 bitmap-texturescustom materials?那真的会产生新的可能性。

我不确定旧版本,但正如您在一位同事创建的场景中的以下屏幕截图中所见:

转换带纹理的max文件应该没有问题,只要按照以下步骤操作即可:

  1. 存档 max 文件及其纹理并将其上传到存储桶。 例如(Python):
filename = 'max_archive.zip'
bucket_name = bucketKey

url = "https://developer.api.autodesk.com"
my_object_endpoint = "/oss/v2/buckets/" + bucket_name + "/objects/" + filename
header = {
           "Authorization": "Bearer " + token,
           "Content-Type": "application/octet-stream",
           "Content-Length": str(os.path.getsize(filename)),
         }    
with open(filename, 'rb') as object_to_upload:
        response_upload = requests.put(url + my_object_endpoint, headers=header, data=object_to_upload)
  1. 发送一个翻译作业,指定它是一个存档文件,这个存档文件的根目录是您的 max 文件。 例如(Python):
job_endpoint = '/modelderivative/v2/designdata/job'
header = {
    "Authorization": "Bearer " + token,
    "Content-Type": "application/json",
}

payload = json.dumps({
    "input" : {
        "urn": '"' + encoded_urn + '"',
        "rootFilename": "physical_material.max",
        "compressedUrn": True
    },
    "output": {
        "formats": [
            {
                "type": "svf",
                "views": [
                    "2d",
                    "3d"
                ]
            }
        ]
    }
})

response = requests.post(url+job_endpoint, headers=header, data=payload)

这里的关键点是payload的input部分,你必须在其中指定rootFilename 并将 compression 设置为 true.

在我的例子中,我得到了如上图所示的结果。