我在3D空间(P3D)中运行带有一系列点的草图。我希望通过绘制文本来添加界面,就好像它是"在屏幕上" / 2D,只使用" X,Y"参数。
当我尝试添加"文本("!@#$%",width / 2,height / 2)时;"它在3D空间中渲染。
有可能吗?我尝试了#34; textMode(SCREEN),但在处理2中不再存在。
答案 0 :(得分:0)
想到的解决方法是创建一个2D草图,它与草图具有相同的宽度/高度,给它一个透明的背景,在你想要的地方绘制文本,然后将PGraphic绘制到你的真实草图上就像你复制图像源数据一样。
答案 1 :(得分:0)
以下是我在加工论坛上发现的内容
您可以使用:
我希望它有所帮助
PMatrix3D baseMat;
float alpha =0;
void setup() {
size(400, 400, P3D);
// Remember the start model view matrix values
baseMat = getMatrix(baseMat);
}
void draw() {
background(40);
pushMatrix();
camera(0, 0, 400, 0, 0, 0, 0, 1, 0);
directionalLight(255, 255, 255, -100, 150, -100);
ambientLight(40, 40, 40);
// 3D drawing stuff here
rotateY(alpha);
box(100);
alpha += 0.05;
popMatrix();
// Restore the base matrix and lighting ready for 2D
this.setMatrix(baseMat);
ambientLight(255, 255, 255);
// draw 2D stuff here
rect(10, 10, 50, 10);
textSize(25);
text("voila", mouseX, mouseY);
}