如何解决ARCORE:Sceneform 1.16渲染问题
我正在使用Sceneform 1.16和andriod studio 4.1, 我正在尝试渲染,但无法正常工作。
问题:
activity.xml
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<fragment android:name="com.google.ar.sceneform.ux.ArFragment" <======Error ArFragment must be a fragment >
android:id="@+id/ux_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
-
MainActivity.java。
公共类MainActivity扩展了AppCompatActivity {
private ArFragment arFragment; private ModelRenderable modelRenderable; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); arFragment = (ArFragment) getSupportFragmentManager().findFragmentById(R.id.ux_fragment);
错误:
Inconvertible types; cannot cast 'androidx.fragment.app.Fragment' to 'com.google.ar.sceneform.ux.ArFragment'
我们遵循以下步骤: https://github.com/google-ar/sceneform-android-sdk
-Sceneform 1.16.0入门
请问是什么问题。
构建gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 29
buildToolsVersion "30.0.1"
defaultConfig {
applicationId "com.examples.myapplication"
minSdkVersion 24
targetSdkVersion 29
versionCode 1
versionName "1.0"
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
}
}
compileOptions{
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
dependencies {
implementation fileTree(dir: "libs",include: ["*.jar"])
implementation 'androidx.appcompat:appcompat:1.2.0'
implementation 'androidx.constraintlayout:constraintlayout:2.0.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
api project(":sceneformux")
}
解决方法
您应该编辑 settings.gradle 文件。添加这些行:
--------- bath.n.01 -------- a vessel containing liquid in which something is immersed (as to process it or to maintain it at a constant temperature or to lubricate it)
vessel
container
instrumentality
artifact
whole
object
physical_entity
entity
--------- bath.n.02 -------- you soak and wash your body in a bathtub
washup
cleaning
improvement
change_of_state
change
action
act
event
psychological_feature
abstraction
entity
--------- bathtub.n.01 -------- a relatively large open container that you fill with water and use to wash the body
vessel
container
instrumentality
artifact
whole
object
physical_entity
entity
--------- bath.n.04 -------- an ancient Hebrew liquid measure equal to about 10 gallons
liquid_unit
volume_unit
unit_of_measurement
definite_quantity
measure
abstraction
entity
--------- bath.n.05 -------- a town in southwestern England on the River Avon; famous for its hot springs and Roman remains
**** INSTANCE_OF sense,without any hypernyms ****
--------- bathroom.n.01 -------- a room (as in a residence) containing a bathtub or shower and usually a washbasin and toilet
room
area
structure
artifact
whole
object
physical_entity
entity
--------- bathe.v.03 -------- clean one's body by immersion into water
cleanse
groom
fancify
better
change
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。