Creating a point light in Babylon.js involves instantiating a BABYLON.PointLight object and configuring its properties. Here's an example of how to create a point light in a Babylon.js scene:
// Get the canvas element
var canvas = document.getElementById("renderCanvas");
// Create the Babylon.js engine
var engine = new BABYLON.Engine(canvas, true);
// Create a scene
var scene = new BABYLON.Scene(engine);
// Create a camera
var camera = new BABYLON.ArcRotateCamera("camera", Math.PI / 2, Math.PI / 4, 5, BABYLON.Vector3.Zero(), scene);
camera.attachControl(canvas, true);
// Create a point light
var pointLight = new BABYLON.PointLight("pointLight", new BABYLON.Vector3(1, 3, 2), scene);
pointLight.diffuse = new BABYLON.Color3(1, 1, 1); // Set diffuse color
pointLight.specular = new BABYLON.Color3(0.5, 0.5, 0.5); // Set specular color
pointLight.intensity = 1.5; // Set light intensity
// Create a sphere to represent an object in the scene
var sphere = BABYLON.MeshBuilder.CreateSphere("sphere", { diameter: 1 }, scene);
// Apply a material to the sphere
var sphereMaterial = new BABYLON.StandardMaterial("sphereMaterial", scene);
sphere.material = sphereMaterial;
// Attach the camera to the scene
scene.activeCamera = camera;
// Run the render loop
engine.runRenderLoop(function () {
scene.render();
});?
In this example :* Create Point Light : The BABYLON.PointLight constructor is used to create a point light. The parameters include the name of the light and its initial position (specified as a BABYLON.Vector3).
* Configure Light Properties : Optional properties such as diffuse (color of the light), specular (specular color), and intensity (brightness of the light) are set to customize the appearance and behavior of the point light.
* Create Sphere : A sphere is created using BABYLON.MeshBuilder.CreateSphere to represent an object in the scene. This is done to visualize how the point light illuminates objects.
* Attach Camera : The camera is attached to the scene, and the scene.activeCamera property is set to the created camera.
* Render Loop : The Babylon.js engine's render loop is initiated to continuously update and render the scene.