2d Sprite creation at 0,0,0 with camera at 0,0,0 but renders wayyy off screen
I'm trying to generate a background procedurally and am having some fundamental issues with how Unity is positioning my newly created sprite. I have an empty project where I added the following piece of code to a script attached to my camera object. There's also a simple player sprite in the main view but it does nothing. The code below the sprite wayyyy off screen.. With the camera at 0,0,0 I have to position it at an x,y position that is very different from the camera position...
Code
GameObject background;
SpriteRenderer spriteRenderer;
// Sprite sprite;
void Awake () {
}
// Use this for initialization
void Start () {
Debug.Log ("hello!");
background = new GameObject ();
spriteRenderer = background.AddComponent<SpriteRenderer>();
Texture2D tex = new Texture2D(100,100);
for(int i = 0; i < 100; i++) {
for(int j = 0; j < 100; j++) {
tex.SetPixel (i, j, Color.black);
}
}
tex.Apply();
Sprite sprite = Sprite.Create(tex, new Rect(0, 0, 100, 100), new Vector2(50,50), 100);
spriteRenderer.sprite = sprite;
background.transform.position = new Vector3 (0, 0, 0);
}
What am I doing wrong?
Is the newly created gameobject positioned at 0,0,0? if not then try moving it by setting it's position to 0,0,0.
Also see if the parent of the camera is translated away from the origin.
Your answer
Follow this Question
Related Questions
How to make a thrown object land on a certain point e.g a thrown spear landing on its tip 0 Answers
How to make a thrown object land on a certain point e.g a thrown spear landing on its tip 1 Answer
Help with clouds -- Is it possible to procedurally generate them in a 2d game? 1 Answer
How can i place subjects in different positions? 0 Answers
Disable script after time 1 Answer