我和几个朋友正试图编写一个小动画片段。因此,我们认为一个好的,仍然有点简单的项目将是进行某种恐怖之旅,其中“玩家”在一辆废弃的矿井中的购物车中旅行。
由于制作圆圈和直线有点无聊,我们决定制作一个“稍微”更复杂的动作。我们推断我们可以导入一个带有简单顶点条的.obj,它可以作为一条移动路径。当然,这个对象不会在屏幕上绘制。因此,我创建了一个Trayectory类来处理此路径的导入。这是我用来导入路径的代码:
Trayectory::Trayectory(String^ obj)
{
this->vert = gcnew List<Point3D^>();
this->norm = gcnew List<Point3D^>();
StreamReader^ archivo=gcnew StreamReader(obj);
array<String^>^ file = archivo->ReadToEnd()->Split('\n');
archivo->Close();
for each(String^ s in file) {
array<String^>^ str = s->Split(' ');
if(str[0]=="v") {
Point3D^ tmp = gcnew Point3D(Convert::ToSingle(str[1]),Convert::ToSingle(str[2]),Convert::ToSingle(str[3]));
this->vert->Add(tmp);
}
if(str[0]=="vn") {
Point3D^ tmp = gcnew Point3D(Convert::ToSingle(str[1]),Convert::ToSingle(str[2])+1.0,Convert::ToSingle(str[3]));
this->norm->Add(tmp);
}
}
}
但我有两个小问题:
答案 0 :(得分:0)
gluLookAt
up
向量中用于计算side
向量:side=forward X up
。