2016-04-11 26 views
-1

çalışmaz tercüme 3d Aşağıdaki kodu var:böylece oke işleme

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(); 

Ben model.translateToCenter değiştirmek istiyorum(); model.translate (width, 0, height/2) içine;

ama yukarıda yaparsam aşağıdaki hatayı alıyorum: yöntem OBJModel argümanlar (int, int, int)

ve için appicable değildir tip (PVector) çevirmek ben sadece (tercüme kullandığınızda genişlik, 0, yükseklik/2); hiçbir şey bana bu konuda yardımcı olabilir

Bunu kendi kendime nasıl tamir edeceğimi bilmiyorum.

+0

Lütfen bağlantısız kod yerine bir [mcve] gönderir misiniz? Resminizi yayınlama. Bunun yerine, sorununuzu bu fazladan hiçbir şey içermeyen küçük bir örnek göndermeye çalışın. Bu sadece size yardım etmemizi zorlaştırıyor. –

cevap

0

Eğer pushMatrix ve popMatrix kullandığını farz edelim (eğer bunlardan d sesini duymadıysanız okuyun: https://processing.org/reference/pushMatrix_.html) ve çeviri işlevinizi void translateToCenter'ın içine aldığınızda, yalnızca herhangi bir pushMatrix ve popMatrix arasındaki bu işlevdeki ifadeler. Bunun yerine, beraberlik fonksiyonu içinde nesneyi çeviri ve çimdik modunu (Skeç -> Tweak) kullanmayı deneyin arzu çevirisini bulmak için ve bu yüzden gibi, model.draw fonksiyonunda da nesneyi çevirmek:

void draw() { 
    pushMatrix(); 
    translate(x_variable, y_variable, z_variable); 
    //draw object 
    popMatrix(); 
} 

ve

void translateToCenter() { 
    x_variable = width/2; 
    y_variable = height/2; 
    z_variable = 10;  //how far back it goes is up to you 
}