物体是否在相机视野范围内,实现方法~

IsInView(worldPos: Vec3) {
var camposition = this.MainCamera.getWorldPosition();
Vec3.normalize(this.dir, worldPos.subtract(camposition));
var dot = Vec3.dot(this.MainCamera.forward, this.dir); //判断物体是否在相机前面
console.log(dot);

    if (dot > 0)
        return true;
    else
        return false;
        
}

—改自 https://blog.csdn.net/AdvancedPicachu/article/details/80649928 ,哈哈

1赞

感谢分享.

如果有需要的朋友,可以参考 https://gitee.com/yeshao2069/cocos-creator-how-to-use/tree/v3.0.0/test/ObjectIsInCameraView

5赞

没看懂是怎么判断在“视野范围内”的。

MARK以备不时之需

如果再和相机的fov进行比较,就完美了

mark!

都转换到screen space, 是否只需比对z值就可判断是否位于camera前后方呢?
这样就省下normalize和dot运算…

真是个小机灵鬼

该主题在最后一个回复创建后14天后自动关闭。不再允许新的回复。