SCNMaterial:无法找到init:mdlMaterial:

时间:2016-03-20 18:13:49

标签: ios swift scenekit

我试图将凹凸贴图添加到材质中,因为显然没有办法使用普通的SCNMaterial,我只是尝试使用MDLMaterial,然后将其转换为SCNMaterial。 Apple文档中有a method

convenience init(MDLMaterial mdlMaterial: MDLMaterial)

但我一直收到错误:

  

/ Users / ramy / Documents / Swift / Space Shooter / Space Shooter / Util.swift:50:26:调用中的参数标签不正确(有' MDLMaterial:',期望'编码器:&#39)

似乎找不到这种方法。我在Objective-C中尝试过它仍然没有找到它。

修改

我已经导入了ModelIO:

import ModelIO

如果我切换到:

import SceneKit.ModelIO

没有任何变化,我仍然无法找到方法。

1 个答案:

答案 0 :(得分:2)

您需要导入桥接标头才能看到这些方法:

// Objective-C
#import <SceneKit/ModelIO.h>

// Swift
import SceneKit.ModelIO

那说你不应该使用Model I / O.您是否在normal上尝试了SCNMaterial材料属性?

另请注意,模型I / O被设计为局间交换格式,并且SceneKit不支持它所能表示的所有格式。如果SceneKit API没有暴露您正在寻找的内容,那么使用中间模型I / O对象几乎没有机会帮助。