Rajawari로 간단한 3D 장면을 만들어 보도록 하겠습니다.
6956 단어 Android
먼저
app/build.gradle
에 Rajawari를 추가합니다.build.gradle
dependencies {
compile 'org.rajawali3d:rajawali:1.1.970'
}
MainActivity를 다음과 같이 덮어씁니다.MainActivity.java
import android.app.Activity;
import android.os.Bundle;
import org.rajawali3d.view.SurfaceView; // これ重要!! android.view.SurfaceView ではない!!
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SurfaceView surfaceView = new SurfaceView(this);
surfaceView.setSurfaceRenderer(new MyRenderer(this)); // setRenderer() ではなく setSurfaceRenderer()
setContentView(surfaceView);
}
}
My Renderer 클래스도 작성합니다.MyRenderer.java
import android.content.Context;
import android.graphics.Color;
import android.view.MotionEvent;
import org.rajawali3d.Object3D;
import org.rajawali3d.materials.Material;
import org.rajawali3d.primitives.Sphere;
import org.rajawali3d.renderer.Renderer;
import org.rajawali3d.scene.Scene;
class MyRenderer extends Renderer {
MyRenderer(Context context) {
super(context);
}
@Override
protected void initScene() {
Scene scene = getCurrentScene();
// 球を作る
Object3D obj = new Sphere(1, 16, 16); // 半径1の球。16,16は頂点の分割数で、数を大きくするほど球に近づく。
obj.setPosition(0, 0, -5); // 視点は0,0,0で0,0,-1の方向を向いている。0,0,-5は画面の奥の方になる
scene.addChild(obj);
// 球の見た目を定義する
Material material = new Material();
material.setColor(Color.CYAN);
obj.setMaterial(material);
}
@Override
public void onOffsetsChanged(float xOffset, float yOffset, float xOffsetStep, float yOffsetStep, int xPixelOffset, int yPixelOffset) {
}
@Override
public void onTouchEvent(MotionEvent event) {
}
}
실행 결과
공이 보여!잘 모르겠지만!
Reference
이 문제에 관하여(Rajawari로 간단한 3D 장면을 만들어 보도록 하겠습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/niusounds/items/85823fdecc4a4539c980텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)