Question

J'essaie de dessiner un plan transparent (X [0..100], Y [0..100], Z = 0) en Java 3D, mais je ne vois pas comment. J'ai consulté la page du didacticiel et je ne trouve toujours aucun exemple de programme.

J'essaie de trouver un "avion". objet en tant que BranchGroup à ajouter à mon TransformGroup existant, mais il n'y a pas un tel objet plan; Que devrais-je utiliser? Et comment puis-je le rendre transparent?

Était-ce utile?

La solution

C’est un extrait de code que j’ai utilisé dans un histogramme - cela pourrait fonctionner dans un plan plat.

private static void createAppearances() {
    normalAppearance = new Appearance();
    normalAppearance.setMaterial(normalMaterial);
    selectedAppearance = new Appearance();
    selectedAppearance.setMaterial(selectedMaterial);
    TransparencyAttributes ta = new TransparencyAttributes();

    ta.setTransparencyMode (TransparencyAttributes.BLENDED);
    ta.setTransparency (DEFAULT_HISTOGRAM_ALPHA);

    normalAppearance.setTransparencyAttributes (ta);
    selectedAppearance.setTransparencyAttributes(ta);
}

La clé est TransparencyAttributes si je me souviens bien. J'aimerais pouvoir vous en dire plus, mais je ne parviens pas à compiler tout cela à présent (certaines anciennes bibliothèques non liées à la 3D sont absentes).

Autres conseils

Essayez ce code ...

BranchGroup group = new BranchGroup();  //Content branch.
PolygonAttributes p = new PolygonAttributes();  //Not sure how to make it transparent/try code above.
Appearance planeAppearance = new Appearance();
planeAppearance.setPolygonAttributes (p);
Color3f planeColor = new Color3f (1.0f, 1.0f, 1.0f);  //This makes it white.
ColoringAttributes planeCA = new ColoringAttributes (planeColor, 1);
planeAppearance.setColoringAttributes(planeCA);
QuadArray plane = new QuadArray (4, QuadArray.COORDINATES);  //This makes the plane.
  plane.setCoordinate(0, new Point3f(-5f, -5f, -15f));  //You specify your own cornerpoints...
  plane.setCoordinate(1, new Point3f(5f, -5f, -15f));
  plane.setCoordinate(2, new Point3f(5f, 5f, -15f));
  plane.setCoordinate(3, new Point3f(-5f, 5f, -15f));
group.addChild(new Shape3D(plane, planeAppearance));  //Add plane to content branch.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top