2017-12-12 2 views
1

Wichtig: Bitte beachten Sie, dass es sich bei dieser Frage um eine Vektorkarte handelt. Keine Höhenkarte.Scenekit - Vektor/Tangens Verschiebungskarte

Ich versuche Vector Verschiebung in Scenekit zu implementieren, wie auf Apple-Präsentation beschrieben:

https://www.youtube.com/watch?v=uli814Qugm8&app=desktop

Apple presentation on Scenekit vector displacement

Mein Code ist:

material?.diffuse.contents = UIImage(named: "\(materialFilePrefix)-albedo.jpg") 

Material .displacement .contents = UIImage (benannt: "(materialFilePrefix) -displacement.exr") Material? .displ acement.textureComponents = .all

Mein Xcode-Projekt: enter image description here

Aber ich nicht bekommen, die Verschiebung ... Alles falsch mit dem Code?

Antwort

0

Beim Auschecken der SCNMaterial-Kopfzeile und der Präsentation scheint die Tessellation in der Geometrie Ihres Knotens aktiviert zu sein, damit die Verschiebung funktioniert. Das würde so aussehen:

let tessellator = SCNGeometryTesselator() 
tessellator.edgeTessellationFactor = 2 // may not need this line (default is 1), or may need to set it higher to get a smooth result 
tessellator.edgeTessellationFactor = 2 // ditto 
sphereNode.geometry?.tessellator = tessellator 
+0

Danke für die Hilfe Noah! :) habe ich Ihren Code, aber immer noch Verschiebung kein Ohr Vektor ...:/ https://gyazo.com/a3e77ba259941cdc226e5f6baaa0626e Hier ist mein Projekt Setup: https://gyazo.com/7052ab77f76d1c74a9787c279ae2b774 Irgendeine Idee, was könnte falsch sein? –

+0

Oh, ich habe gerade etwas realisiert - es funktioniert vielleicht nicht im iOS-Simulator, da Tessellation Metal benötigt und der Simulator dieses nicht zur Verfügung hat. Kannst du es auf einem Gerät ausprobieren? –

+0

Ja, Simulator funktioniert nicht dafür. Aber ich probiere Gerät (iPhone 7) aus. Alle Karten funktionieren gut, außer für die Vektorverschiebung exr –