3dContactPointAnnotationTool开发日志(十二)

  因为ReferenceImage的锚点是固定的左下角,缩放时controller面板也会跟着动。为了使Scale的时候controller上的slider不会远离指针,于是把controller固定到了左下角。
1.png
  在网上找了半天也没有找到好的在图像上画球的方法,没办法只好用image来当求了,放上球的照片即可。得把三维坐标转到UI坐标里,具体方法请看Unity3D 世界坐标上一个点对应UI上一个点
  于是具体的玩法就是先计算接触点,再把图片和三维物体对齐,点击Overlay按钮,就会生成以image为父亲的带有球图片的小image,效果如下:
2.png
4.png
5.png
3.png
  想发布到windows平台试运行一下,结果给我报了这么多错误,说什么找不到PrefabUtility:
6.png
  之后百度发现UnityEditor是只能在编辑模式下调用的库,于是把之前的代码:

var scrollViewItem= UnityEditor.PrefabUtility.InstantiatePrefab(prefabScrollViewItem) as GameObject;

改成了

var scrollViewItem = Instantiate(prefabScrollViewItem,new Vector3(0,0,0),Quaternion.identity);

就可以过编译了。
7.png
  然而实际运行却是这幅鬼样,不知道问题出在哪里。Editor里运行是正常的,发布出来的版本运行却是不正常的,看来Unity也没有自己想象中的那么好用。
8.png

原文地址:https://www.cnblogs.com/yaoling1997/p/9984724.html