Pages

Sunday 19 October 2014

Copying over the 3DS Max Perspective View into Unreal Engine 4

As I spent my last day and a half trying to exactly copy over the perspective of the scene from my FilmRoom Project into Unreal using the perspective match feature from 3ds Max as a guideline, I discovered some tricks that could have made this a lot more simple. Therefore I am writing a quick tutorial to help out others who might struggle with this.

STEP 1: Start off by opening the scene that you want to copy over into Unreal, making sure that you used perspective match to get the perspective right and that you have aligned your assets to match the props within the scene. I only used a few examples here, but the more assets you have matched up already in 3ds Max, the easier it will be when you get to Unreal later.


STEP 2: Next, activate the perspective view by left-clicking somewhere within it (you can use whatever click you like, but left-clicking will make sure that you don't accidentally move the perspective). Check whether it is active by looking for the yellow border around the viewport. Then create a camera by hitting CTRL + C. Note that your perspective view is now a camera.


STEP 3: Select the modify tab (1) and scroll down to find the FOV of the camera (2). Make note of this number!


STEP 4: Finally select the "Select and Rotate"-tool by hitting the corresponding button in the top bar or using (E) and check the bottom of the screen for the X, Y and Z rotation of the camera. Also known as Pitch, Yaw and Roll (not necessarily in that order). Make note of these numbers as well!


STEP 5: Get your scene assembled into Unreal. Import all your assets and use different views to try and copy over the scene exactly as it is in 3ds Max. Using the Top and Side view in Unreal can help significantly here. It is IMPORTANT that the scene is as accurately assembled as you possibly can, otherwise the placement of assets in the scene will confuse you later!

Once the scene is set up, drag a camera into the scene. You can do that by searching for camera in the top left (1) and then just using drag-and-drop to place it in the scene (2). At this point you might also want to pin the preview for convenience's sake (3).


STEP 6: Take a look at the camera properties on the right side of the screen. In "Field Of View" copy down the FOV number that you noted down earlier from 3ds Max (1). (N.B: Unreal likes to ever so slightly change the number you input.. but don't worry it'll still be accurate!) A bit further up you can find "Rotation" (2).This is where it gets a bit confusing, but just follow this exactly as I say and it should work..

In the X field: Fill in the Y rotation that you noted down earlier.
In the Y field: Fill in the X rotation - 90. So for me, this was 80.265 - 90 = -9.735. (A calculator can help you here!)
In the Z field: Fill in the Z rotation but negate it. Meaning that if it's positive, the number becomes negative and vice versa. So for me, the noted down value was "175.762" so I write down "-175.762" into the field. If your number is negative, such as "-75.688" then just make it positive: "75.688"

Finally look down a bit and find "Aspect Ratio". In the little box at the back that says "width x height" type in the exact dimensions for your original screenshot (that you used to create the perspective match) but WITHOUT the black bars that most movies add onto their films, in the format "width x height". So for me that was "1920 x 816". (So much for full 1080p movies..) (3)


STEP 7: Aaaaaand finally you are done... well not quite, sorry. Your camera now has the exact same FOV and rotation as the camera in 3ds Max and also displays the picture at the right dimension, however unless you luckily managed to place the camera at the right location you now need to move it around until you find the right spot. This should not be too hard though, depending on the amount of assets in the scene you can easily use the assets as reference points to get it right. It took me about 2 minutes to get mine to this position:


That's pretty accurate if you ask me! Here's the original screenshot for comparison:


LAST BUT NOT LEAST: A little trick if you wish to actually "play" the level and let it use the camera as the view. There is a simple setting in the camera options under "Auto Activate For Player". If you set this from Disabled to Player 0 then upon playing the level it will automatically force the camera view onto the viewer.


I hope this little guide will help some of you out. I haven't been able to test this much, but let me know if it didn't work for you.. :)

2 comments:

  1. Great article, I was just looking for something like this for a work. Thank you very much for sharing! :)

    ReplyDelete
    Replies
    1. No worries, I'm glad it was of use to someone :)

      Delete