The only way that I found to import the cloth animation from Blender to Unity for mobile is by exporting each frame as a separate mesh and then replacing it at runtime to create the animation. (if anyone knows other solution please tell me).
The problems is that the "meshToChange = otherMesh" way has a big hit on performance on mobile. I'm curious to see if there is a better way to change the mesh at runtime.
Thank you :)
There are a few ways to do this
1.The best way would be this:
Get the keyframes for the baked simulation with a .mdd addon for blender.
Import the Blender project in Unity.
Add the prefab in a scene.
Select you object and go to the Skinned Mesh Renderer component and expand the BlendShapes. There you will find all your data.
After that you will need a script to cycle through the BlendShapes. Here is a simple script that will do the job.
For better information check out this video.
Thanks to #derHugo for helping me with this one.
I am not going to focus on the next ones but I will put some references here for anyone interested.
2.Using Alembic files.
If I am correct this is the way the Unity team did it for the short film ADAM.
Check out this video.
To note that this will not work for mobile.
3.Cycling and changing the mesh every frame.
This technique is very similar to a 2D animation.
All you have to do is export a sequence of fbx's for the animation and then cycle through them. script
Be aware that you will get a huge performance hit from this.
With a cloth simulation with around 7k tris changing the mesh every few frames I was getting around 30fps with nothing else in the scene on an IPhone 6.
Related
I just went through a Blender tutorial (https://www.youtube.com/watch?v=UgmJsLcLXUI) that showed how to create a morphing particle system animation in Blender. He ended up creating 2 layers, with a separate example on each.
The particle system animation, when played on the Timeline, looks very cool in Blender. Now I'm wondering how, or if I even can, to properly bring it into Unity and basically turn it into particles within Unity. I was hoping i'd be able to create a Shuriken Particle System in Unity, using the exported Blender file as the mesh shape.
But anyway, I've tried like 4 different ways of exporting from Blender and importing to Unity, and I can't get Unity to recognize it the way I need it to. Any tips on how to make this process work, or if it's even possible to ultimately do what I'm trying to do re: the title?
I was wondering, what is the easiest way to create an animated 3D cartoon. I want to create a character which moves and talk. I am not familiar with an easy way to do it, I used Blender and Unity but I was wondering if there is an easy way to do it? as I believe that not everyone doing 3D cartons have to dig deep in coding, they certainly use a software/GUI or something to create it.
I am not sure what easy is defined for peole but someway might be easy for me , it may be hard for you. I think it is based on experience in the past.
If you want to create a custom 3d animated model, you need to model it first. Or you can find a 3d model which is similar to your model, so you can edit it. But you are going to use a 3d modeling programs like; Blender, 3ds Max, even SketchUp might work.
One easy way. Which requires less work
You can check Adobe Fuse. Which lets you select predefined parts and lets you create a 3d humanoid model. You can tweak them a bit. After completing you can export it to Mixamo where you can rig your model (also you can select premade models here). They have alot of animations to go. After selecting your animations you can import it to Unity.
Animation techniques
For most of them, you will need rigs. When you rigged a model, you can create animations with those rigs.
This is my one of the old works from university.(Ignore the music please :D) Before i make the animations, I've recorded myself on the exact angle with model, (Front and side 2 videos) and used my video as refence while animating. To conclude i used key frames. And Blender made the rest (making transaction between keyframes). This is one of the techniques.
--EDIT--
This might give you more information about the video referencing.
More budgeted projects mostly use mo-cap. Here is one example for facial animation.
There are also cheaper infrared cameras like Kinect which allows you to do mo-cap. But results are not that promising. You can find more than few assets in the Unity Store. But i suggest you to use at least 2 cameras if you choose this way.
There might be more ways to create 3d model animation. I am not an animator. But those are that i know.
Hope this helps! Cheers!
I have a scene in cinema 4d, with a camera that moves through the scene. I was hoping that I could just import the entire cinema4d file into unity3d and I could just magically press play, and the scene would just.. work--camera movement and all.
Well, maybe life is not that easy. Is it even possible to import a camera from cinema into unity?
It would be nice not to have to re-program the camera in unity.
Do I have any options?
The answer is no, there is no "concept of" a camera path you can import to Unity. There is nothing whatsoever like that. (Don't forget, it's a game engine - not an animation or "filmmaking" system really.)
Fortunately this is a relatively common problem.
The solution is just that you put "any old thing" (say, a white cube) there and import that animation. Then in Unity it's trivial to just child the camera to that "marker".
You can google many examples,
http://answers.unity3d.com/answers/20413/view.html
try googling say "import camera move to Unity3d"
BTW I'm sure you're aware of this .. "Unity does not import Point Level Animations (PLA) at the moment. Use Bone-based animations instead." Doco
Another more hackish workaround;
I have once made a scene in Cinema4D which I wanted to use in Unity3d. I ended up employing MOCCA to export the camera's positions and rotation-values on it's keyframes and ended up using coding on the Unity end of things to animate the camera, based on an xml-file.
However, not having used Cinema4D in a bit; I can't remember for sure if MOCCA is still available? If memory serves me right it got replaced with something...
I have models created with 3D Studio Max.
When I save as .FBX and import into Unity 3D they become grey. What's the reason of this and how can i solve it?
Also i have huge troubles with performance of model on mobile. What's the best approach to get app faster?
When I save as .FBX and import into Unity 3D they become grey. What's the reason of this and how can i solve it?
I've gone through the same issue when importing the following 3D Data Visualization model
The model was created using Cinema4D and exported as .fbx.
When i imported into Unity using drag and drop, I got the following result
As we can see from looking at the Inspector (image above) the material is grey and can't be edited, the textures were not imported. The materials of the default assets cannot directly be edited but there's a way to go around it.
I've created a new material (right click in assets > Create > Material)
Gave it a new name (green) and changed Albedo to green.
And dragged the material to the cube
The end result now looks like expected
Also i have huge troubles with performance of model on mobile. What's the best approach to get app faster?
It can be tricky to develop mobile VR apps but the game window has an info panel that displays useful live information (Use Stats button in the Game window to enable it)
There we can read how many SetPass calls, Batches and polygons are being drawn. Aim for 50 SetPass calls, that's a good number accordingly to Unity experts.
About optimizing performance, some very good developers already explain in detail how to optimize your scenes. I suggest the following links
Understanding VR Performance
Profiler window
1) all models gray- this means the texture was lost in the import. You can create materials and drag them onto the mesh. But Unity can import your max files directly, you dont have to export to .fbx. Maybe if you try that your textures and materials will be setup automatically.
2) performance on mobile- can be various causes. maybe too much detail in your models. Or more likely too many drawcalls, or maybe too heavy cpu upsage . hard to say. the unity docs have pointers on optimizing for mobile.
What is best software for creating models , textures etc... for iphone development.
From simplest to more complex programs.
First thing that comes to my mind is blender , but I'm curious what everybody else is using and their opinions.
Blender is a very good issue for your needs.
It's a very complete solution. Just take your time to learn it step by step. You'll get some great tutorials on the website.
Agreed! I found a tutorial about 3D programming mentioning Blender as a free tool. It was SO daunting to use at first, and I still haven't even figured out most of what it can do. However, I can now build and export the needed geometries for my applications.
Tips:
Use a 3 button mouse (RMB:Selects a vertice, edge or face; MMB Rotates the view camera)
'A' selects or deselects all
'X' deletes anything selected (prompts you first)
'B' Bounding Box Selection Mode
'E' Extrude selected things
For creating textures, I use Adobe's Illustrator, Photoshop and Fireworks, and then import the image into Blender. There is also a texture paint mode in Blender as well.
I tried Cheetah 3d , it looks decent and it exports directly to header files.
I will definitely try blender , but it seems overwhelming and i am not sure do i need to loose to much time on getting to know how to work in blender.
On other hand i was trying out cheetah 3d and i figured out most of the staff in couple of hours.