Difference between revisions of "Screenshot Recreation"

From Valve Cut Content
Jump to: navigation, search
(Added todo category)
(Passive voice rewrite, APNG)
 
Line 32: Line 32:
 
=== Hammer ===
 
=== Hammer ===
  
You might benefit from my guide on opening [https://hl2-beta.ru/index.php?topic=29375.0 Leak maps in Hammer++], and my [https://drive.google.com/file/d/1K2g9dOyZ3vfHuxG3NifWzpw6oxlNP9-S/view?usp=sharing VMF updater mappack]. The updated maps will require less effort to fix up compared to the unmodified WC mappack maps.
+
For the this task, this guide on opening [https://hl2-beta.ru/index.php?topic=29375.0 Leak maps in Hammer++], and the [https://drive.google.com/file/d/1K2g9dOyZ3vfHuxG3NifWzpw6oxlNP9-S/view?usp=sharing VMF updater mappack] may be useful. The updated maps will require less effort to fix up compared to the unmodified WC mappack maps.
  
Before you can create a screenshot recreation, you need to have a (close enough) version of the map shown available. Thus, the first step is to canvass the maps that seem to roughly match the one the shot was taken in until the closest one is found.
+
A screenshot recreation requires a (close enough) version of the map shown available. Thus, the first step is to canvass the maps that seem to roughly match the one the shot was taken in until the closest one is found.
  
I would advise for comparisons to not use fast compilations. This means compilation time can chug - but if we use a cordon to remove everything the player can’t see from the screenshot’s angle, that’s not a problem.
+
Fast compilations can introduce lighting artifacts, and aren't advised. This can make compilation time longer, but utilizing a cordon to remove everything that is invisible from the player's perspective alleviates this issue.  
  
The map may already have a [https://developer.valvesoftware.com/wiki/Hammer_Cordon_Usage cordon] - click “Edit Cordon” to interact with it, and “Enable Cordon” to activate it. In order to accurately determine what the player can see, you can drag-select (Hammer++ only) everything in the 3D viewport, and put the cordon around what is selected.
+
The map may already have a [https://developer.valvesoftware.com/wiki/Hammer_Cordon_Usage cordon] - click “Edit Cordon” to interact with it, and “Enable Cordon” to activate it. In order to accurately determine what the player can see, drag-select (Hammer++ only) everything in the 3D viewport, and put the cordon around what is selected.
  
 
<span id="hl2"></span>
 
<span id="hl2"></span>
 
=== HL2 ===
 
=== HL2 ===
  
Enabling noclip is a must. Many screenshots use it, even if it doesn’t look like it. Further, noclip “snaps” to the ground to a certain degree, meaning it can even serve as a more precise way to “walk”.
+
Enabling noclip is essential. Many screenshots use it, even if it doesn’t look like it. Further, noclip “snaps” to the ground to a certain degree, meaning it can even serve as a more precise way to “walk”.
  
Valve’s screenshots use both <code>fov 75</code> and <code>fov 90</code>. If you can’t seem to get the rough look of it right, try changing it between these two, or others.
+
Valve’s screenshots use both <code>fov 75</code> and <code>fov 90</code>. Switching between the two is useful if the alignment doesn't seem to "just work".  
  
 
<span id="getting-it-right"></span>
 
<span id="getting-it-right"></span>
 
=== Getting it Right ===
 
=== Getting it Right ===
  
An important aspect of getting the alignment right is being able to increase your precision of movement as you get it closer. These commands are important for it:
+
An important aspect of getting the alignment right is being able to increase movement precision. These commands are important for it:
  
 
* sv_noclipspeed
 
* sv_noclipspeed
 
* sensitivity
 
* sensitivity
  
For further degrees of freedom in movement, you might want to <code>bind</code> a key to <code>+moveup</code> and <code>+movedown</code>. This allows you to adjust your vertical position without losing your view angle.
+
For further degrees of freedom in movement, <code>bind</code>ing a key to <code>+moveup</code> and <code>+movedown</code>. This allows vertical position adjustment with no effect on the view angle.
  
It’s easy to get myopically focused on comparing one area of the screenshot. Avoid this! If you are looking at one area, it’s easy to let another slip. Try to get 3 or so different areas across the screenshot roughly there. Then, you can perfect one, perfect the other, fix any issues with the first, and repeat this for the third.
+
It’s easy to get myopically focused on comparing one area of the screenshot. Avoid this! One area can slip when another is being focused on. Try to get 3 or so different areas across the screenshot roughly there. Then, they can be more accurately perfected. Then, you can perfect one, perfect the other, fix any issues with the first, and repeat this for the third.
  
As adjustments become more precise, you might want to compare the screenshots directly and plan out where you want to move. Simply unconsciously adjusting might leave you further away from accuracy than you were.
+
As adjustments become more precise, comparing the screenshots directly planning out movements can be beneficial. Simply unconsciously adjusting might reduce accuracy.
  
There is never perfect perfection, but if you can get it to the point where the screenshot stops “moving” between the comparisons, that’s quite enough.
+
There is never perfect perfection, but if thee screenshot stops “moving” between the comparisons, that’s quite enough.
  
Before you finish, type <code>getpos</code> to save your position. If you’re feeling nice, bundle it with your comparison to make it easier for succeeding users to get back where you were.
+
Before completion, type <code>getpos</code> to save your position. Bundle it with the comparison to make it easy to for others to improve and iterate on it.
  
 
<span id="to-gif"></span>
 
<span id="to-gif"></span>
 
=== To GIF ===
 
=== To GIF ===
  
Paint.NET: [[https://forums.getpaint.net/topic/118869-gif-animations-and-images-filetype-plugin-gif-agif-latest-v15-2021-11-16/| I’ve been using this]]. I set the “Delay” to 500 when saving, and set the loops to 0 (why should it stop animating?). This maintains the limitation of the 256 color palette, but is still useful.
+
Various options are available for turning the screenshots into GIF images. A few examples:
  
I use ezgif.com. Put both of the parallel screenshots together and then set the “Delay” to 50. Feel free to suggest something better. I prefer there be no blending frames between the two screenshots, because it makes it more difficult to spot differences.
+
Paint.NET: [[https://forums.getpaint.net/topic/118869-gif-animations-and-images-filetype-plugin-gif-agif-latest-v15-2021-11-16/| 'GIF Animations and Images' FileType Plugin]]. Screenshots on this page use a Delay of 500, and set the loops to 0 (There's no reason why an image should stop animating).
 +
 
 +
Utilizing an [[https://ezgif.com/gif-to-apng|online APNG converter]] allows significantly better color quality, but locally available tools are rare.
  
 
<span id="prior-work"></span>
 
<span id="prior-work"></span>
 
== References ==
 
== References ==
 
<references />
 
<references />

Latest revision as of 03:48, 23 August 2023

The ability to accurately swap between original screenshots released by Valve and the exact equivalent locations of each screenshot's given map allows for artists to find otherwise unnoticed details that they may miss when attempting to recreate an asset. As such, being able to find the exact positions and angles that official screenshots were taken at can be a worthwhile venture. The following are examples of official screenshots and their equivalent in-game locations.

Examples

d1_borealis_01_full (noclip, 1024x768): setpos 540.532837 -157.764374 -198.184235;setang -1.157436 153.446045 0.008447
2001_borealis_hltv (1600x960(?)[1]): borealis_01_full or borealis_003, no coordinates available.
soldiers (noclip, 1024x768): d3_borealis_05: setpos 474.040497 352.175690 -231.272766;setang -5.733209 220.825195 0.000001
zombie (2048x1536): d3_borealis_05_005: setpos 609.607422 102.029625 -255.968750;setang -6.403040 194.886475 -0.000071
c1a3a_port with soldiers: fov 90; setpos -867.965271 -1092.916748 288.031250;setang 37.437645 160.565186 0.000000
valvetime c1a3a_port (noclip): fov 90; setpos -334.547333 -2934.202881 309.520599;setang 29.903189 288.775635 0.000000

Making your own Screenshot Recreations

Creating screenshot recreations requires a tool that can overlay separate windows with transparency, or a way to seamlessly change between windows. Glass2K for Windows is one such tool. It allows for the user to overlay screenshots onto their screen, thereby allowing said user to align their view to be the same as the original screenshot.

Hammer

For the this task, this guide on opening Leak maps in Hammer++, and the VMF updater mappack may be useful. The updated maps will require less effort to fix up compared to the unmodified WC mappack maps.

A screenshot recreation requires a (close enough) version of the map shown available. Thus, the first step is to canvass the maps that seem to roughly match the one the shot was taken in until the closest one is found.

Fast compilations can introduce lighting artifacts, and aren't advised. This can make compilation time longer, but utilizing a cordon to remove everything that is invisible from the player's perspective alleviates this issue.

The map may already have a cordon - click “Edit Cordon” to interact with it, and “Enable Cordon” to activate it. In order to accurately determine what the player can see, drag-select (Hammer++ only) everything in the 3D viewport, and put the cordon around what is selected.

HL2

Enabling noclip is essential. Many screenshots use it, even if it doesn’t look like it. Further, noclip “snaps” to the ground to a certain degree, meaning it can even serve as a more precise way to “walk”.

Valve’s screenshots use both fov 75 and fov 90. Switching between the two is useful if the alignment doesn't seem to "just work".

Getting it Right

An important aspect of getting the alignment right is being able to increase movement precision. These commands are important for it:

  • sv_noclipspeed
  • sensitivity

For further degrees of freedom in movement, binding a key to +moveup and +movedown. This allows vertical position adjustment with no effect on the view angle.

It’s easy to get myopically focused on comparing one area of the screenshot. Avoid this! One area can slip when another is being focused on. Try to get 3 or so different areas across the screenshot roughly there. Then, they can be more accurately perfected. Then, you can perfect one, perfect the other, fix any issues with the first, and repeat this for the third.

As adjustments become more precise, comparing the screenshots directly planning out movements can be beneficial. Simply unconsciously adjusting might reduce accuracy.

There is never perfect perfection, but if thee screenshot stops “moving” between the comparisons, that’s quite enough.

Before completion, type getpos to save your position. Bundle it with the comparison to make it easy to for others to improve and iterate on it.

To GIF

Various options are available for turning the screenshots into GIF images. A few examples:

Paint.NET: ['GIF Animations and Images' FileType Plugin]. Screenshots on this page use a Delay of 500, and set the loops to 0 (There's no reason why an image should stop animating).

Utilizing an [APNG converter] allows significantly better color quality, but locally available tools are rare.

References

  1. The exact resolution needs to be specified in the launch options.