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
-
These are the robots I've been working on for the last 12 months. They each weigh about 11 tonnes and have a 17 meter reach. The control...
-
I get many confused emails from people trying to get UniWeb to work in the Unity WebPlayer. It works, but you have to set things up correctl...
-
So, you've created a car prefab using WheelCollider components, and now you can apply a motorTorque to make the whole thing move along. ...
-
Often, when building a game, you need to test if objects are colliding. The objects could be spaceships, rocks, mouse pointers, laser beams....
-
I went to the pulse expo this evening, where one of the speakers mentioned that Ubisoft are in town (Perth, Western Australia), looking to...
-
I'm about to release a Tech Tree editor tool for Unity. To test usability and work out how improve the interface, I used it to buil...
-
I've been working on something new. I get a lot of projects where I have to add multiuser functionality. Finally I've made the jump ...
-
I decided to double check my assumptions about Stackless and the GIL on a multicore machine, using the same example provided by David Beazl...
-
In my spare time this week, instead of building spaceships, playing games or even drinking beer... I will make a game for the Apple App Stor...
-
In the 7 years I've been actively involved in web development, I have never seen any of my peers bother implementing proper controls to ...