Я создаю сцену с Babylon. js, в которой используется элемент холста. Я также хочу, чтобы текст отображался поверх этого холста, поскольку он настроен на всю страницу. Я пытался сделать это, и это работает без присутствия Вавилона. js, но всякий раз, когда я соединяю его с Вавилоном. js, текст либо кажется невидимым, либо отображает только текст, а не Вавилон. js. Я слышал, что единственный способ вывести рисунок холста на передний план - это закодировать его после элемента, стоящего за ним, но по какой-то причине это не работает. Вот код:
window.addEventListener('DOMContentLoaded', function(){
var canvas = document.getElementById('renderCanvas');
var engine = new BABYLON.Engine(canvas, true);
var createScene = function(){
var scene = new BABYLON.Scene(engine);
var camera = new BABYLON.UniversalCamera('camera1', new BABYLON.Vector3(0, 5,-10), scene);
camera.setTarget(BABYLON.Vector3.Zero());
camera.attachControl(canvas, true);
var light = new BABYLON.HemisphericLight('light1', new BABYLON.Vector3(0,1,0), scene);
var sphere = BABYLON.Mesh.CreateSphere('sphere1', 16, 2, scene);
sphere.position.y = 1;
var ground = BABYLON.Mesh.CreateGround('ground1', 100, 100, 100, scene);
scene.gravity = new BABYLON.Vector3(0, -9.81, 0);
camera.ellipsoid = new BABYLON.Vector3(1, 1, 1);
scene.collisionsEnabled = true;
camera.checkCollisions = true;
ground.checkCollisions = true;
sphere.checkCollisions = true;
camera.applyGravity = true;
}
var scene = createScene();
engine.runRenderLoop(function(){
scene.render();
});
window.addEventListener('resize', function(){
engine.resize();
});
});
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.font = "67px Arial";
ctx.fillText("TEST", 10, 50);