we’ve been working for two days now to narrow down the origin of two problems which happen to have the same origin : uniform scale and dynamic batching.
The conclusion is that uniform scale does very wrong things in conjunction with dynamic batching :
2 objects with the same material (2 cube primitives obtained with duplicate with a built in vertex lit shader) will not batch if they have different uniform scale. Contrary to what i’ve read in other posts, objects with different scale Vectors do dynamically batch correctly provided they do not have uniform scales.
2 objects with the same material (2 cube primitives obtained with duplicate with a built in vertex lit shader) and with the same uniform scale ( != 1 ) do batch BUT will have their lighting multiplied by the scale factor !!! Make the uniform scale unique on each object and the two of them will go back to normal ==> they are not batched anymore.
Nasty bug. It makes non-uniformly scaling of quads for a 2D game far more efficient than uniform scale !
Jessy, I’m quite baffled by your answer… Is it not the support section of the forum ? Browsing the list of topics already present in this section, I had the clear impression it was where you should post about problems encountered with Unity.
I DID log a report bug about this problem, twice in fact with additional informations the second time. But since I didn’t get any confirmation e-mail (no error message either) I just told myself I would post something here to see if I was the only one with this problem or even to get an ‘official’ aknowledgement of this bug. So yes I want it fixed, and yes i did report it…
That my message don’t get any attention, I can understand : there’s a lot of traffic on this forum and it’s quite hard to get noticed. But, be rebuked for it, when I spent 10+ hours to make tests, report twice with the official tool (apparently with no success), and narrow down the problem to a point where It’s should be quite obvious where the problem is coming from… that, I am having difficulty with.
I can’t stress out enough how this bug is making Unity3D if not useless, at least a LOT less interesting to me. It just crashes to the ground any hope of optimal performances for the two main types of projects I’m dealing with and I do care about performances. Just hope somehow it will get fixed in a future release is not enough.
I’m sorry if I sound like a jerk but honestly I’m quite pissed right now. I’m filing another bug report right now. I hope It’ll get through this time.
Settle down… He was just ensuring that you filed a bug report about it so the Unity team will know to fix it. The more bug reports given on a bug the greater the likelihood that it will be fixed. I understand your frustration, but its no reason to bite somebody’s head off.
You’ll note that I did apologize ‘if I sounded like a jerk’ and I was serious about it. To ensure I did filed a bug report, I think asking it plainly would have been more tactful. I may have specified it in my post though and for that I will take the blame.
This is obviously a bug, so we unfortunately can’t do anything about it on the forum, as surely almost nobody has a source code license. It just sounded to me like you were talking to UT, not forum users. There are multiple-years-old bugs I reported, that I have never been contacted about, an are still open, so it’s very possible your issue will never be fixed. However, you definitely should have received a bug report confirmation email, with a link to all the other bugs you have reported, on FogBugz.
…but you know what? I just checked my own account, and none of my bugs from the last half of last month are logged. Maybe the whole Bug Reporter system is broken, or maybe they’re transitioning to a new system and haven’t mentioned it. Either way, something is very wrong. Thanks for bringing that to my attention. I have no idea who to tell, though.
Anyway, for the time being, why don’t you try making your own scaling tool? If it’s just uniform scale, then set a float in a custom inspector and multiply all the vertices of the mesh by it. I can’t guarantee that will batch either; my results with batching have been unpredictable, and the official response seems to be, “Don’t try to understand batching. Only tell us if it’s performing worse that it did in a previous version of Unity.”. But that’s not very helpful for new projects, is it? UT doesn’t publish any information about what you should expect from the batching system, which I think is terrible, because we don’t actually know what is or is not a bug, and we don’t know how to plan for maximal performance. Regardless, I think the workaround I told you to try is worth a shot. Let us know.
You don’t host a forum with a section named ‘support’ if it’s not to be read once in a while by the dev team. I’ve seen plenty of posts here answered by people tagged ‘UT’ so I kind of hoped something like that would happen. I still don’t quite get why my post suffered from your comment when every two other post in this section is hinting that maybe something is caused by a bug. I hate to sound agressive again but honestly I don’t get it…
I sent the whole thing again directly to the support email. I need to know if the problem will be adressed even if it’s not right now since it affects a huge part of the 2.5D framework we’re putting together. For me not fixing this could mean I could start looking for another tool and I certainly wont wait for years for this one to be corrected.
Yes it’s quite easy to scale vertices position but I want / need to scale whole hierarchy with rotations too and animate all the transformations I want. Cascading the transforms directly on vertices and pivots is a pretty straightforward task, but I don’t see the point of doing with managed code what is supposed to be featured by the native engine. I’m a performance maniac, sorry ^^
And you don’t make the rules. I’m not saying the situation is good. Quite the opposite. I was around when there was a good chance you hear from a developer in any thread. Those days are long gone.
Your post is about something I actually care about. I don’t read very many threads.
The point is, you want your game to run. There are a bunch of things that are broken about Unity, and many have been for some time. I’m sure the same can be said about any other engine. But without source code, you can’t directly fix problems. If you can’t deal with that, then you probably should use another tool. You’re already getting off to a bad start around here.
Well I guess I’ll have to apologize again since my intention was definitely not to offend you or flame or even rant about my problems or things I want to rule… I’ve just tried to get aknowledgement of a problem I thought was pretty serious. That’s all.