Camera settings
With matching view windows. Still a lot to figure out here, making progress.
Appears that actually placing additional cameras is quite a bit trickier.
Aside from the code aspects, the selector appears to use a single icon to choose the image.
Might be a good place for a config file entry that changes the relevant values directly
36 Replies
Let's use a thread for this
Alright, sounds good
I've forgotten what this is about! The camera tool?
Can you recap?
At this point have the ability to make different shaped video cameras and windows. At least a square and a rectangle so far. Presumably can be done with any aspect, although don't have all the settings worked out entirely or tested for distortion, framing etc
The raw dimensions are enterable for the output video, the camera path video, and snapshot videos in unity. The framing is a bit trickier, I just stole the data from the gifs and inverted the rectangle dimensions
There's a scaling factor in regular videos on the x/y, of 1.2, not sure why that is, possibly for curvature reasons in translating or pov math? At any point, it explains why it's hard to frame shots correctly.
I uploaded a chart with the side by side settings, but haven't marked out which values are which yet. I've got them, but my version is super cluttered with notes
I thought it was literally as simple as changing "display width" and "display height" on the Screenshot Manager component?
i.e. just two numbers to change for each type of camera
if that worked - i was going to suggest adding a new config setting rather than a new camera type
(the two numbers control the aspect ratio - but not the resolution. that can be overridden)
https://discord.com/channels/783806589991780412/806934697237938216/1007974583535673394
Well, that mostly works. It doesn't work for the back panel. But maybe we can adapt that bit. Config numbers can be set directly, and it will shoot in that dimension but won't frame it right in the video camera
"It doesn't work for the back panel" - what's the "back panel"?
Just a sec, let me find my chart
just not sure what you mean by back panel
I suspect the preview could be fixed by changing the scale on the "MeshScreen"

