小编Ben*_*Ben的帖子

THREE.js从儿童相机到场景的光线投射

我正在尝试从我的相机中对鼠标进行光线投射,以便在我的场景中对网格进行一些悬停和点击事件.

我的问题是,我的相机目前是另一个网格的子对象(为了更容易的相机移动/旋转),现在我的光线投射不起作用(我假设因为相机是网格的孩子,而不是场景).

这是我的代码的一部分:

//camera setup
var camera = new THREE.PerspectiveCamera(60, window.innerWidth/window.innerHeight, 0.1, 1000);

var cameraTargetGeom = new THREE.SphereGeometry(0.5);
var cameraTargetMaterial = new THREE.MeshLambertMaterial({color: 0xff0000, ambient: 0xff0000});
var cameraTarget = new THREE.Mesh(cameraTargetGeom, cameraTargetMaterial);
cameraTarget.position.set(0.15, 0, 5);
scene.add(cameraTarget);
cameraTarget.add(camera);

camera.position.y = 18;
camera.rotation.x = Math.PI * -90 / 180;



// click event
renderer.domElement.addEventListener('click', clickedCanvas);

function clickedCanvas(e) {
    e.preventDefault();

    mouse.x = (e.clientX / renderer.domElement.width) * 2 - 1;
    mouse.y = -(e.clientY / renderer.domElement.height) * 2 + 1;

    raycaster.setFromCamera(mouse, camera);

    var intersects = raycaster.intersectObjects(scene.children, …
Run Code Online (Sandbox Code Playgroud)

javascript camera three.js raycasting

7
推荐指数
1
解决办法
1460
查看次数

Xcode Swift - 修改子视图属性

我正在使用此功能来创建一些导航按钮.

func create(size:CGFloat, y:CGFloat, button:Dictionary<String, String>) -> UIButton {
    // setup size variables
    let width = size;

    var height = size;
    if button["position"] == "top" || button["position"] == "bottom" {
        height = size+1;
    }

    var marginTop:CGFloat = 1
    if button["position"] == "top" {
        marginTop = 0
    }

    // create button
    let btn = UIButton(frame: CGRectMake(UIScreen.mainScreen().bounds.width-width, y*size, width, height))

    // background image
    let bgImage = UIImageView(frame: CGRectMake(0, marginTop, width, height-2))
    bgImage.image = UIImage(named: "nav-bg.png")

    // background image active
    var bgImageActive = …
Run Code Online (Sandbox Code Playgroud)

xcode ios swift

1
推荐指数
1
解决办法
1673
查看次数

标签 统计

camera ×1

ios ×1

javascript ×1

raycasting ×1

swift ×1

three.js ×1

xcode ×1