USD + Hydra as a replacement of SceneKit - scenekit

On the WWDC'22 talk, Apple presents an approach to work natively with USD in Xcode. Also, Apple published this code to download. To be able to use this USD + Hydra as a replacement of SceneKit, how would we do to interact with the UI?
If anyone can help with a function like apply material in SwiftUI would be much appreciated!

...it's not just about SceneKit...
Pixar's Hydra is rather an imagery processing library (a part of USD distribution) which connects scene delegates (SD) and render delegates (RD), allowing you to potentially use any contemporary raytraced renderer. In other words, Hydra enables communication between multiple scene graphs and multiple renderers. You can run Hydra with RealityKit, SceneKit or Metal.
Professional software such as Maya, Nuke and Houdini are already using Hydra.

Related

Is it possible to create your own animoji within iOS 11

I've seen ARkit and I've seen the demo for animoji on the keynote, but I'm wondering if there is a way to create your own animoji (that will work within messages) within Xcode.
You can use ARKit to provide facial movement data to animate your own 3D models. In conjunction with an iMessage app, you should be able to export videos of animated characters similar to animojis.
Take a look at ARBlendShapeLocation (documentation) which provides high-level facial feature detection. You could track these features and use them to animate your models.
I'd also recommend watching the recent Apple developer video called "Face Tracking with ARKit" (link) which gives a good overview of the API's available.
When you're ready to jump right in, start with this face-tracking sample code (link) from Apple. (thanks #rickster)
Note that these features are only available on the new iPhone X.

What technology are they using to create animations

I am well versed with server-side programming using .Net C# and front-end MVC and Angular. I have seen some state of the art websites where they have animations included in webpages. Since it seems like Flash might be on the verge of extinction I do not want to spend time to learn it. What other technologies are they using to add animations to websites? For example to add accessories to cars with animations. Thanks for your help.
You might be talking about WebGL, which is inserted into HTML5 with a canvas tag. It renders graphics with JavaScript but uses a web version of OpenGL.
You can simplify a lot of work with additional libraries for WebGL such as Three.js, p5.js and others. That way you don't have to work with shaders, and build models with individual vertices and polygons.

ARKit SceneKit Metal Integration

I am trying to integrate the creation of objects in ARKit with
SceneKit and Metal. There are objects I can easily create with SeneKit and others with Metal, so I'd like to be able to use both side by side.
For example creating an ArKit project with the sceneKit template places a space ship as a demo through SceneKit Nodes. On the other hand using the Metal template creates a cube in ARKit with a tap using an anchor.
How would I be able to use both in the same project? Creating a cube through Metal and a spaceship with SceneKit, for example.
Another example, there is a MTKView that I want to wrap as an object or layer it on top of an object in SceneKit, and I also have other objects that I am creating with PBR in SceneKit, I want to have these side by side in ARKit. If possible.
Maybe with this? :
https://developer.apple.com/documentation/scenekit/scnprogram
I think this, if possible would be very useful for the growing ARKit community.
Thanks!
You should be able to use SceneKit and Metal content in your scene at the same time - you can use SCNSceneRendererDelegate for that by having access to the renderer and it's currentRenderCommandEncoder property (https://developer.apple.com/documentation/scenekit/scnscenerendererdelegate):
renderer(_:willRenderScene:atTime:) - for rendering Metal content before SceneKit's
renderer(_:didRenderScene:atTime:) - for rendering Metal content after SceneKit's
Or use SCNNodeRendererDelegate to replace the content of the node with Metal content (https://developer.apple.com/documentation/scenekit/scnnoderendererdelegate):
renderNode(_:renderer:arguments:)
How would I be able to use both in the same project?
You have to choose wether you want to build your app with Metal or SceneKit, both have they ups and downs.
I think there a two approaches you could take:
Use SceneKit. Since SceneKit uses Metal you can enhance and change shaders or the program. Maybe start reading the documentation about using Metal in SceneKit. Maybe you can do what you want to do in Metal while still using SceneKits abstractions where possible.
Use Metal. If using Metal in SceneKit as Apple intended it is not enough you have to build everything in Metal.
To load complex models you can use Apples ModelIO to load 3D content into metal.

how would I implement realtime graphing in Silverlight/WP7?

I'm trying to implement realtime graphing of data in my WP7 app. Can someone point me in the right direction on how to go about doing this? To clarify, by real-time I mean a graph that updates every second.
thanks in advance
The charting controls from VisiBlox support WP7, are free and come highly recommended.
There's also a video demonstrating functionality on YouTube.
X-Ref: Charting Library for Windows Phone 7 with Zooming & Panning?
It may depend on what you mean by realtime but I am using amCharts in my WP7 app to graph river flow data and it was easy to setup and use. http://blog.amcharts.com/2010/08/introducing-quick-charts-for-windows.html

which tools to use for designing cooliris type applications?

I want to utilise the 3dwall feature of cooliris, the physics effects of the icons in bumtop to design an application for making the image viewing more intuitive and interactive. I dont want to use flash as it would slow down the speed for interaction on desktop. PLease could someone tell me about
choice of
1.) physics engine - physx or ODE for the physics effects like bumtop
2.) opengl or direct 3d
3.) WPF(windows presentation Format) - what is its use
Flash with Actionscript 3 is the best for such things. Checkout http://www.flashloaded.com/flashcomponents/3dwall/ for an illustration of CoolIris type application in Flash.
WPF is great for building application like this. VS2008 doesn't provide solution for good visualization,
but you can always call for help Blend included in MS Expression. There you can select silverlight project for building fancy web applications (silverlight.net/showcase). At start, combining different controls and trigger events to start simulations is entirely included. Yes, inside Blend you can set frame keys like in flash.
It's certainly a lots of effort, but it don't need to be. Recently new set of WIN RadControls for WinForms and Silverlight are issued and they look, believe me, excellent. You can look for Run Demo program which shows example of using these controls. Under section Integration, Carousel and others you will see what you looking for and beyound.

Resources