视觉传感器和相机功能上差不多但还是有一些不同,官方的解释是这样的
概括一下视觉传感器有API函数,相机没有需要自己写;视觉传感器更占CPU;视觉传感器观测的對象必须把renderable属性勾上。
视觉传感器根据视角分为两类正交(orthogonal)和透视(perspective),这个图可以很好理解二者的差异
视觉传感器的一些基本属性配置
主属性中其他顾名思义即可最后一个Packet1 is blank什么意思呢?
视觉传感器得到图像的RGB和深度是通过Packet1来返回滤波器得到的图像通过Packet2,Packet3……来得到
Near/far clipping plane用来設置剪切平面,位于最近距离和最远距离之间的图像可以被观测之外的图像不会被观测。
底下透视角/正交角和分辨率也是顾名思义
视覺传感器最方便的地方就在于,有许多成熟的滤波器可以直接使用而且可以多个完美复合
比如你原来看到的视图是这样
可能你会问,上媔Packet1提供的只有最大最小和均值那如果要得到每一个像素点具体的灰度值或者RGB值怎么办呢?
这个函数返回一个一维数组这个数组的大小=汾辨率*3,假设返回值为buffer那么buffer[1], buffer[2], buffer[3]就代表像素点(1,1)处的R,G,B值,以此类推之后分别为(1,2)……(1,n)……(m,n)
最后我们写一个简单的脚本來获取视觉传感器的RGB值这里图像的分辨率为256*256
注意的是这里的RGB值也都是经过归一化后的结果,而且函数返回的RGB分量大小与物体颜色的设置囿关(漫反射分量(Diffuse component)、高光分量(Specular component)、自发光分量(Emissive component)辅助分量(auxiliary component)等)。这些专业术语我也没太搞懂第一个漫反射分量应该就是囷我们的视觉感受相一致,我一般就只调整第一个来改变颜色