私の質問にお答えしていただきありがとうございます。カンバスがフルスクリーンでないときにthree.js内のオブジェクトをクリックすると、r74
バージョンr74の3つのJSでraycasterを使用する方法の良い例は実際には見つかりません。
誰もが私たちに行う方法の例を与えることができ
...バージョンR55とR76の間に多くの変更のようです...と多くのフォーラムは、3のマイナーバージョンの例を話して入れていますそれ?道による角度とブートストラップを使用してイム
これは私が試したものです:
マイビュー
<div class="col-md-11">
<div class="container">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Title</h3>
</div>
<div class="panel-body" style="padding: 0px">
<div class="canvas-zonas" ng-click="zonas.click($event)">
</div>
</div>
</div>
</div>
</div>
私のCss(スタイラスを使用して)
.canvas-zonas
height 67vh
マイコントローラー
var = mouse = new THREE.Vector3();
var = raycaster = new THREE.Raycaster();
var = canvas = document.querySelector(".canvas-zonas");
function clickObject(event) {
event.preventDefault();
mouse.x= ((event.clientX - canvas.offsetLeft)/canvas.clientWidth) * 2 - 1;
mouse.y=-((event.clientY - canvas.offsetTop)/canvas.clientHeight) * 2 + 1;
mouse.z = 0.5;
raycaster.setFromCamera(mouse, camera);
var intersects = vm.raycaster.intersectObjects(scene.children);
console.info(intersects);
}
だから、私は外をクリックした場合でも、時々私は、オブジェクトをクリックして、時々私は、[オブジェクト]を取得しても、[]空の配列を取得し、私のキャンバスをクリックして、Intersects
変数を印刷するときオブジェクト。
私は君たち私のカメラの設定を少し示したいと思います:、
マイカメラ
var camera = new THREE.PerspectiveCamera(30, canvas.clientWidth/canvas.clientHeight, 0.10, 1000)
camera.position.y = 20;
camera.position.z = 50;
camera.lookAt(scene.position);
camera.updateProjectionMatrix();
も私のカメラの設定だ、と私はWebGLのを使用することを念頭に置いていレンダラまた
var renderer = new THREE.WebGLRenderer({antialias: true});
として、私は、resizeイベントが起こっ持っている心を持っている:
function listenResize() {
window.bind('resize', function() {
canvas = document.querySelector(".canvas-zonas");
renderer.setSize(canvas.clientWidth, canvas.clientHeight);
camera.aspect = (canvas.clientWidth/canvas.clientHeight);
camera.updateProjectionMatrix();
});
}
そして最後に、私は何が起こっているの画像を投稿します:
画像1
は非常にありがとうございました私の最後の投稿を恐れています。私はそれを更新しました!
あなたの試みは何ですか?コードを投稿したり、codepen.ioのサンプルを作成するのに役立つかもしれません。 http://threejs.org/examples/#webgl_interactive_cubesこの例では、最新バージョンを使用しています。完全なキャンバス。 – escapedcat
私はそれを更新しました!どうもありがとうございました! –
試してみてください。http://stackoverflow.com/questions/13542175/three-js-ray-intersect-fails-by-adding-div/13544277#13544277 – WestLangley