Essentially there's four parts to each of the cameras, in different places.
1. MeshBackboard (not entirely sure what that does yet, needs further testing) 2. MeshBorder controls the camera view window 3. Mesh Renderer (also not sure, one might control the inner reticule 4. The camera settings themselves (which you mentioned).
1. MeshBackboard (not entirely sure what that does yet, needs further testing) 2. MeshBorder controls the camera view window 3. Mesh Renderer (also not sure, one might control the inner reticule 4. The camera settings themselves (which you mentioned).
Confusingly, the names are similar but not identical in the heirarchy menu to their labels

The render camera is separate from the handheld camera
So both values need to match, although they can be the same
The vertical camera only works if the MeshBorder is also set the same way, as I recall. However it lets you shoot vertically without turning your hand (which last time I tested didn't work anyways. Disabled in the older code, at least)
The box camera will work without changing the default mesh, but it's better to use the gif settings for photography purposes so you know what's in the viewport
"Vertical camera" "Box camera" - do these correspond to the "offical" names? (Screenshot/AutoGif/TimeGif/Video)?
No these are not official names. These are the ones I tested with and are easiest because they basically just swap values with existing cameras so didn't need to do calculations on placement etc, which I don't understand yet

Box camera corresponds to the frame used by "TimeGif"
VerticalCamera is simply video camera with reversed settings I did the same inversion with the other two settings, so not fully tested how things correlate. The actual window changed orientation when I changed the value for MeshBorder (for the 'VerticalCamera')
VerticalCamera is simply video camera with reversed settings I did the same inversion with the other two settings, so not fully tested how things correlate. The actual window changed orientation when I changed the value for MeshBorder (for the 'VerticalCamera')
oh i see. Box/Vertical refers to your customizations?
Yes
Although obviously nice if we can smoothly transition to common presets.
If not, then might be convenient to make a chart and put it in documentation
I just got to this stage tonight, plan to do further testing. Not sure what the other settings do.
Speculating: One may provide a background for the frame, the other may control the interior targeting reticule.
Alternately they may have to do with how they position in game, or adjust the view field or something. Needs research
:: Also have not tested the .bat file conversion to 4k and 360 with it yet, possible that it may impact those in some way?
Ideally, I'd like to actually put the box camera and the vertical camera directly in the game itself.
After looking at the code, that appears to be beyond my limited programming knowledge at this time.
Would basically remove the need for the gif cameras entirely
I just had a play to try and get a 1:1 screenshot and no matter what i change, the saved image is still wide.
did you manage to get the saved image to match the preview?
ah. i know what's wrong
i'm using the screenshot where you can override aspect
Yes. Hmm, may have made a code change there as well. Have to look, did that yesterday
let me try with the video
Yeah. that works.
So - it seems you only have to change two things:
1. Display height/width on VideoCamera gameobject
2. Scale on the MeshScreen gameobject
(the MeshBorder can also be changed but that's cosmetic and doesn't really matter)
is that the frame around the window?
yeah
I think the mesh renderer, has to be changed if it's vertical because it breaks the bounds of the default box?
Don't recall the detail, what's that one do?
Anyhow, seems suitable for a config change.
1. Also attempted to duplicate the video camera, 2. add it to the list in the MultiCamCaptureRig.cs 3 and increase the unity size in the MultiCamCaptureRig set This ran into several difficulties. Wouldn't launch the camera, although it did let me toggle through the images (which were offset and had a gap where the new one with no icon was' [there's an actual image file somewhere that has the base camera icons all on one icon, unclear if that's a factor] Read more of the code and noticed the icon thing and decided it was well beyond what I understand for now. Because of the error message, the second video cam and how to set that up internally, and whatever they did with the icon
1. Also attempted to duplicate the video camera, 2. add it to the list in the MultiCamCaptureRig.cs 3 and increase the unity size in the MultiCamCaptureRig set This ran into several difficulties. Wouldn't launch the camera, although it did let me toggle through the images (which were offset and had a gap where the new one with no icon was' [there's an actual image file somewhere that has the base camera icons all on one icon, unclear if that's a factor] Read more of the code and noticed the icon thing and decided it was well beyond what I understand for now. Because of the error message, the second video cam and how to set that up internally, and whatever they did with the icon
There needs to be exactly the number of capture objects as MultiCam styles.
UnityEngine.Debug:AssertFormat (bool,string,object[])
TiltBrush.MultiCamCaptureRig:Init () (at Assets/Scripts/MultiCamCaptureRig.cs:64)
TiltBrush.SketchControlsScript:Awake () (at Assets/Scripts/SketchControlsScript.cs:813)
Anyhow, as far as I got, although I poked at some definitions, and am likely to for a while. I do have a list of relevant files somewhere though
:: For now, more interested in testing the .bat file and how aspect changes impact quality, if it works for 4k and 360.
Plan to look at that tomorrow eveningOh and here's the side by side, just so everything's in one place (small error fixed)

it would be possible to fix that but i think the config file is a better approach for now. We'd end up with a lot of cameras if we added one for each aspect ratio.
Ya, I'm thinking that I'd want a box and a vertical, mostly for framing reasons and high utility. Maybe something to look at down the road.
To do a complicated aspect ratio setup we'd probably want to use sliders or selection to pick from the more common ones, or just relegate the other aspects to a config file anyhow. Also presumably we could do a round camera or another masked based one as well. Figure that both gif cameras are completely expendable now. However all of that is a more time consuming feature, perhaps worth coming back to when higher priority items are taken care of. Decided might as well document it though. Config file is the quick fix and gets things in play faster. Thinking about the camera features.
1. The timed gif camera has a 'set filming time' feature.
If we replace that cam at some point with a video camera, I can see this being more useful. 2. The other gif camera has the capability to lock the frame in place when you push record. It then introduces a wobble effect, which isn't particularly useful. What might be better is a video camera that kept the 'freeze frame' thing and recorded for a set length of time. I'm guessing that most of the code is already there, but would need some re-arrangement or tuning to switch it over to video.
This is good if you need a video that doesn't move but records animations.
3. There's ffmpeg code that can extract a png stack from a video. Might be a useful feature to add into the bat file (renderVideo.cmd) processing script.
Looks like that can be amended just by putting display text and ffmpeg structure into it. (is it a standalone script?
To do a complicated aspect ratio setup we'd probably want to use sliders or selection to pick from the more common ones, or just relegate the other aspects to a config file anyhow. Also presumably we could do a round camera or another masked based one as well. Figure that both gif cameras are completely expendable now. However all of that is a more time consuming feature, perhaps worth coming back to when higher priority items are taken care of. Decided might as well document it though. Config file is the quick fix and gets things in play faster. Thinking about the camera features.
1. The timed gif camera has a 'set filming time' feature.
If we replace that cam at some point with a video camera, I can see this being more useful. 2. The other gif camera has the capability to lock the frame in place when you push record. It then introduces a wobble effect, which isn't particularly useful. What might be better is a video camera that kept the 'freeze frame' thing and recorded for a set length of time. I'm guessing that most of the code is already there, but would need some re-arrangement or tuning to switch it over to video.
This is good if you need a video that doesn't move but records animations.
3. There's ffmpeg code that can extract a png stack from a video. Might be a useful feature to add into the bat file (renderVideo.cmd) processing script.
Looks like that can be amended just by putting display text and ffmpeg structure into it. (is it a standalone script?
Zoom Control. Needs image with controls showing. Demonstrates how to use the zoom feature.
Should probably have something like this in the documentation, wasn't previously clear to me, at least
Should probably have something like this in the documentation, wasn't previously clear to me, at least

10 is Maximum Zoom in, 80 is default zoom (unless fov changed in config), 140 is maximum zoom out setting
Range is set in CameraConfig.cs, may well be reasons for zoom minimum max?
set as kFovDefault, KFovMin, and KFovMax
Specific suggestions here: https://discord.com/channels/783806589991780412/784197548918177842/1012813077646938233
(video timer and relabeling of Zoom tool)
Would be interesting to have the ability to record backwards or reverse direction (on alternate intervals to prevent loop)
Ability to link path segments would be helpful.
Use case is whey you want specific shots that will be part of a longer path Or when the path is too large to be easily physically manageable. Can be difficult to resume if path has a long stretch in physical space
Use case is whey you want specific shots that will be part of a longer path Or when the path is too large to be easily physically manageable. Can be difficult to resume if path has a long stretch in physical space
One for #archived-feature-requests ?
Both of those probably are, trying to keep all the camera stuff here, can duplicate.
Also would be nice to have an "ignore images" or similar if possible button.
Sometimes you want them in because they're part of the scene.
If they're just reference in a big scene , it's easy to lose track of them So may or may not want to include them while filming, especially if they're going to ruin the shot, but you want to keep them handy for further work
Sometimes you want them in because they're part of the scene.
If they're just reference in a big scene , it's easy to lose track of them So may or may not want to include them while filming, especially if they're going to ruin the shot, but you want to keep them handy for further work
Just became aware of this stuff. Is any of it in the code?
https://vimeo.com/121923522?fbclid=IwAR1tI37OrW3hqp2fkAfcxqPWsDXAwsFrkq0qXOb4VlvZ5LPRPKOMB9E2A2Y
Drew Skillman
Vimeo
Tilt Brush | Brushes
Demo video of the new Brush features we've been adding to Tilt Brush.
What the! 👀
Good find!
@mikesky - have you seen this? ☝️
That's a really interesting glimpse into early design choices. The pattern brushes are most obviously something that didn't make it into the version we know.
The light source brush as well. Is that a "real" light source?
Oh man I’d completely forgotten about that vid, now I want them all!!
I’m guessing there was performance reasons for not including them back at the beginning, but perhaps they’re possible now…
Open Brush RTX edition... Path-traced global illumination...
URP now has a forward+ renderer that allows lots of point lights: https://github.com/keijiro/URPTestbed