0
我一直在使用StreamingTexture在Alpha通道屏幕上顯示視頻。視頻的上半部分有實際內容,下半部分包含Alpha通道。Rajawali 3D:圍繞樞軸點旋轉
plane = new Plane(1, 2, 1, 1);//Plane height is 2 times the plane width due to the video size.
try {
mMediaPlayer = new MediaPlayer();
mMediaPlayer.setLooping(true);
Uri videoUrl = Uri.parse("android.resource://" + getContext().getPackageName() + "/"
+ R.raw.angel);
mMediaPlayer.setDataSource(getContext(), Uri.parse(videoUrl.toString()));
mMediaPlayer.prepareAsync(); //prepare the player (asynchronous)
mMediaPlayer.setOnPreparedListener(mp -> {
mp.start(); //start the player only when it is prepared
});
} catch (IOException e) {
e.printStackTrace();
}
// create texture from media player video
mVideoTexture = new StreamingTexture("video", mMediaPlayer);
// set material with video texture
Material material =
new Material(new VertexShader(R.raw.custom_vertix_shader),
new FragmentShader(R.raw.custom_fragment_shader));
material.setColorInfluence(0f);
try {
material.addTexture(mVideoTexture);
} catch (ATexture.TextureException e) {
e.printStackTrace();
}
plane.setMaterial(material);
getCurrentScene().addChild(plane);
現在,當我旋轉使用
plane.setRotation(Vector3.Axis.Z, angle);
的矩形平面的大小該平面(1,2)旋轉從中心(0.5,1),因爲它被認爲但因爲視頻僅示出了上上半部分看起來很奇怪。它看起來像視頻從下半部分旋轉。
解選項:
從(0.5,0.5),而不是旋轉它(0.5,1),但是沒有方法來這樣做。
將平面的大小設置爲1,1並剪切視頻的下半部分,但沒有辦法做到這一點。
請建議我可以採取哪些其他選擇,或者是否有使用上述選項的解決方案。