CSDN真恶心

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
  24 Posts :: 0 Stories :: 2 Comments :: 0 Trackbacks

接下来我的工作就是开始写视觉辅助信息类VisualInfo

俗话说的好,架构未动,需求先行

今晚先想了需求,以后再想架构

 

总体需求:

1. 绝大部分视觉或文字信息应该以2D屏幕坐标而不是3D世界坐标为基础绘制

2. 绝大部分视觉效果应使用淡出淡入动画

3. 要做到简洁,清晰,智能

 

VisualInfo应该提供以下的功能:

1. 元素高亮

当鼠标拾取或移动到某个元素上时,应该高亮该元素

悬停使用黄色,拾取使用蓝色,绿色待定

要支持多处同时高亮

 

2. 鼠标操作

 

 

3. 辅助信息

当折叠操作发生时

以残影的方式显示元素原来的位置(可能需要在3D中作图)

以点状线显示移动路径

显示面与面之间的夹角,该面与多个面同时存在夹角,则显示与多个面的夹角

当绘制折线时

以分数形式显示被拆分的边每部分所占的比例

 

能遇见到的要使用的技术:

需要将3D世界坐标中的点转化为屏幕坐标(杨旭瑜已实现)

使用ManualObject在(0,0,-1)到(1,1,-1)的坐标范围内作图,并管理ManualObject的创建和销毁

自定义材质以支持视觉效果,并管理这些材质的创建和销毁

VisualInfo应创建为单例,并成为BasicPicker的成员

需要与FrameListerer进行交互,以支持动画


posted on 2012-02-07 22:22  Kid桑  阅读(...)  评论(... 编辑 收藏