Babylonjs实现广告牌

效果:
在这里插入图片描述
代码:
参考文档:
https://doc.babylonjs.com/features/featuresDeepDive/mesh/billboardMode
https://doc.babylonjs.com/features/featuresDeepDive/mesh/creation/set/plane

import { MeshBuilder, Scene, Texture, StandardMaterial, Nullable, Vector3, Color3, PointerEventTypes } from "@babylonjs/core"
class CreateTitle {createTitle(position: Vector3, options: Object, scene: Scene, img: Nullable<string>, callback: any) {let plane = MeshBuilder.CreatePlane("plane", options, scene);plane.position = position;plane.billboardMode = 7;let material = new StandardMaterial("", scene);if (typeof callback == "function") {scene.onPointerObservable.add((e) => {if (e.pickInfo && e.pickInfo.pickedMesh === plane) {callback(e.pickInfo.pickedMesh)}}, PointerEventTypes.POINTERDOWN)}if (img) {material.diffuseTexture = new Texture(img, scene);material.diffuseTexture.hasAlpha = true;material.backFaceCulling = true;} else {material.diffuseColor = Color3.Blue();}plane.material = material;return plane;}
}
//调用new CreateTitle().createTitle(position, { width:100,height:50}, scene, "/image/sxj.png",(e)=>{alert(11)})


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部