Blender Composting Material into SceneKit - ios

I created a 3D object in blender that has a material to it that I created in blender's compositing pane. I exported my object as a dae and loaded into the scene but it doesn't have the clearish watery material that I get when I do "Render" in blender, it just has the viewport color, what am I missing here?

Using the "compositing pane" means you made a node based material, possibly a cycles material, node based materials are rather specific to blender and don't export to game engines very well.
Set the render engine to Blender Render and then setup your material without nodes.
If you google blender material export scenekit you should find some more tips.

Related

Export Particles from Maya to SceneKit iOS

I have a model in Maya with particles When export as DAE only models and animations are getting generated for the particles is blank node is generated. I wanted to export the particles and use them in iOS.
It is not possible with SceneKit or any other API for iOS. The import does not support reading particles. The particle system in SceneKit is very basic for simple things. You would have to bake each particle as a geometry/model/animation instead.

3D- Model is not rendering in ARCore Augmented Faces in iOS

I am following ARCORE AUGMENTED FACES iOS SDK. In-build fox_face.scn is working fine for me.
Now we have created some 3d models in Blender & export them in both .dae OR .obj formats. From xcode I converted these models in scn but when i try to render my scn models, its not rendering on face.
Same scn model is working fine with ARKIT but not working with ARCORE
In case, your model has any animation, check if your 3D file follows the requirements from here: https://developers.google.com/ar/develop/java/sceneform/animation/obtaining-assets
Rendering on iOS is done within ARKit scene, not ARCore. ARCore Face Augmentation is generating the 3D face assets which are delivered to SceneKit to render with each frame callback.
I'm not sure exactly why you said scn model is working fine with ARKit, but not AR Core?
I have been successful in exporting from Blender to .dae, and then converting to SceneKit file in xcode.
Having said that, I have been unsuccessful in cleanly exporting the default fox face and bones (and my geometry) from blender directly into Xcode to create what the demo has from default.
Instead I have had to copy/paste 3D geometry content from the imported/converted scene from blender into the original fox_face scene that comes with the project, ensuring all axis are correct.
In order to correctly position the asset relative to the original fox face I had to create some code to move the model around in the world.
I hope that helps.
But I would be very interested if you find a way to export cleanly from blender (including default face or fox ears etc) directly in as a whole scene, including your new geometry.

SceneKit Textures

I'm trying to learn SceneKit for iOS and get beyond basic shapes. I'm a little confused on how textures work. In the example project, the plane is a mesh and a flat png texture is applied to it. How do you "tell" the texture how to wrap to the object? In 3D graphics you UV unwrap, but I don't know how I would do this in SceneKit.
SceneKit doesn't have capabilities to create a mesh (other than programatically creating vertex positions, normals, UVs etc). What you'd need to do is create your mesh and texture in another bit of software (I use Blender). Then export the mesh as a collada .dae file and export the textures your model uses too as .png files. Your exported model will have UV coordinates imported with it that will correctly wrap your imported textures on your model.

Nodes in blender cancel my texture

I have a 3d mesh in blender, textured with UV mapping.
I would like to add some material effects like wood with nodes, so I went to the node editor, but clicking on "use nodes" my mesh turn yellow (there's a yellow color applied to my mesh).
How can I do to apply UV mapping and material to my mesh?
Thank you in advance
It sounds like you are using the blender internal render engine. While this has support for node based materials, development of it was limited and it wasn't something that caught on much, so you will not find much in the way of tutorials.
To use a texture you will need to add a texture node and select the texture you setup before, most likely a geometry node to get the uv's and connect them to the output.
You will find that the newer Cycles render engine is fully node based and has much better support and documentation with a larger range of nodes available.

Workflow between blender and xcode (scenekit)

Im using blender to create landscape for a game being built with scenekit.
As it is just a landscape, I won't be using any animations so I'm wondering before I dive too deep into blender, should I be using blender to create the geometry and then create my own materials in scenekit?
I could still create the shadow, emission, specular etc. maps in blender but would there be a performance benefit or penalty for doing it this way?
Also if this is a path I could take should I then be exporting as .dae or is there a way to export to a normal map that xcode would be happy with?
SceneKit supports materials exported in DAE from Blender. It doesn't support every possible shading option that Blender has, but unless you're doing exotic stuff it should cover most of what you're looking for.
At run time there's no difference between materials loaded from DAE and those created programmatically.
What you do want to think about at authoring/export time is stuff like real-time versus static lighting/shadows and high-poly geometry versus baked normal maps. In other words, material performance is more about how the materials are set up (complexity) than where they're set up (imported or at run time). See WWDC 2014 session 610: Building a Game with SceneKit for some tips.

Resources