由于特效的层级问题,当前项目中使用了两个相机进行渲染,一个专门用于场景,另一个用于UI.当与场景物体互动时就产生了许多与overlay不同的问题。
(1)关于血条跟随人物
之前只需要Camera.worldToScreen 这是由于当时处于同一个相机下,worldToScreen能取到目标人物转换到屏幕上的显示位置,而当有两个相机的情况下。需要将坐标进行统一。这边的解决方案是以屏幕空间作为参照,先讲任何坐标转到屏幕坐标再转换。即实景相机--worldToScreen--->屏幕空间----ScreenToWorld---->UI相机 , UI.transfrom.position = UICamera.screenToWorld( GoCamera.worldToScreen()) ;
(2)为何不用anchoredPosition
使用anchoredPosition首先会有一个父对象的问题,并且屏幕坐标系的原点处于左下角,默认的锚点处于屏幕中心,需要将锚点设为左下角才可使用,所以在UI制作中会稍显麻烦,需要规范和注意,个人更加倾向于使用代码解决这些问题(ps. git或者svn合作时UIPrefab的同步简直是大坑,因为没法比对差异,这一点有什么解决的好方案万望不吝指教)
to be continue..
暂无关于此日志的评论。