Eine mögliche Lösung für die Erstellung einer 3D-Grafik wird mit einem Partikelsystem sehr begrenzt:
einfaches Beispiel für eine Komponente Script für ein Partikelsystem:
public class Graph: MonoBehaviour {
//Particle-Resolution of the Graph
[Range(10, 100)]
public int resolution = 10;
private int currentResolution;
private ParticleSystem.Particle[] points;
void Start()
{
currentResolution = resolution;
points = new ParticleSystem.Particle[resolution];
float increment = 1f/(resolution - 1);
for (int i = 0; i < resolution; i++)
{
float x = i * increment;
points[i].position = new Vector3(x, 0f, 0f);
points[i].startColor = new Color(0f, 0f, 0f);
points[i].startSize = 0.1f;
}
}
void Update()
{
if ((currentResolution != resolution) || (points == null))
{
CreatePoints();
}
FunctionDelegate f = functionDelegates[(int)function];
for (int i = 0; i < points.Length; i++)
{
Vector3 p = points[i].position;
p.y = Sine(p.x);
points[i].position = p;
Color c = points[i].GetCurrentColor(GetComponent<ParticleSystem>());
c.g = p.y;
c.r = 1f - p.y;
points[i].startColor = c;
}
GetComponent<ParticleSystem>().SetParticles(points, points.Length);
}
private static float Sine(float x)
{
return 0.5f + 0.5f * Mathf.Sin(2 * Mathf.PI * x + Time.timeSinceLevelLoad);
}
}
ein gutes Tutorial für die 2D/3D-Grafiken Zeichnung (einschließlich diesem Beispiel) mit einem Partikelsystem von CatLikeCoding (Jasper Flick). Siehe: http://catlikecoding.com/unity/tutorials/graphs/. Es ist etwas veraltet und Sie müssen in diesem Fall startSize/startColor anstelle der deprecated color/size-Properties verwenden.
Aber ich habe es schon mit den Hololens getestet und es hat gut funktioniert. Einige Experimente mit den HoloToolkit Shadern für eine bessere Leistung sind notwendig, wenn Sie eine große Menge an Partikeln haben :-)
Wenn Sie weitere Fragen haben: Fragen Sie mich einfach.
Sie sollten ein bisschen mehr beschreiben, um was für eine Grafik es sich handelt. Ist es ein Diagramm? Sollte es ein 3D-Diagramm aus 3D-Formen oder ein 2D-Diagramm aus UI sein? – Everts
Ich muss eine Diagrammlinie über einem Objekt zeichnen, also ist es ein 2d Liniendiagramm. Aber am Ende muss alles 3d sein? Da ist alles ein Hologramm. –
Ja, aber es kann ein flaches UI-Bild zum Erstellen der Linie (2D) oder ein dünner Würfel (3D) sein. Grundsätzlich glaube ich, dass ich deine Frage beantwortet habe. Entweder eine dünne UI-Linie mit einer Leinwand, die an das Objekt angehängt ist, oder ein dünner, gestreckter Würfel, der ebenfalls an das Objekt angehängt ist. – Everts