Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
using UnityEngine;
using System.Collections;
using PixelSpriteGenerator;
public class RandomShrub : MonoBehaviour {
private PsgMask mask;
private PsgSprite sprite;
private SpriteRenderer sr;
// Use this for initialization
void Start () {
sr = GetComponent<SpriteRenderer> ();
mask = new PsgMask (new int[] {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, 2, 2, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, -1, -1, 0, 0, -1, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, -1, 0, -1, 0, 0, -1, 0, -1, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 0, 0, -1, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, -1, -1, 2, 0, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, -1, 0, 0, -1, -1, 2, 0, 2, 2, 2,
0, 0, 0, 0, 0, -1, 0, 0, 0, 0, 0, -1, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, 2, 2, 2,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -2, 2, 2, 2,
}, 16, 32, true, false);
var options = new PsgOptions () {
Colored = true,
EdgeBrightness = 0.3f,
ColorVariations = 0.2f,
BrightnessNoise = 0.3f,
Saturation = 0.5f
};
sprite = new PsgSprite (mask, options);
var tex = sprite.texture;
tex.wrapMode = TextureWrapMode.Clamp;
tex.filterMode = FilterMode.Point;
sr.sprite = Sprite.Create(tex, new Rect(0, 0, 32f, 32f), new Vector2(0.5f, 0.5f), 32f);
sr.flipY = true;
}
}
@hoenn

This comment has been minimized.

Copy link

commented Jun 1, 2016

Found a small work around by subtracting 0.02f from the width before creating the sprite. Any idea why your example ships have a much larger variance in color compared to the original project's even with the same settings? Each individual pixel color seems more random in your examples. Comparing the 'many color variations' sprites you have on this project's readme against the original project's 'many color variations' sprites it's quite noticable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.