Post

Replies

Boosts

Views

Activity

SwiftUI -> Scenekit: tap gesture recognizer
Using Scenekit UIViewRepresentable (code block 1 bellow), we could add a tap gesture recognizer hit test like With the new SceneView for Scenekit/SwiftUI (code block 2), we add a tap gesture recognizer? I found this API, but its not clear how to use it... https://developer.apple.com/documentation/scenekit/sceneview/3607839-ontapgesture import SwiftUI import SceneKit import UIKit import QuartzCore struct SceneView: UIViewRepresentable {          func makeUIView(context: Context) -> SCNView {         let view = SCNView(frame: .zero)         let scene = SCNScene(named: "ship")!         view.allowsCameraControl = true         view.scene = scene         // add a tap gesture recognizer        let tapGesture = UITapGestureRecognizer(target: self, action: #selector(handleTap(_:)))       	view.addGestureRecognizer(tapGesture)         return view     }        func handleTap(_ gestureRecognize: UIGestureRecognizer) {         // retrieve the SCNView        let view = SCNView(frame: .zero)         // check what nodes are tapped         let p = gestureRecognize.location(in: view)         let hitResults = view.hitTest(p, options: [:])         // check that we clicked on at least one object         if hitResults.count > 0 {             // retrieved the first clicked object             let result = hitResults[0]                   // get material for selected geometry element             let material = result.node.geometry!.materials[(result.geometryIndex)]             // highlight it             SCNTransaction.begin()            SCNTransaction.animationDuration = 0.5             // on completion - unhighlight             SCNTransaction.completionBlock = {                 SCNTransaction.begin()                 SCNTransaction.animationDuration = 0.5                                  material.emission.contents = UIColor.black                                  SCNTransaction.commit()             }                          material.emission.contents = UIColor.green                          SCNTransaction.commit()         }     }          func updateUIView(_ view: SCNView, context: Context) {     }     }         import SwiftUI import SceneKit struct ContentView: View {              var scene = SCNScene(named: "ship.scn")                  var cameraNode: SCNNode? {                 scene?.rootNode.childNode(withName: "camera", recursively: false)         }                  var body: some View {                 SceneView(                         scene: scene,                         pointOfView: cameraNode,                         options: []                                      )                 .allowsHitTesting(/*@START_MENU_TOKEN@*/true/*@END_MENU_TOKEN@*/)         } } struct ContentView_Previews: PreviewProvider {     static var previews: some View {         ContentView()     } }
5
0
5.4k
Jun ’20
Maya -> Dae -> SceneKit - import morph targets
Hey guys,Goal: export morph targets DMaya -> Dae -> SceneKitAE, with morph targets controllersIn Maya everything works fine, morphs with sliders work as intendedWhen exported to FBX/DAE and opened on Xcode, the morphs targets are there, but it places the entire avatar, instead of scaling the specific node (nose, arm, etc).https://gyazo.com/6f36a90ce5292b85a6f7a21b9a8918f2How can I export from Maya to DAE, keeping morphs for each node? Or any other Maya -> Scenekit?Thanks!
2
0
1.2k
May ’20
FBX to USD (with morph targets)
Goal: Convert FBX to USD (with Morph Targets)Tried:1 - Reality converterFBX to USD worked, but not Morph Targets.From what I researched, Reality converter is using USDPython 0.62, which doesnt support Morph targets.Would be great if apple update Reality converter to suppport 0.64 with Morph Targets.2- USDPython 0.64USDZconvert command for FBX to USD worked, but not Morph TargetsLooks like the script that supports FBX to USD is usdStageWithFbx.py (inside example folder). I have seen no documentation on how to run this script.Can someone from Apple help out with step by step instructions?Cheers to all!
1
0
1.5k
May ’20
SceneKit custom Metal Raytracing
How can I set Scenekit to use a custom rendering?Ex, I would like to use Metal Ray Tracing code bellow, as a custom Scenekit rendering modehttps://developer.apple.com/documentation/metalperformanceshaders/metal_for_accelerating_ray_tracingAny input on where I can start is higly appreciated! : )best
0
0
498
Feb ’20
SceneKit Multiply (blend mode). Not workin on PBR
I have added a material to my geometry of SCNNode and now I want to add another material to it and set it to blend mode 'multiply'.I tried a lot but unable to find a way to do this. If we blend the texture asmaterial.lightingModel = .physicallyBasedlet image = UIImage(named: "1.PNG")material.multiply.contents = imagematerial.multiply.contentsTransform = SCNMatrix4MakeScale(10, 10, 0)material.multiply.wrapT = .repeatmaterial.multiply.wrapS = .repeatmaterial.multiply.intensity = 1.0when set to “ physically based”. The multiply doesn’t work....any clue what is wrong?thanks!
3
0
2.2k
Mar ’18