So for example if you have say, a car engine, and you want to create a program which allows ‘game player’ to assemble the parts of the car engine in 3d, can it be done in Unity? I’m sure the pieces could be designed, but is this, or any other engine, designed specifically with support for assembling items in 3d?
Could this be done in Unity? Yes, but considering that a typical car engine is composed of thousands of parts, each of which has a specific location that it must be placed in a specific location (measured in “microns”) and a specific order that it must be assembled, you’re looking at a project of monumental proportions. I don’t know of any game engines that could handle this task any better, none of them are really designed for this sort of thing.
Now if you were to scale this project down to something more suited to a realtime 3D environment, such as replacing the air filter on an engine or such, then that’s certainly something Unity could handle easily.
Yes, the only way to simplify it is to make some parts already include the screws/bolts etc that they need as one object. Or as the payer builds the car when so many pieces are together they are swapped to a complete object instead. For example, once the player puts the pistons/cam shaft etc to the valve covers the engine then is swapped with an engine object that is only one object. No game engine can handle all those small pieces at the same time, but a game engine could handle swapping models and generating systems based on data. So you could have a script keep track of all the parts in the engine with their condition etc and then if it fails the game can go through its layers of detail on specific objects as you deconstruct them to get to the part that needs replaced etc. Either way it would be a HUGE undertaking to make such a system, but like bigkahuna said, no game engine or real time graphics engine can handle this sort of task without layers of abstraction or simplification.
Indeed, I’d never present a user with 1000 parts and ask him to assemble them. But what if you had 1000 objects each composed of say 10-20 parts? Same scope of building the models…
But I was really wondering, when I tried Unreal demo engine, the basic setup seemed to be that user had a gun to shoot with, not hands to manipulate with. So that’s the first thing I was wondering about… which is rather difficult for me to imagine any good implementation of some sort of “hands” type function. And yet it could be so useful.
I got the same impression from UDK when I played with it a few weeks ago. Although it is apparently possible to create other things with it, it sure seems geared for that singular purpose. Unity, on the other hand, is more of a “general purpose” tool. Give the showcase forum a scan and you’ll get some rough idea of the wide range of things people are using it for. I’m often surprised and sometimes amazed at what people have been able to do with it.
Maybe it’s just me… but isn’t the beauty of video games the fact those “microns” can be automated or completely ignored?
From what I read, he wasn’t saying to create a Virtual Reality where every Micron was calculated in physics. He was simply asking, “Can I assemble 3D objects in gameplay using Unity3D?”
And I’m not sure because I know next to nothing about cars— but THOUSANDS of parts? I don’t really believe that. Hundreds, okay. But not even that many hundreds. Of course, I wouldn’t include a single screw as being “one part” so it’s semantics I guess.
I don’t see anything “monumental” about this project-- especially if it’s the entire video game. It would actually be quite simple, and would only take as long as there are pieces of the engine you wanted to include, and whether or not those pieces can be made up of pieces.
I really don’t see how this is any more monumental than making a really awesome FPS game. In fact, it sounds more simple. You don’t have to playtest and balance gameplay, classes, weapons, etc. in games that just assemble stuff.
So the answer would be “Yes… I don’t see why not.”