2016-03-20 5 views
1

バンプマップをマテリアルに追加しようとしています。プレーンなSCNMaterialでバンプマップを作成する方法がないので、代わりにMDLMaterialを使用しようとしました。それをSCNMaterialに変換します。SCNMaterial:initを見つけることができません:mdlMaterial:

convenience init(MDLMaterial mdlMaterial: MDLMaterial) 

しかし、私はエラーを取得しておく:そこa methodは、このために、アップルのドキュメントである

/Users/ramy/Documents/Swift/Space Shooter/Space Shooter/Util.swift:50:26: Incorrect argument label in call (have 'MDLMaterial:', expected 'coder:')

方法を見つけるように見えることはありません。私はObjective-Cで試したが、それでもそれは見つからない。私はすでにModelIOをインポートした

編集:

import ModelIO 

私がに切り替える場合:

import SceneKit.ModelIO 

何も変化しない、私はまだ方法を見つけることができません。

答えて

1

あなたは、これらのメソッドを参照するために、ブリッジングヘッダをインポートする必要があります:

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

// Swift 
import SceneKit.ModelIO 

あなたはモデルI/Oを使用する必要はありませんと述べました。 SCNMaterialnormalマテリアルプロパティを試しましたか?

また、モデルI/Oはinterexchange形式として設計されており、表現できるものすべてがSceneKitでサポートされているわけではありません。あなたが探しているものがSceneKit APIによって公開されていない場合、中間のモデルI/Oオブジェクトを使用することはほとんど役に立ちません。

+0

私はすでにModelIOをインポートしていました。私はSceneKit.ModelIOに切り替えようとしましたが、まだメソッドを見つけられません。バンプマップを通常のプロパティに設定すると、バンプマップがノーマルマップとして使用されないため、結果が変わってしまいます。 –

関連する問題