如何设置obj模型,在threejs中渲染双面(r.84)?
这是obj加载程序代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" android:background="#aa000000">
<ScrollView
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent">
<RelativeLayout android:layout_width="wrap_content" android:layout_height="wrap_content">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/background"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignWithParentIfMissing="false" android:scaleType="centerCrop"
android:id="@+id/blueBackground"
android:background="#aa000000"
/>
<LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"
android:orientation="vertical"
android:layout_alignParentTop="true" android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<ImageView
android:layout_width="match_parent"
android:id="@+id/imageView"
android:src="@drawable/applogo"
android:layout_alignParentTop="true" android:layout_centerHorizontal="true"
android:layout_height="60dp" android:layout_marginTop="25dp"
android:layout_weight="2"
/>
<TextView
android:text="Text1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/textView7"
android:textColor="@color/apptheme_color" android:textAlignment="viewStart"
android:gravity="center_horizontal" android:layout_marginTop="35dp" android:textSize="18sp"
android:layout_weight="1"
/>
<TextView
android:text="Text2"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/numberTextView" android:gravity="center_horizontal"
android:textColor="@color/apptheme_color" android:textSize="24sp"
android:layout_weight="1"
/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/edit1"
android:background="@drawable/blueborder"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="16dp"
android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
android:layout_weight="1"
android:hint="Edit1"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/edit2"
android:background="@drawable/blueborder"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
android:layout_weight="1"
android:hint="Edit2"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/edi3"
android:background="@drawable/blueborder"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
android:layout_weight="1"
android:hint="Edit3"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/edit4"
android:background="@drawable/blueborder"
android:textColorHint="#FFFFFF"
android:textColor="#FFFFFF"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
android:paddingTop="10dp" android:paddingBottom="10dp" android:paddingLeft="10dp"
android:layout_weight="1"
android:hint="Edit4"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="textMultiLine|textPersonName"
android:ems="10"
android:id="@+id/edit5"
android:background="@drawable/blueborder"
android:textColorHint="#FFFFFF"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp" android:layout_marginTop="6dp"
android:paddingTop="10dp" android:paddingBottom="20dp" android:paddingLeft="10dp"
android:layout_weight="3.33"
android:scrollbars="vertical" android:hint="Notatka" android:lines="2" android:textColor="#FFFFFF"/>
<CheckBox
android:text="Checkbox1"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/check1" android:layout_marginLeft="20dp"
android:textColor="@color/apptheme_color"
android:layout_weight="1"
/>
<CheckBox
android:text="Checkbox2"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/check2" android:layout_marginLeft="20dp"
android:textColor="@color/apptheme_color"
android:layout_weight="1"
/>
<Button
android:text="Save"
android:layout_width="match_parent"
android:layout_height="wrap_content" android:id="@+id/button" android:layout_weight="2"
android:textColor="#02485a" android:background="@drawable/blackborder"
android:layout_marginLeft="25dp" android:layout_marginRight="25dp"
android:layout_marginBottom="16dp"/>
</LinearLayout>
</RelativeLayout>
</ScrollView>
答案 0 :(得分:0)
三个js版本84没有OBJMTLLoader: https://github.com/mrdoob/three.js/issues/8105
但linked解决方案只需进行一些小修改:
THREE.Loader.Handlers.add( /\.dds$/i, new THREE.DDSLoader() );
var mtlLoader = new THREE.MTLLoader();
mtlLoader.setPath('house3/');
mtlLoader.load( 'House.mtl', function( materials ) {
materials.preload();
var objLoader = new THREE.OBJLoader();
objLoader.setMaterials( materials );
objLoader.setPath( 'house3/' );
objLoader.load( 'House.obj', function ( object ) {
object.traverse( function( node ) {
if( node.material ) {
node.material.side = THREE.DoubleSide;
}
});
scene.add( object );
});
});