Jump to content
Unity Insider Forum
Sign in to follow this  
frkx316

Texture2D / Einen Kreis via Script erstellen

Recommended Posts

Hallo :) 

ich habe heute versucht mittels Kreisformel ((xm1)^2+(ym2)^2=r^2) und 2 for-Schleifen einen Kreis auf einer Textur zu erzeugen 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class CirclePainter : MonoBehaviour {

	void Start () {
        Texture2D tex = new Texture2D(1024, 1024);
        int z;
        int r = 50;
        r = r ^ 2;
        for (int x = 0; x < tex.width; x++)
        {
            for (int y = 0; y < tex.height; y++)
            {
               z = (x - tex.height/2) ^ 2 + (y - tex.width/2) ^ 2;
                

                if ( z >= r)
                {
                    tex.SetPixel(x, y, Color.red);
                }
                else
                {
                    tex.SetPixel(x, y, Color.white);
                }
            }
        }
        tex.Apply();

        GetComponent<Renderer>().material.mainTexture = tex;

    }
	

dabei wurde auch eine sehr Interessante Textur erstellt auf der aber leider kein Kreis zu sehen war :(

hierzu noch ein bild:

image.thumb.png.228026e4eaf55089c326a5ff776d3fe5.png

 

Meine Frage an euch ist nun: Was habe ich falsch gemacht und was muss ich ändern damit am ende ein Kreis auf der Textur zu sehen ist?

Ich bedanke mich schon mal im vor raus und freue mich schon auf eure Antworten :D 

Share this post


Link to post
Share on other sites
^

ist nicht das Zeichen für "Hoch", es ist das Zeichen für "xor". Potenzrechnung machst du in Unity mit der Mathf-Klasse:

Mathf.Pow(4, 2); // 4 zum Quadrat

 

  • Like 2

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×