我已经更改了 Google 示例的AugmentedRealitySample中的代码,如下所示:
Boolean useBasicObjectInsteadOf3DModel = false;
if (useBasicObjectInsteadOf3DModel) {
// This is the original code provided by the Google sample.
// The mObject is an Object3D.
// Build a Cube and place it initially in the origin.
mObject = new Cube(CUBE_SIDE_LENGTH);
} else {
// This is the new code
LoaderOBJ objParser = new LoaderOBJ(mContext.getResources(), mTextureManager, R.raw.object_obj);
try {
objParser.parse();
mObject = objParser.getParsedObject();
} catch (ParsingException e) {
e.printStackTrace();
}
}
mObject.setMaterial(material);
mObject.setPosition(0, 0, -3);
mObject.setRotation(Vector3.Axis.Z, 180);
getCurrentScene().addChild(mObject);
当将 useBasicObjectsInsteadOf3dModel 设置为 true 时,对象会粘在现实世界中的一个点(例如墙壁)上。设置为 false 时,对象位置似乎设置为使 Tango 设备位于对象中间,并且对象与数位板一起移动。然而,物体的旋转似乎起作用了,因为它的移动很像指南针中的指针。
问题是:如何使通过 LoaderOBJ 加载的对象粘在现实世界中的某个点上?