Hi guys,
I am a researcher that know little of Unity so bear with me. For my current project, I am looking to automate taking screenshots of objects of interest (e.g. a ball, cup of coffee, elephant) in different scenes/environments (e.g. Urban/Forest/Desert) that are as realistic as possible. I am currently looking for a suitable framework to do this. To this end, I have some questions for you guys:
-
Say I have an object of interest, can I automate taking screenshots of that object at different viewpoints (elevation, distance, azimuth)?
-
Can I export the location (in pixels) of that object within the screenshot taken (for instance, a bounding box around the object)
-
Is it easy to automatically generate environments such as a city from paid/free assets?
-
Can I easily change weather conditions (sunny/rain/cloudy) so I can take identical screenshots with different weather conditions?
Sorry if this comes over as lazy but I am currently still in my feasibility studies so I have limited time. I am able to dive in deeper if I know this works so I am hoping some of you guys point me in the right direction.
Thank you kindly in advance.
-
Yes, you have full control of the camera, but the settings are in world space position and rotation of the camera itself. You’d need to write your own script to automate the movement of the camera relative to another object. You could also see if the Cinemachine feature which has some more advanced camera controls is suitable for your project.
-
You could write a script to raycast to determine this information.
-
Automatically generating complex environments such as a city is not a trivial task. There’s assets for automatically generating terrain, such as mountains and valleys, but building a city is usually a manual process. Though there may be automation assets for this available that I’m unaware of. You may also be able to find a complete city scene already suitable for your project.
-
Unity doesn’t have built in weather functionality, but there are weather assets available. Expect to have to do a bit of coding to get the weather control system to function in the way you’re intending.
Since you’re looking to generate still images, I’d expect you’ll also want to integrate post processing effects, such as Unity’s v2 of its post processing stack, and you’ll need to spend some time working with lighting.
Thanks for the help! We’ve decided to focus on Unity for now, and I am now looking at automating the scripts required.
I would like to know how much of the object-of-interest (OOI) is occluded by other objects (e.g. a tree is located between a car(OOI) and the camera). Is raycasting suitable for this? I could make a grid using raycasting on the object plane perpendicular to the camera-object vector (like a silhouette). How would I estimate the border locations for the silhouette?