包装成Actor
Decal decal = Decal.newDecal(new TextureRegion(Asset.getAsset().getTexture(kitchen/*"kitchen/Texture/Bread.png"*/)),true);
DecalActor decalActor = new DecalActor(decal);
addActor3D(decalActor);
decalActor.setFromAxis(1,0,0,90);
decalActor.setScale(0.2f,0.2f,0.2f);
decalActor.setPosition(0,100,20);
绘制
public class DecalActor extends BaseActor3D{
private Decal decal;
public DecalActor(Decal decal){
this.decal = decal;
}
private Vector3 positionV3 = new Vector3();
private Quaternion rotationP = new Quaternion();
private Vector3 scaleV3 = new Vector3();
@Override
protected void drawDecal(DecalBatch decalBatch) {
super.drawDecal(decalBatch);
BaseActor3DGroup parent3D1 = parent3D;
Matrix4 actorMatrix1 = parent3D1.getActorMatrix();
actorMatrix1.getTranslation(positionV3);
actorMatrix1.getRotation(rotationP);
actorMatrix1.getScale(scaleV3);
decal.setPosition(positionV3.add(getPosition()));
decal.setScale(scaleV3.x*getScale().x,scaleV3.y*getScale().y);
decal.setRotation(rotationP.mul(rotation));
decalBatch.add(decal);
}
}