找到ImageTargetRenderer.java中如下数据:
Matrix.translateM(modelViewMatrix, 0, 0.0f, 0.0f,
OBJECT_SCALE_FLOAT);
Matrix.rotateM(modelViewMatrix, 0,
ROTATION_ANGLE_DEGREES, 1.0f, 0.0f, 0.0f);
Matrix.scaleM(modelViewMatrix, 0,
OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT);
- 1
- 2
- 3
- 4
- 5
- 6
1)translate指平移操作,第一个0代表偏移量,后面三个浮点型数据分别代表x, y, z轴
我们将坐标值作如下修改:
Matrix.translateM(modelViewMatrix, 0, 100.0f, 200.0f,
OBJECT_SCALE_FLOAT);
- 1
- 2
效果图:
2)scale指尺寸操作,第一个0代表缩放因子,后面三个数据分别代表x, y, z轴
我们将OBJECT_SCALE_FLOAT值进行修改(在代码前面部分修改):
Matrix.scaleM(modelViewMatrix, 0,
OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT, OBJECT_SCALE_FLOAT);
- 1
- 2
效果图:
我们的banana从中央移到了右上角
3)rotate指旋转操作,第一个0代表偏移量,第二个90.0f代表旋转角度,后面的三个参数依次为按x, y, z轴旋转
代码作如下修改:
Matrix.rotateM(modelViewMatrix, 0, 90.0f, 1.0f, 0, 0);
- 1
效果图:
这里对模型的数据参数直接进行修改,其实也可以将模型的平移、选择、放缩的操作与对触摸屏的手势操作进行link,比如单指拖动实现旋转,双指拖动实现平移,双指分开实现放缩等