2017-04-25 338 views
7

我正在开发一个结合了Vuforia ImageTarget和VideoPlayback的项目。我有'N'个目标,并且有相应的视频。对于某些imageTargets,视频会翻转。我找不到解决此问题的方法。这里是我的VideoPlaybackRendererVuforia Videoplayback问题 - 正在播放视频

int videoPlaybackTextureID[] = new int[VideoPlayback.NUM_TARGETS]; 

// Keyframe and icon rendering specific 
private int keyframeShaderID = 0; 
private int keyframeVertexHandle = 0; 
private int keyframeNormalHandle = 0; 
private int keyframeTexCoordHandle = 0; 
private int keyframeMVPMatrixHandle = 0; 
private int keyframeTexSampler2DHandle = 0; 

// We cannot use the default texture coordinates of the quad since these 
// will change depending on the video itself 
private float videoQuadTextureCoords[] = { 0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f, }; 


private Float videoQuadTextureCoordsTransformed[] = {0.0f, 0.0f, 1.0f, 0.0f, 1.0f, 1.0f, 0.0f, 1.0f,}; 


List<Float[]> videoQuadTextureCoordsTransformedList = new ArrayList<Float[]>(); 


// Trackable dimensions 
Vec3F targetPositiveDimensions[] = new Vec3F[VideoPlayback.NUM_TARGETS]; 
+0

什么是每个'ImageTarget'的您正在使用的'Transform'旋转?我的意思是他们都设置为(0,0,0)? – Hristo

+0

@Hristo对不起..我没有得到你..! – gStephin

+0

当你在Unity中,你从_Hierarchy_中选择一个'ImageTargets',然后看看_Inspector_选项卡,'Transform' ** rotation **的值是什么? – Hristo

回答

4

看起来像你需要选择对象的视频,然后应用这样的事:例如 您选择的立方体。

这将旋转立方体180度,而无需修改任何其他旋转轴

cube.transform.rotation = new Quaternion(cube.transform.rotation.x, cube.transform.rotation.y, cube.transform.rotation.z, 180);