私は現在、Android用の小さなARアプリケーションを開発中で、Unity3dをアクティビティに統合するという問題に直面しています。要件は、私がAndroid UIをいくつか提示できる必要があることを示しています。メニューとアクションバーを表示し、ターゲットが検出されたときにUnity3dで作成されたモデルを表示するカメラビュー。Unity3dビューをAndroidアクティビティに統合
私は多くの助けをしたリンクを見つけました:Unity3d forums。そこにいたユーザーの1人が私が今でも持っているのと同じ質問をしましたが、適切な答えが得られませんでした。
問題:
私は基本的にホワイトキューブで小さなUnity3dプロジェクトを持って、私のAndroidの活動の一つで、それを表示しようとしています。 onCreate()
メソッドにアクティビティにsetContentView()
が含まれていない場合はモデルが正常に見えますが、XMLファイルでレイアウトを指定できません。
setContentView()
メソッドを追加すると、キューブが表示されますが、サイズは非常に小さく、実際にサイズを変更する方法はないようです。
XMLファイル:アクティビティ・インプリメンテーションの
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/unityView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</FrameLayout>
第1版:
public class HomeActivity extends UnityPlayerActivity {
UnityPlayer unityPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
}
、そして得られたスクリーンショット:アクティビティ・インプリメンテーションの
第二版:
public class HomeActivity extends UnityPlayerActivity {
UnityPlayer unityPlayer;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home);
unityPlayer = new UnityPlayer(this);
int glesMode = unityPlayer.getSettings().getInt("gles_mode", 1);
unityPlayer.init(glesMode, false);
FrameLayout layout = (FrameLayout) findViewById(R.id.unityView);
LayoutParams lp = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
layout.addView(unityPlayer.getView(), 0, lp);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
unityPlayer.windowFocusChanged(hasFocus);
}
}
、そして得られたスクリーンショット:
ことがあり、それを修正する方法を、なぜ誰も私に説明してもらえますか?
Unity3dフォーラムは、あなたが言及したことをリンクし、私はUnity5 に私のプロジェクトを実行すると、私は見つけることができませんそれはまた、どのように伝え、地域のフォルダをステージングからファイルをコピーするように要求されますEclipseでそれを使用する。私はAndroid Studioを使用しています。 Unity5とAndroid Studioで同じことを行う方法に関するアップデートガイドを提供できますか? – Ishan