效果:
import { Vector3, Mesh, MeshBuilder, StandardMaterial, Texture, Animation, Color3 } from "@babylonjs/core";
import imgUrl from "./image/headerwangge2.png"
// 创建模型护栏特效
export default class CreateRail {
constructor(scene,) {
this.scene = scene;
};
create() {
let _position = [{x:1,y:1,z:1},{x:2,y:2,z:2}]
if (_position.length <= 0) {
return;
}
var mat = new StandardMaterial("mat", this.scene);
mat.diffuseTexture = new Texture(imgUrl, this.scene);
mat.diffuseTexture.vScale = 5;
mat.diffuseTexture.hasAlpha = true;
mat.backFaceCulling = false;
mat.emissiveColor = Color3.White()
const path = []
for (let index = 0; index < _position.length - 1; index += 1) {
path.push(new Vector3(_position[index].x, _position[index].y, _position[index].z));
path.push(new Vector3(_position[index + 1].x, _position[index + 1].y, _position[index + 1].z));
}
let polygon = MeshBuilder.CreatePolygon("polygon", { shape: path, holes: [path], depth: 10, sideOrientation: Mesh.DOUBLESIDE }, this.scene);
polygon.position.y = 10
polygon.material = mat;
Animation.CreateAndStartAnimation("ani", mat, "diffuseTexture.vOffset", 30, 20,
1, 0, 1, undefined, undefined, this.scene);
};
}
贴图 headerwangge2