using UnityEngine; using System.IO; using System; [RequireComponent (typeof(Camera))] public class CaptureWithAlpha : MonoBehaviour { public int UpScale = 4; public bool AlphaBackground = true; Texture2D Screenshot () { var camera = GetComponent<Camera> (); int w = camera.pixelWidth * UpScale; int h = camera.pixelHeight * UpScale; var rt = new RenderTexture (w, h, 32); camera.targetTexture = rt; var screenShot = new Texture2D (w, h, TextureFormat.ARGB32, false); var clearFlags = camera.clearFlags; if (AlphaBackground) { camera.clearFlags = CameraClearFlags.SolidColor; camera.backgroundColor = new Color (0, 0, 0, 0); } camera.Render (); RenderTexture.active = rt; screenShot.ReadPixels (new Rect (0, 0, w, h), 0, 0); screenShot.Apply (); camera.targetTexture = null; RenderTexture.active = null; DestroyImmediate (rt); camera.clearFlags = clearFlags; return screenShot; } [ContextMenu ("Capture Screenshot")] public void SaveScreenshot () { var path = Environment.GetFolderPath (Environment.SpecialFolder.Desktop); var filename = "SS-" + DateTime.Now.ToString ("yyyy.MM.dd.HH.mm.ss") + ".png"; File.WriteAllBytes (Path.Combine (path, filename), Screenshot ().EncodeToPNG ()); } }
Monday, February 13, 2017
Take a Unity Screenshot with Alpha
This script takes a screenshot and saves it to the user desktop. It has options to use an alpha background, and also upscale the image. Useful for taking pictures of a scene or model for composition by artists.
Friday, February 03, 2017
Building fast, quality network server programs with Go.
I've been investigating and learning Go. There is a lot of high quality tools out there, for example:
- xo generates types and functions to match your SQL schema, and
- goa lets you design a REST api using a DSL, then generate the code to implement that API!
Compile time for Go is super fast, and so is the built executable. I'm using vim for the IDE, and it has excellent support for Go, including autocompletion which is great when you're learning the language.
- xo generates types and functions to match your SQL schema, and
- goa lets you design a REST api using a DSL, then generate the code to implement that API!
Compile time for Go is super fast, and so is the built executable. I'm using vim for the IDE, and it has excellent support for Go, including autocompletion which is great when you're learning the language.
Subscribe to:
Posts (Atom)
Popular Posts
-
I've just seen and used a brilliant ssh option. The command: sudo ssh -D localport user@externalhost will set up a local SOCKS proxy l...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
When you start working with threads in your Unity3D project, you will discover that many things need to be done in the main loop. For exampl...
-
import csv open("output.tsv", "w").write("\n".join("\t".join(e.strip() for e in i) for i in csv.rea...
-
Thank to Adrian Boeing I was inspired this morning to hack together a ripple shader for Unity3D. Thanks for the math Adrian. You can see t...
-
This script takes a screenshot and saves it to the user desktop. It has options to use an alpha background, and also upscale the image. Usef...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
Space is awesome. Especially when it is generated using Perlin noise, and some cool shaders. You can try it out over here.
-
Just 514 lines of code. Uses sockets only, no other dependencies. https://github.com/simonwittber/uniwebserver Example Component: [Req...
