Skyblock Screenshot Compositing

From NodeCore Wiki
Revision as of 17:43, 22 January 2022 by Warr1024 (talk | contribs) (Make sure to mention anti-aliasing in compositing instructions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Screenshots for skyblock mods tend to be better when manually composited:

  • Skyblocks themselves are better shown at narrow FOV (zoomed in) while the skybox is better at a wide angle
  • Compositing multiple layers allows showing off what's inside the block




Here is the method Warr1024 uses to make a complex composite shot of the `nc_sky_ultra_hard` mod:

  1. Create a new NodeCore world w/ singlenode mapgen
  2. Select Mods, enable nc_sky_ultra_hard, enable worldedit, Save
  3. Create worldmods dir in world dir
  4. Copy or link docs/screenshot-world/worldmods/mockplayer/ from NodeCore repo into worldmods
  5. Start Game
  6. /grantme all
  7. Find a camera position where you can see nothing but the skybox, and at an angle that shows off as much of it as possible
  8. Turn off HUD and chat, go fullscreen if possible
  9. Take a screenshot
  10. Quit the game
  11. Create a new folder named "sky" in worldmods
  12. Add a mod.conf to new folder, add contents:
	name = sky
	depends = nc_api_all
  1. Add an init.lua to new folder, add contents:
		label = "skyrealm skybox",
		priority = -1000,
		action = function(_, data)
			local t = "[combine:1x1^[noalpha^[colorize:#ff00ff" = {t,t,t,t,t,t}
  1. Make sure anti-aliasing, and waving plants shader, are disabled
  2. Start Game
  3. Stand on the corner of the block, execute "/spawnentity mockplayer:ent"
  4. Use /giveme commands to arrange an inventory for the mock player. An adze, loose leaves, eggcorn makes sense.
  5. Sneak+punch the mock player to set their inventory.
  6. Fly to a spot in the direction you want the mock player to face, and punch them until they face you and are in the right pose.
  7. Choose a part of the island to cut away that will be visible from your intended camera position but does not have the player standing on it, use worldedit commands (//1 and //2) to select the area.
  8. Use //shift y 1000 to move the selection box out of camera shot.
  9. Choose a camera position, use the Zoom key to check it.
  10. Turn off HUD and chat, go fullscreen if possible
  11. From now on do NOT move the camera at all
  12. Holding zoom button, take a screenshot
  13. Issue command "//shift y -1000" to restore selection area
  14. Make sure stasis is on via command "/stasis on"
  15. Carve island away using "//set air"
  16. Remove selection box with "//reset"
  17. Holding zoom button, take a screenshot
  18. Quit game
  19. Start up GIMP
  20. Open as Layers, pick all 3 screenshots
  21. Order layers with skybox on bottom, cutaway in middle, full island on top
  22. For each non-skybox layer, Layer -> Transparency -> Add Alpha channel
  23. Choose the Select by Color Tool
  24. In Tool Options, set tolerance to zero
  25. For each non-skybox layer, select the magenta sky and delete it
  26. Set opacity of topmost layer; 50% to 75% works well
  27. Merge and export the final composite screenshot