WebGL学习笔记(十三):拾取

目前为止,咱们尚未涉及到交互相关的内容,实际上,咱们是须要知道咱们点击的地方下面的第一个物体的信息,这个过程称为拾取。html

简单拾取实现

咱们能够经过颜色来获取是否成功点击,具体方式以下:git

  1. 场景中有一个立方体;
  2. 鼠标点击以后,立方体变成红色的立方体;
  3. 判断鼠标点击的像素颜色是不是红色,若是是则表示点中了立方体,不是则表示没有点中;
  4. 恢复立方体的颜色为原来的颜色;

示例请点击:https://hammerc.github.io/dou3d-ts/examples/learningNotes/lesson_14/PickObject.htmlgithub

拾取指定的面

上面的例子已经能够实现拾取整个立方体,咱们但愿能够拾取指定的一个面,采用的方式仍然同上,有一点区别以下:less

  1. 场景中有一个立方体;
  2. 鼠标点击以后,立方体变成每一个面都有不一样透明度的立方体;
  3. 判断鼠标点击的像素透明度,能够知道点中了立方体的哪一个面;
  4. 被点中的立方体的那个面绘制为白色;

示例请点击:https://hammerc.github.io/dou3d-ts/examples/learningNotes/lesson_14/PickFace.html3d

相关文章
相关标签/搜索