AWS Thinkbox Discussion Forums

Unreal 4 Render not forcing correct res

Hi,

We’re testing out the Unreal 4 Engine to do some rendering on an upcoming project. I’m trying to render out a 4k image using the override options within Unreal but it’s getting capped by the computer’s monitor resolution. Is that behaviour I should expect or is there something I’m doing wrong?

Thanks

Nick

Hi,

We worked it out. The command needs to have “-windowed” in it so that it doesn’t snap to the screen resolution. Dunno if you could add this as the default or as an option in the submitter?

Thanks

Nick

Hmm. I think we could just add it to this part of the plugin code?

        if self.GetBooleanPluginInfoEntryWithDefault( "OverrideResolution", False ):
            xResolution = self.GetIntegerPluginInfoEntryWithDefault( "ResX", 1920 )
            yResolution = self.GetIntegerPluginInfoEntryWithDefault( "ResY", 1080 )        
            arguments.append( '-ResX={0}'.format( xResolution ) )
            arguments.append( '-ResY={0}'.format( yResolution ) )
            # My addition:
            arugments.append( '-windowed' )

Yeah I hacked it in like that! Although there’s a spelling mistake in yours… :wink:

Thanks

Nick

Hi,

We’ve come across a few more challenges in our tests.

  1. It seems like we can’t access the “Overwrite Existing” option from the Render Movie Settings within Unreal Editor (see below). This means it creates Frame_1(1).jpg if we don’t clear out the folder beforehand.

  1. We’re getting no progress updates as it renders. I’m guessing nothing is exposed to you at the moment? Is there something we can add in or do to make this work? We’re going to be exporting very large sequences (30-60 mins at a time) so we could really do with a progress update as it goes through.

Thanks

Nick

I always get into the most heated of aroogments. :smiley:

For the first, is there some flag we could make use of, or is it up to us to delete the output before it becomes a problem?

For the second, I’d need a job report. Can you send one along? Feel free to remove any file names, I’m just interested in seeing if there’s any progress text we can go on here.

Hi Edwin,

I’m not sure on the flags, this is our first exploration into Unreal, it’s a bit of different World! I don’t think they expose an option for overwriting frames though so it is probably a case of having to delete the files first, I was wondering about the best way to handle this, whether we could run onjobstart script or something, or if you guys have a better way of handling that sort of thing?

The job report is empty, I think I’ll have to work out if there’s a way to get it to print or something, it’s obviously got debug and logging options but how that works…

Hmm. Well, there was a time when Arnold wouldn’t give frame output until we set it to full logging. 1.6GB logs per task, but we got our frame progress!

For the frame overwrite, we don’t have handy tools here that come to mind. I’d use the OutputFilenameX and OutputDirectroyX so you selectively delete the right bits instead of blanket clear the output folder.

Thanks Edwin, I’ll look into that. The sequences are so long we’re going to be doing an initial local render of the frames followed by an ffmpeg job to convert it to a movie and putting it on the server. We’ll probably put a script in to clear the whole folder so the hard drive is clear.

You can add a log argument to make it log to a separate window or a file, not sure if you guys could intercept that Although we also would have to put a print in the main blueprint of the file to log on every frame. My colleague suggested that a c++ plugin could be an option but that’s beyond my capabilities!

Nick

Yeah, it sounds like we’ll have to have enough people demanding better Unreal support before we can justify the add.

We can inspect output from a separate log though. We do that in “[repo]/plugins/VRaySpawner” in fact.

Would you be willing to throw an example log over? I don’t have Unreal handy at the moment.

Hi Edwin,

I thought that might be the case, not many people using it this way at the moment but it looks like it’s becoming more of an option with a few things starting to come out. I’ve attached a version of the log file. I’ve basically added a couple of nodes to a blueprint to make it print every tick/frame. I could add specific text to it I think if that would be easier to pickup? We’d also have to specify where the log file is saved as well I guess.

Unreal_Log.log (82.3 KB)

Well, we’d put the log into Deadline’s usual temp folder if we can pass that as an argument. The nice thing there is the the Slave will clean house when it’s done so there’s not much to worry about.

The bigger question for us supporting for everyone is: “How do we output progress for everyone”. I think for you guys the tick and the expected total ticks for the task are all that are needed so you could just have a policy where all users have to add them. We’d need something a bit more automatic and scene agnostic.

Yeah, I was thinking the same thing. It’s quite simple what we’ve done but in the long run it’s a not a great solution. More of simple hack. That’s why we thought a small plugin would work better, that way we could install the plugin and it would automatically log in the way you need. As you said though, you need enough people to be using it to warrant the time.

In the meantime though, you can use ‘log’ as a switch or setting on the command line.

I couldn’t see anything else in the command line aroogments that would help though: https://docs.unrealengine.com/latest/INT/Programming/Basics/CommandLineArguments/

Privacy | Site terms | Cookie preferences