2014-12-05 3 views
3

저는 Babylonjs를 처음 사용하기 때문에 BabylonJs를 사용하여 이미지를 표시/표시하고 싶습니다. 또한 키보드를 사용하여 이미지를 이동하려고합니다 (예 : 왼쪽 화살표 키, 오른쪽 화살표 키, 위쪽 화살표 키 및 아래쪽 화살표 키) 충돌 감지 및 모든 마우스 이벤트를 해제하려면 싶습니다.babylonjs를 사용하여 이미지 표시

나는 이미지를 보여주는 코드 아래 썼다 그러나 나는 그것이 올바른 방법 아니라고 생각 ..

var playerMaterial = new BABYLON.StandardMaterial("ground", scene); 
    playerMaterial.diffuseTexture = new BABYLON.Texture("/images/mail.png", scene); 
    playerMaterial.specularColor = new BABYLON.Color3(0, 0, 0); 
    player.material = playerMaterial; 
    player.position.y = 1; 
    player.position.x = -84; 
    player.size = 20; 

(당신이 더 나은 도움이 될 수있는 소스 코드를 공유 할 수있는 경우) 사람이 수행하는 방법 좀 도와 줄래 ?

감사
Raviranjan

답변

2

귀하의 코드 당신은 또한 카메라와 광원이 가정, 기본적으로 바로 보인다. 여기에 a playground entry입니다.

var scene = new BABYLON.Scene(engine); 

//Create a light 
var light = new BABYLON.PointLight("Omni", new BABYLON.Vector3(-60, 60, 80), scene); 

//Create an Arc Rotate Camera - aimed negative z this time 
var camera = new BABYLON.ArcRotateCamera("Camera", Math.PI/2, 1.0, 210, BABYLON.Vector3.Zero(), scene); 
camera.attachControl(canvas, true); 

//Creation of a repeated textured material 
var materialPlane = new BABYLON.StandardMaterial("texturePlane", scene); 
materialPlane.diffuseTexture = new BABYLON.Texture("textures/grass.jpg", scene); 
materialPlane.specularColor = new BABYLON.Color3(0, 0, 0); 
materialPlane.backFaceCulling = false;//Allways show the front and the back of an element 

//Creation of a plane 
var plane = BABYLON.Mesh.CreatePlane("plane", 120, scene); 
plane.rotation.x = Math.PI/2; 
plane.material = materialPlane; 

난 후, 자신의 데모 중 하나를 시작 최소한의 예를 얻을 수있는 물건의 대부분을 멀리 해킹 :

는 그리고 후세를 위해, 여기에 코드입니다. 나는 backFaceCulling = false에 남았습니다 (그렇지 않으면 이미지는 한 방향에서만 볼 수 있습니다). specularColor 설정에 추가되었습니다.

다른 방법은 diffuseTextureemissiveTexture로 대체하는 것입니다 :

materialPlane.emissiveTexture = new BABYLON.Texture("textures/grass.jpg", scene); 

그런 다음 당신이 빛을 주석 처리 할 수 ​​있으며, 그것은 여전히 ​​볼 수 있습니다. 실제로 조명을 비춰두면 과다 노출이 발생합니다.

(키보드 컨트롤 및 충돌 감지 질문에 대한 새로운 질문을 시작하거나 바빌론 샘플 및 자습서 비디오를 통해 작업 할 것을 권장합니다.)