EasyAR最新4.0版本加了很多新功能,本文主要讲一下EasyAR Coloring3D 这个功能的原理
一、模型和识别图关系
首先识别图应该是作为模型的贴图使用的,因此在做模型UV的时候,要根据识别图设置
红框部分属于模型贴图,其他部分就是随便填充的,模型uv要对应上
二、相机图像转贴图
Coloring3D脚本是实现的代码,从CameraImageRenderer中获取相机图片。反正获取方式很多,只要获取到相机返回的图像就行。然后把图像给模型材质球。然后监听图像识别,只要图像有识别,就能从相机返回图像中计算模型贴图
三、计算贴图位置
首先EasyAR识别到图片后,会将模型移动到相机图片中对应熊的位置。也就是识别到图后,熊位置周围的一部分范围应该就是识别图了。这个范围在ImageTarget下的坐标应该是(0,0 , 0) 到(1,1 , 0),这是相对坐标,所以只要在识别到图片后,将这个ImageTarget的相对坐标,转换成世界坐标,然后转换成屏幕坐标,然后ComputeGrabScreenPos透视计算,得到的(0-1)的坐标,应该就是属于uv了。相机图像用这个uv计算就可以正常给模型贴图了。