Best process to show an OpenGL Animation in iPhone [closed] - iphone

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 1 year ago.
Improve this question
I'm having issues being able to import a bone and skeletal animation from Maya to Blender to iPhone. Here's what I've done:
install the ColladaMaya plugin to export a DAE for Blender to export
used Jeff LeMarche's script to be able to export a single keyframe of the model and import this .h file into the iPhone game
Setup the GLView using more of Jeff LeMarche's steps and rendered into our Game, so this model display next to the actual game (not in 3D).
Researched oolongngine, sio2 (applied but haven't yet gotten e-mail back from them), other SO q's for solutions, including mine from game dev
Reviewed using FBX SDK content pipeline to dynamically generate class files for the animations.
I can import a model and display it. A lot of these processes respond to that issue and leaving the developer to manipulate the game object programmatically.
My main issue is finding the best, defined process of importing an animation into iphone next to the existing game? I don't need a whole game, or a whole scene, just one animating model and some steps to follow.
This animation is meant to play in a loop. There are 3 more animations that will play on different game states (good move, bad move, etc.). So I'm concerned that LeMarche's keyframe solution (which basically means exporting EVERY keyframe as a .h file) will be incredibly time-intensive and memory-intensive. I'm definitely willing to do it, but after all the research I've done (additional links not included), I'm lost as to where to go next besides hand-exporting each keyframe and importing them.
EDIT:
I've added a bounty to this for anyone who can give me a clearly-defined process for importing an animation from a 3D application into iPhone. NOT the entire application itself (i.e. Unity, Sio2, etc.), but just showing a 3D overlay in an application (like an animating model next to a bejeweled-esqe game, not interacting with the world.)
People keep saying, "create your own model loader". Are there scripts, examples, tutorials, anything that walks through this "model loader" process from EXPORTING from the 3D application (preferably Maya or Blender) and IMPORTING this animation and rendering it in Objective-C?

This is really a big problem with animation export. I had this problem recently and ended up with Assimp.
However it also has problems with skeletal animation exported from Maya and Blender. As for me I prefer 3Ds Max (don't forget to reset Xform before rigging), it has no problems with Collada and animation.
Though if you want to use that models in your game I suggest you to write your custom exporter for Maya or Blender. Also try the mesh (morph) animation. If you don't use inverse kinematics or something like that this is what you need.

I have written code that reads Blender files and parses the mesh, bone and animation data. It then applies the bone animations to the meshes world transforms etc. It's a lot of work, but certainly doable. If you have any questions about Blender peculiars, just ask me.
The other option is using a library like OgreKit, which can read blend files and does skeletal animation for you as well out of the box.

AnimKit is a small animation library that can read a .blend file and play an animation using Glut. It extracts all data for skeletal animation and more, including bones, mesh and animation channels etc from a Blender 2.5 .blend file.
AnimKit is open source (using the permissive zlib license) an you can check it out using Subversion:
svn co http://code.google.com/p/gamekit/source/browse/#svn%2Fbranches%2FAnimKit AnimKit
AnimKit doesn't run on iPhone yet, but I'll port it soon, using Oolong Engine.
Another interesting resource is Proton SDK (protonsdk.com) it has a customized Irrlicht SDK that runs on iPhone/Android etc. The RT3DApp sample can play an animation.

Related

Adobe Animate generic animations to Unity with local skeleton

I came across the problem of exporting Animate animations to unity. In animate these animations are bound to a certain skeleton, this skeleton can be customized (clothing, hairstyle, weapon, etc.) but the animation will still play ideally. I want to bring these animations to unity, but I want to keep the customization option in tact.
The solutions so far were to convert to PNG sequence or to use some export tools, however every solution exports static animations, without any further customization support.
Is there any options to retain and transfer the skeleton data to unity or maybe exporting skeletons directly, idk. Anything will help

What is the best way to make slight feature changes to imported unity assets?

I found a pack of unity assets (these 3D characters with built-in animations) that serves my purposes very well, but I want make slight feature changes to some of them. For example, I would want to change the color of some, maybe add a horn or other utensil, make the tail longer etc. I would like these changes to impact the animations minimally. I am wondering about what is the best workflow for this.
I looked into importing the .fbx files into Blender to make such featural changes, but the animations are not retained in Blender (this seems to inevitable according to some?). In general, most information is about workflows going from Blender to Unity, rather than the other way. I am thinking of importing the .fbx files into Blender regardless, without the animations, changing some features, and then importing back into Unity, hoping that the Unity animations can snap back onto the modified creature.
Since I am a beginner with both Unity and Blender, I wanted to check whether this is has a chance to work or whether there are better alternatives. Many thanks.
Unity animation if done using the main tool is probably just animating properties of the model/objects that are exposed to Unity's serialized interface, e.g. color, position, etc. So, either they animated the model hierarchy inside Unity (sounds unlikely), in which case the animation is part of an animation clip, or they did it in Blender, in which case the animation should be part of the fbx.
You can try an application like Fbx Review to view the fbx file and see if it includes the animation.
Unity Animation
Unity binds its animation streams with Transform/GameObject names. As long as you don't modify the hierarchy of the model, you should be able to modify it in blender like you want and later import into Unity.
Fbx Animation
Simply import into Blender, and make any changes that don't break the animations.
Alternative
If you really must, you can modify the imported mesh inside the Unity Editor. There's a few tools available for this in the assetstore.
Last Bet
Simply email the asset seller and ask them what the best way to proceed would be. For a 150$, they will probably be willing to provide this amount of support.

Is there a difference to creating your scene in the Game Engine or the 3D creation software?

Hey I have a simple question which I am having trouble finding any info about it online.
Situation: I am making an island explorer game.
In Blender i am creating my islands and all the static objects with the island (Trees, rocks, folliage, buildings, etc.) and exporting this island & static objects together in 1 FBX file. Then in Unity3d I have my scene already done I don't have to perform the scene creation there, i can focus on developing the interactable objects.
When I want to make a new island I just use the same project in Blender and re-use my previous works if I want to. Then export the new island to unity3d.
Is this correct? Am I supposed to "dress" my scene in Unity3d or in Blender? Does it make a difference (performance wise)
What I understand is that when I export multiple islands that are reusing the same tree for example, in Unity3D even though these trees are the same they are in different fbx's. But this only affects project size afaik?
It depends what you are making. Unity has a lot of tools, specifically environment creation tools that are much faster and more powerful to use in Unity rather than import from blender, especially for laying out a scene and prototyping.
Tools to check out:
ProBuilder (Asset Store)
PolyBrush (Asset Store Deprecated) :(
Terrain (Package Manager)
It is good that you are learning blender as for making characters / detailed objects its still the way to go.
Performance is based on verts / textures and won't matter if you make something in Unity or import from Blender.

Implementing payed 3D models into Unity Games

I've started learning gaming development using Unity and there's a thing I wasn't able to fully understand. I stumbled across the Sketch Fab website and noticed this cool market with 3D models and I was wondering what are the requirements to import such a model into an actual game.
For example this one already has animations:
https://sketchfab.com/3d-models/royal-knight-895d1c1d222d4efd9f264318e8ab0cb2
But on the other hand others don't have:
https://sketchfab.com/3d-models/crusader-knight-b079a8e34f454836bc8107c21c8c47fe
I have basically 2 questions:
If I buy the first model is this going to save me a lot of time and I can jump straight into implementing the character into an actual game and add custom scripts to it etc?
If I buy the second one, what would I need to too to actually animate this character? Is this something that somehow I can learn from Unity tutorials or would I need to import it to a tool like Blender to further improve this model with animations?
This question provokes a lot of answers. The first model you show does have a .fbx format and the animations will hopefully work fine. This format is typically what you want to use with Unity.
The second model is not Rigged (look at the product description). What this means is you will have to rig every bone yourself (in Blender) and make it compatible with Unity. I never buy a model that isn't rigged.
To add animations to the second character, you can download some from www.mixamo.com or use many of the animations you will find in the Unity Asset Store.
Personally, I prefer getting my models from www.turbosquid.com. You can search against multiple formats including .unitypackage
As Jiveturkey said, the first model is directly compatible with unity and doesn't require any additional steps - so if you're looking to focus solely on building the game without worrying about animation then you might want to go with the first model.
The second model isn't rigged, so you would have to manage all rigging and animating yourself - Unity does have a built-in rigging package, so you would be able to do that within unity rather than using Blender (Link to tutorial for rigging in Unity, Rigging tutorial directly from unity)
Unity can read .fbx, .dae (Collada), .3ds, .dxf, .obj, and .skp files for 3D models, and that's pretty much the only requirement. There are tons of sites with free 3D assets if you don't want to spend the money as well Itch.io, Unity Asset Store, and tons more - these are just the ones that come to mind

3d FBX file import into Unity not working as expected

I am interested in building virtual reality applications and I am at beginner level.
I imported a FBX file of Airplane and imported it in Unity,
Upon linking the animation in Unity and building it onto my Mobile, I see a 2D version of the model. How should I convert it into virtual reality application.
Below is a snalshot of the file. The aiation is also fairly simple, one plane takes off and flies for sometime before landing.
Below is a snapshot of the Game Console
So inshort the question is how do I convert this into a 3D mode so that I can use it as a virtual reality Application.
Thank you
That is 3D mode.
Making a VR application isn't done at the push of a button
Start here:
Read about VR in unity
It seems like you are a new Unity user. If so do this first:
Depending on what you want to do in your application you should look into the Unity Documentation and read about:
Basics
Cameras
Creating Gameplay
Animation
If you at some point feel you don't understand these links, you may need to take another step back and start off by checking out the official tutorials
Just save your .blend file in the Unity's Assets folder.
Look at the documentation for more informations