I’m evaluating Unity 3.4.2, and I have to say that I’m really disappointed in a product that bills itself as having a world-class asset workflow, yet doesn’t even support the latest stable version of blender properly. I’m getting tired of the antics needed to figure out why blender assets are so screwed up, and why things that SHOULD be simple, such as defining the aspect ratio of an orthogonal camera, appear to be so broken.
Does anyone have any favorite alternatives they’d like to recommend? I have no desire to spend the remaining 20 days of my Unity Pro evaluation battling what should be drop-dead simple features.
You should not blame unity for the blender teams incapability to have a format thats stable for more than 2 months …
But in this case you are actually lucky, as one of the unity devs shared a replacement script which handles blender 2.58+ blender files just well.
as for alternatives: you won’t find any tech without issues and limits unless you write one yourself, in that case I would go to OGRE 3D and use that as a base.
I would have to disagree. Yes, Blender importing has some issues which is an issue with Blender, not Unity. As for other issues you have experienced, I would assume they are your error not Unity’s. Maybe you should spend more than 10 days evaluating it before coming to an incorrect conclusion. I am at about 30-40 days, and have concluded any problems I experience are my fault. Not to mention, the blender issue is a 10 second fix.
Blender seems to be problematic with a lot of things. It’s not exclusive to Unity. Keep evaluating it - you’re mostly missing some visual features and asset bundles without the Pro version. Everything to do with assert import works the same, so don’t feel pressured. 30 days is too little to become an expert if you have a busy life
Adjusting the Aspect Ratio is the same for all types of cameras and is part of your Quality Settings (as it’s entirely dependent on your resolution settings). It has nothing to do with what type of camera you use. Your viewport size/ratio and your camera settings are independent and it sounds like you are missing some very easy steps along the way if those settings are not simple.
As for how an Orthographic size is calculated it’s the Half height of the viewport. Using that it should be pretty simple to calculate all other ratios and sizes off of that setting and the static Screen properties.
Thanks everyone, for your responses. I’d like to take this opportunity to ask a few questions to find out whether I have some misconceptions about how Unity is supposed to work.
Top view, bottom view, left view, and right view all seem to work as expected. However, front view and back view are swapped. Why?
When I set the aspect ratio to “iPhone Wide (3:2)”, and resize the viewport, the entire viewport resizes properly. When I set the aspect ratio to “iPhone Wide (480x320)” and resize the viewport, the height gets squashed/stretched but the width remains fixed. Why?
Blender objects are imported at twice their size. I have to set the Blender scaling factor to “0.5”. Why?
Blender objects are imported at weird rotations. Why?
The preview window for my main camera almost never matches up with what I see when I play the scene. Why? I’ve added no scripting or anything else.
Are you referring to trying to get sane normals out of models imported from Blender?
I know there is a button to toggle local / global tool handles for objects, but does Unity have a feature to reset an object’s normals to world, view, or local coordinates? Caligari trueSpace used to have a bunch of features to do that, and it was convenient to have.
Really? You are complaining about Blender production issues? Remember, you get what you pay for, Blender is free, so well, there you go. Can you really complain about a free product?
I know Blender users will hate this comment, but why aren’t you using straight FBX with Maya, 3dsMax, Modo, Cinema4D, etc.? Use a production proven commercial product with adequate support for production, not freeware. You’re taking your chances when you do that. Blender is a great piece of software, and a lot of good work has been done with it, and more and more artists are adopting it, but you can’t complain when support is not as good as a commercial product from Autodesk or Luxology.
Are you using FBX to pipe your assets to Unity? Are you familiar with the technical aspects of working with data asset exchange? What’s your experience with data asset exchange in a game production pipeline? The reason I bring up these points, is because a lot of beginners try to get into making games but have no patience and begin making negative comments about software, when in reality the problems all start with user errors. Most issues in development arise from human mistakes, and about 10% are bugs and faults in the software.
Unity is pretty easy to use, and it has the most straightforward and simple approach to “making” games of any engine. Did you ever use the Rainbow Six engine over 10 years ago? If you think Unity is too hard for you, you have no idea how difficult working with engines used to be- Unity makes it a cakewalk in comparison. Have you ever used Unreal Engine? CryEngine? Source? Give them a go and I guarantee you will be running back to Unity in no time. Learn about the joys of working with proprietary formats and plugins that you can’t even get for your specific 3d package; you will love FBX after that experience.
I have been using sketchup and blender for a while now and have had zero problems except ones that I caused myself through testing and learning. I am using Blender 2.59 and 2.60, I also had the import scaling problem till I figured out what I was doing was modeling and not trying to match the units of Unity. I use the fbx or obj exporters from blender depending on what I am doing but for Unity I always use the fbx exporter. Export the cube from Blender as a fbx then import it to Unity at a 1. Add a unity cube and your cube to a scene and you will see the difference, then model around that difference. If you need to measure the cubes in unity there is some great rulers in the asset store and I believe one of them is free. You can also adjust your units in Blender to be equal to Unity once you see what size you need to match Unity.
First, Blender is still in migration. The 2.5x series was a rebuild. 2.59 was the first official non Beta version. And even now there are lots of things to do. But you could always export to FBX and import it in Unity. And the Unity community provides you with a working integration script with every new Blender version. So it`s not that the pipeline is really not working.
FBX import with a scale of 0.01 is a bug for me. Because no matter from which package you come, FBX will always import with 0.01 size. And we se very regularly the almighty “my mesh does not arrive” threads where in reality the scaling is simply too small because of this default value. Its always an extra click with every file. And i have to blame Unity here. When they are not willing to change the initial value then they couldve at least make Unity store the last used scaling value. That would save me thousands of extra clicks.
Huh? What are you doing here?
Thats the worst argument ever. Unity is also free. Does this mean it has to be crap? And your argument is wrong anyways. Blender has its issues and weak sides. But they are not this different from the big packages. In fact the Blender devs are the fastest i have ever seen at bugfixing. You report a bug, and in best case you get feedback within minutes. And a fix in the next build when its fixable. Which can be found in the next two or three days at Graphicall.
Such a direct feedback and a this fast fixing pipeline would be a dream for Unity. I still wait for answer with my before months and years reported Unity bugs. No clue if they are fixed or not. Unity has unfortunately arrived at the big boys attitude when it comes to bugs and feedback to the customers. A better bug tracker could do a miracle here. I am not even able to skim through the reported bugs to check if my bug has already been reported.
Away from Blender only, and back to topic: i can definitely see where dejayc comes from. I hate for example to restart Unity every half an hour because it starts to stutter again. That one exists since months. And i hate the random crashes out of the blue, even when they are rare.
Well, you’re wrong there, because Unity is not freeware. Unity Tech is a for-profit, privately owned company; they have no interest in working as a non-profit organization. There is a free version of Unity, but it’s not freeware. So you think that UDK, and the CryEngine SDK are freeware because they are free? These free programs are more designed to get you using the software, and hopefully if you find it useful enough, you’ll buy a license for your future commercial product (if you get to that point.) Blender doesn’t sell a license, or offer a “lite” version of Blender that leads later to a commercial license. Do you understand the difference?
Unitys free license is just ‘advertisement investment’ from Unity Technologies, naturally with the hope that you get up to the licensed versions (which you will have to do if you want to target mobile at all)
UDK and CryEngine have no free license at all, you just don’t pay for it when your revenue sux or you decided to ‘invest’ your time on a forever free title
Exactly, but seems some people are confused about the differences of freeware and free versions of commercial software, like Unity. I have a Unity Pro license and I strongly recommend everyone who is serious about Unity development to get one. It’s great, and having all the features there for you is fantastic. Well worth it, especially considering it’s a steal at only $1500. I remember when Epic Games wouldn’t even look at you unless you had:
a) investors backing your company (you had to be a company; no indies or aspiring students)
b) licensing cost over one million dollars (royalty free was more)
c) you (your company) had to have shipped a minimum 3 AAA titles in the past for a major console or PC
Then, they would at least sit down and talk to you, to consider licensing their engine to you. And now you can get a great engine like Unity Pro, for only $1500 bucks? If anything, everyone should be scooping this license up, Unity Tech really is democratizing game development. It’s too bad everyone who is jumping into game development now (with the explosion of the casual, mobile game market and app stores) don’t know about how it used to be, in regards to engine licensing and game publishing, if they did, they would really appreciate what Unity Tech is doing.
Huh, where did i talked about freeware? I talked about free. And unity basic is free. You don`t need to pay anything to get it. Same goes for UDK and Cryengine. You can get it for free. That you have to pay UDK or Crytek when you earn money at a later point is another story.
My point was and is that free does not automatically mean it`s crap as you have stated above with your “what you get is what you pay for” .
And the pope is jewish!
You forget the assets shop. That ones a business at its own. And thats why Untiy wants to integrate it into the editor.
The incorrect labeling of “front” and “back” views originally gave me the impression that perhaps the Unity dev team didn’t have a strong, fundamental understanding of 3D programming. It’s like when one’s boss uses an improper word like “irregardless” - sure, other people get that wrong too, but it’s hard to respect the intelligence of someone who lacks a solid basis in the fundamentals.
I agree, but my point is that the logic, as programmed, doesn’t make any sense. 480x320 should be just that - a fixed window. Having a fixed width and squashed height makes absolutely no sense, ESPECIALLY when the camera’s aspect ratio logic is based on view height. This is really confusing to first time users who are trying to figure out whether the 3D system within Unity even makes sense.
When faced with behavior that I considered strange, I did some considerable searching and found the following excellent analysis of one of the behaviors I was witnessing:
Also, Google searches for “unity 3d blender normals” revealed plenty of interesting results regarding confusing experiences with rotation, flipped normals, screwed up animation frames, etc.
I figured out that for some reason, my blender models were being imported with an animation called “Default Take” that was causing my models to not render in play mode. Not sure what “Default Take” is, or why it would have such a strange effect on blender models by default.
BTW thanks for your response, Eric5h5 - you have seemingly contributed plenty of expertise here in the forums.
i3DTutorials:
Even though I am quite familiar with the faults of Blender, and in fact, dislike some downright dubious UI design issues that always seem to proliferate in open source projects, you are confusing the issue. My unhappiness is not with Blender, which of course is free, but a $1500 - $4500 software package that prides itself on its asset pipeline and integration with Blender, which it markets as a major product feature.
The stable release of Blender has been out for awhile. I guess I’m just really shocked that there’s not some formal place on the download page for a working Blender import script to be found. And, I started evaluating Unity 3D at version 3.5.2, and was disappointed when I upgraded to 3.5.4, and still the blender import was broken.
BTW, Blender wasn’t always free. I was one of those who originally contributed towards the $100,000 fee to have Blender released to the open source community.
At this point, I’m trying to learn and pay for only one really expensive software product at a time.
I would rather just use the marketed features of Unity 3D: asset pipeline integration made simple. If I wanted to spend time dodging in and out of technical details, I would have programmed my own framework.
Yes, I agree. However, it seemed to not nail down some of the basics of 3D (see first points above), and that made me hesitant to trust it.
I’ve been playing around with programming in 3D frameworks ever since the source code to Quake was released in '99. Actually, even before then, programming 3D in assembly on a C64 and then 286, using pre-calculated sin/cos/tan lookup tables. My point is that when using Unity 3D, I really don’t want to waste time with technical details that don’t concern the specifics of my game. When it comes down to it, I’d be willing to forego Unity and just make a 2D game using Corona SDK or something.
I fully agree. I really like where Unity 3D is heading, and wish they had offices in NY so that I could apply to work for them. Maybe I’ll make a living some day writing tools for sale in Asset Store.
Anyways, that doesn’t make my complaints about their blender import pipeline any less legitimate, or confusion regarding aspect ratios and normals, etc. I think it’s telling that some commercial offerings have appeared in the Asset Store to try to reduce the confusion and user complexity surrounding some of these very critical aspects of 3D game development.
tra2002:
That’s exactly what I did, thanks.
Tiles:
True, but I went through a lot of hassle trying to find the right script that worked properly. For example, I downloaded one script created by forum users, and it worked when importing the initial asset, but then failed to import the asset properly when changing any of the import properties and clicking “Apply”.
I don’t even know what the hell is going on. I created a 1x1x1 cube in Blender, and imported it into Unity. For some reason it renders as 2x2x2, even when the cube’s scale is set to 1x1x1. Huh, how can an object that is scaled at 1x1x1 render at twice the size? I don’t know - I’ve never encountered this issue in any other 3D software package, ever before. But setting the import scale to “0.5” seems to work well.
AND LET ME POINT OUT ONE MORE THING THAT REALLY IRRITATES ME.
No disk space, and they run smoothly on low-end hardware? Wow, that’s sounds like it would work perfectly on a mobile device right?
Well, let’s consult the user manual:
Wait, what? So, does it require high-end hardware, or low-end hardware? Let’s consult the “Using Terrains” feature:
wat. Is this feature even supported, or not? Let’s ask a sales person at Unity via email:
Wait, what? Are you telling me I almost purchased $4,500 in software that doesn’t even support a major feature that it claims will “run smoothly” on low-end devices? So I replied:
Do you take my answer personal or how is your comment meant? When you cannot live with other opionions then you shouldn`t discuss at all. I was not unfriendly, there is no bad word in the sentences, and i am definitely not in heat. I just have another opinion.
Hmm, i can think of one case where this could happen. Blender size 1:1:1 is not equal Blender scale 1:1:1 in all cases. Blender exports in scale 1:1:1 though. And when you rescale a cube from size 2 to 1, which sets the scale to 0.5, and export it, then it will export size 2. Because Blender resizes the object to scale 1 before exporting. You need to set the object scale to 1 before exporting. I have forgotten how though. I model elsewhere. And use Blender where it is strong.