I've begun to study a unity engine in one purpose: I have a great multi player game idea!
The main essence: In space there are two (or even more) huge spaceships with crew consisted of players (all real humans). Ships are very powerful dreadnoughts with a lot of features (radar system, many weapons, missals, refinery factory, gravity generator, indoor light system, shields generators, engines and so on), but all systems are broken at the beginning of the game. Crew should decide, which systems are more important in battle and repair it. They should extract materials from asteroids and revive their spaceship. Then, they should locate second ship, and try to destroy it. Whose spaceship will be in a whole skin during one minute after destroying another, will be the winners. If there are more then two spaceships, surviving crew from destroyed ship can move to another alive ship.
I've already draw detailed 3d model of spaceship, but I faced with a problem during importing model to unity. The problem with mesh collider. Players should get into a ship and walking in it, HOW can I do that? I can't use non-convex mesh collider in unity 5, and I cannot put one collider to another. It would solve the problem, if I draw ship piece by piece, but not as entire. But ship is really complex, to assembly it from prepared parts take really long time and ship will be messily. Is there another way to solve my problem?
Colliders for moving inside a spaceship when the whole spaceship is made of a single mesh (in Unity)
-
\$\begingroup\$ If you think about real vehicles of any kind, take planes for example. They are often built in a modular fashion, this makes them easier to produce and reduces production errors. I understand that you have a complete design and would rather not use a modular approach, but perhaps it may be the best approach? I.E. Ship has x modular areas such as generator, command deck, storage and most importantly the entry. Perhaps rather than individual pieces, go for rooms, this may also allow for the configuration to be changed easier for different ships? \$\endgroup\$– nickson104Commented Aug 19, 2015 at 8:09
3 Answers
one solution may be : import models in unity without mesh collider, then manipulate your unity scene adding empty/invisible objects containing the colliders (box colliders?) you need to delimitate walls and floors.
You could try and create 3d game objects like cubes and spheres, then as those have colliders place them somehow to fit approximately the walls, the floor and ceiling and then just remove the mesh renderer component from those objects to make them invisible.
https://www.youtube.com/watch?v=bh9ArKrPY8w
You have options. You can either use a bunch of primitive colliders (which will be most efficient but also the most time consuming and tedious option), or you can use a simplified mesh created specifically created to be used as a collider. The above video goes into more information about colliders and goes over these options in more detail.