I've been working on this FPS game and I've gotten to the point where I need to start adding the weapons in and have been having trouble creating (unsure of what engine to use) them. Is there an easier way to create models for unity 3D?


I created a basic FPS a while ago and got to the point of creating weapon models too. What you will want to do is to create a 'world model' which is the model actually seen on the character in the game, and a 'view model' which is a high detail model that only the player sees.

These Viewmodels should be aligned to the camera during creation, so you know exactly what you want to look at when holding the weapon (this also allows you to omit details from some sections of the model, like the back/hand area).

The Valve dev wiki helped me alot when I was working on my game (See their section on networking too, if you intend to try multiplayer sometime) https://developer.valvesoftware.com/wiki/Viewmodel

As for creating the models themselves, I use Blender, which is really the best 3D modelling (and animating and a whole lot of other things) package out there for us hobbyist/indie game devs. This is one of my favorite sites for blender tutorials: http://cgcookie.com/

When creating the viewmodel in blender, create a camera in blender that is identical to the camera used in Unity - Set the FOV angle on both to be the same (and perspective on both too, I assume), position it somewhere convenient (eg 0,0,0), and keep looking at your viewmodel through the camera (by pressing 0 on the numpad) while keeping track of the exact offset of the viewmodel from the camera. Then when you are ready to import it into Unity, make sure you give it the same offset from the camera.

Sorry if that was a bit elaborate, but its something that I would have loved to have been told back when I was starting out on the FPS. :)

Good Luck!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.