Take the 2-minute tour ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I've been importing .fbx files that I made with 3DS Max 2012 into Unity, and it's quite neat to see my models running around in game. However, I can't help but notice that the models, as they're rendered in game, vary substantially from what they look like in the preview (and also what they looked like in 3DS Max).

Observe: enter image description here

           In-Game                   Unity Preview            3DS Max

My gut tells me that I'm not setting up Unity's lighting system properly. What, then, do I need to do, to either my scene or my model, in order to get the left-most picture to look like the middle one?

share|improve this question

2 Answers 2

up vote 3 down vote accepted

It looks to me like lighting is your problem.

According to this the default lighting in 3DS Max is essentially a headlamp (a directional light coming from the viewport), so the faces pointing towards you will appear the brightest.

Your Unity preview has a directional light shining towards the bottom right (I could have said "located in the top left", but remember, a directional light has no position).

As for your Unity scene, it doesn't look like you have lighting at all, hence the flat-shaded look of your model. To solve that, I would start with some simple things and ask: do you have any lights in your scene (point, directional, or spot)?

Update: According to your comment, you only have the default ambient light enabled in your scene. Note that ambient light is not the same as diffuse light. Ambient light, in typical lighting models, is a shortcut that accounts for light bouncing off of other surfaces. I won't go into much more detail, so I'll refer you here for more information. Note in that link that the version of the blob lit by ambient light looks flat-shaded, exactly like your model in Unity.

The solution to your problem is pretty straightforward then: add a point, direction, or spot-light to the scene. Your model will then look more like it does in the Unity preview.

share|improve this answer
    
I do not. I have not yet adjusted the light settings of the scene. There's some ambient (diffuse?) light, since the colors are showing up, but that's it. "Not setting up Unity's Lighting system properly" is a relatively bad way of saying, "I haven't added lights to my scene", I'll admit, :P –  Raven Dreamer Nov 2 '12 at 2:31
    
Adding a directional light fixed it. Thanks! –  Raven Dreamer Nov 2 '12 at 17:39

I know it might sound weird, but it looks to me that you set your Camera Projection to Orthographic instead of Perspective. This is how I would explain the flatness. I also believe that you simply imported the 3Ds Max light with your character face. You should try to remove this light and render the object without it. If it doesn't look good enough, I will advise you to use a spotlight in Unity instead.

I hope that helps.

share|improve this answer
    
I think he uses the same projection in-game that 3DS Max uses. Unity looks Orthographic. But lighting (well, the lack of) is the main issue here. –  Marton Nov 2 '12 at 8:58

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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