Vuforia AR SDK對(duì)模型進(jìn)行控制(平移爆捞、旋轉(zhuǎn)、縮放)
2016/4/29 14:59:43
AR的興起使AR培訓(xùn)越來(lái)越火爆勾拉,通過(guò)網(wǎng)絡(luò)學(xué)到一些知識(shí)也是尤為重要的煮甥。
1盗温、 寫(xiě)本地方法
2、 使用javah命令生成頭文件成肘。
生成之后會(huì)在工程目錄下看到頭文件卖局,需要刷新:
3、 Native層調(diào)用本地方法双霍。
經(jīng)過(guò)javah命令之后砚偶,會(huì)生成對(duì)應(yīng)native層的本地方法,例如:
將方法拷貝到ImageTargets.cpp文件中洒闸,實(shí)現(xiàn)該方法:
這就完成JNI通信部分染坯。注意變量要自己設(shè)定。
4丘逸、 使用觸屏事件单鹿,將數(shù)據(jù)傳遞到native層中,即ImageTargets.cpp中的兩個(gè)方法鸣个。
觸屏當(dāng)然要在Java層實(shí)現(xiàn)啦羞反,在ImageTargets.java中:注意黃色背景部分。
5囤萤、 Native層OpenGL渲染
Native層獲取從java層傳遞的值之后昼窗,需要使用OpenGL命令對(duì)模型進(jìn)行控制,這個(gè)就在ImageTargets.cpp的JNIEXPORTvoid
JNICALL
Java_com_qualcomm_QCARSamples_ImageTargets_ImageTargetsRenderer_renderFrame(JNIEnv*,
jobject)方法中:
這三句分別控制模型的平移涛舍、旋轉(zhuǎn)和縮放澄惊,傳遞的值在這里才起作用。
到這里富雅,所有的都完成了掸驱。剩下的就是使用NDK編譯生成so文件,再運(yùn)行就可以了没佑。