3d 三维平移在处理中不起作用
所以我有以下代码:3d 三维平移在处理中不起作用,3d,processing,3d,Processing,所以我有以下代码: import saito.objloader.*; OBJModel model; import peasy.*; PeasyCam cam; void setup() { size(1000, 600, OPENGL); model = new OBJModel (this, "goodTest.obj"); cam = new PeasyCam(this, 700); model.scale(250); model.tra
import saito.objloader.*;
OBJModel model;
import peasy.*;
PeasyCam cam;
void setup() {
size(1000, 600, OPENGL);
model = new OBJModel (this, "goodTest.obj");
cam = new PeasyCam(this, 700);
model.scale(250);
model.translateToCenter();
我想更改model.translateToCenter();转换(宽度,0,高度/2)
但是如果我执行上述操作,我会得到以下错误:类型OBJModel中的方法translate(PVector)不适用于参数(int,int,int)
当我只使用translate时(宽度,0,高度/2);什么也没发生
noStroke();
smooth();
}
void draw(){
model.draw();
}
有人能帮我吗?我自己也不知道如何解决这个问题。假设您使用了pushMatrix和popMatrix(如果您没有听说过它们,请阅读:),并且将您的translate函数放在无效的TranslateCenter中,您将不会看到对对象的影响,因为它只会影响pushMatrix和popMatrix之间该函数中的任何语句。相反,请尝试在draw函数中平移对象,并使用调整模式(Sketch->tweak)查找所需的平移,然后在model.draw函数中平移对象,如下所示:
void draw() {
pushMatrix();
translate(x_variable, y_variable, z_variable);
//draw object
popMatrix();
}
及
你能发布一个代码而不是断开连接的代码吗?不要张贴你的整个草图。相反,试着发布一个小例子来说明你的问题,而不需要任何额外的东西。这只会让我们更难帮助你。
void translateToCenter() {
x_variable = width/2;
y_variable = height/2;
z_variable = 10; //how far back it goes is up to you
}