Post

Replies

Boosts

Views

Activity

RealityKit MeshResource generated from SwiftUI shape
On Scenekit, using SCNShapewe can create SCN geometry from SwiftUI 2D shapes/beziers:https://developer.apple.com/documentation/scenekit/scnshape Is there an equivalent in RealityKit? Could we use the generate(from:) for that?https://developer.apple.com/documentation/realitykit/meshresource/3768520-generate https://developer.apple.com/documentation/realitykit/meshresource/3768520-generate
2
0
1.6k
Jun ’24
USD -> SwiftUI interactions
Hello USD team, Thanks for the great demo USD and Hydra/Storm demo! Is it possible to build an app with USD Hydra/Storm -> SwiftUI interactions? Ex: a car configurator that has: a car as a USD file animations desired on the USD file. SwiftUI button to opens the doors, another button to play a sound, etc? everything rendered in Hydra/Storm. as the demo app Thanks.
0
1
1.2k
Jun ’22
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.3k
Mar ’22
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
6.4k
Dec ’21
RealityKit MeshResource generated from SwiftUI shape
On Scenekit, using SCNShapewe can create SCN geometry from SwiftUI 2D shapes/beziers:https://developer.apple.com/documentation/scenekit/scnshape Is there an equivalent in RealityKit? Could we use the generate(from:) for that?https://developer.apple.com/documentation/realitykit/meshresource/3768520-generate https://developer.apple.com/documentation/realitykit/meshresource/3768520-generate
Replies
2
Boosts
0
Views
1.6k
Activity
Jun ’24
USD -> SwiftUI interactions
Hello USD team, Thanks for the great demo USD and Hydra/Storm demo! Is it possible to build an app with USD Hydra/Storm -> SwiftUI interactions? Ex: a car configurator that has: a car as a USD file animations desired on the USD file. SwiftUI button to opens the doors, another button to play a sound, etc? everything rendered in Hydra/Storm. as the demo app Thanks.
Replies
0
Boosts
1
Views
1.2k
Activity
Jun ’22
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!
Replies
2
Boosts
0
Views
1.3k
Activity
Mar ’22
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()     } }
Replies
5
Boosts
0
Views
6.4k
Activity
Dec ’21