Menu

#251 glverticesをもつモデルでgl::transparent

2013 B4
open
None
2013-12-29
2013-11-20
No

glverticesをもつロボット(euscollada-robotなど)で
gl::transparentするにはどうしたらいいでしょうか。

Discussion

  • Shunichi Nozawa

    Shunichi Nozawa - 2013-11-20
    • assigned_to: Yohei Kakiuchi
     
  • Shunichi Nozawa

    Shunichi Nozawa - 2013-12-04

    (jskeusのticektだったかもしれませんが)
    例えば以下にするとtransparentになりますね。

    $ roscd euscollada && ./pr2.sh
    $ roseus
    10.irteusgl$ (load "pr2.l")
    t
    11.irteusgl$ (pr2)
    #<pr2-robot #X6923858="" pr2="" 0.0="" 0.0="" 0.0="" 0.0="" 0.0="" 0.0="">
    12.irteusgl$ (objects (list *pr2*))
    (#<pr2-robot #X6923858="" pr2="" 0.0="" 0.0="" 0.0="" 0.0="" 0.0="" 0.0="">)
    13.irteusgl$ (mapcar #'(lambda (x) (if (find-if #'(lambda (y) (substringp "glvertices" (string-downcase (car y)))) (send x :slots)) (send (x . glvertices) :set-color #f(0 0 0) 0.2))) (send *pr2* :bodies))
    

    あとは、glverticesのverticesそれぞれの設定の部分が
    うまく決められるようにすればよさそうです。

    ちなみに、jskglのように、
    (gl::transparent pr2 0.2)
    して全リンクやbodyが透明になったりする
    便利関数などはirteusだとサポートされないのでしょうか。

     
  • Yohei Kakiuchi

    Yohei Kakiuchi - 2013-12-28

    13.irteusgl$ (mapcar #'(lambda (x) (if (find-if #'(lambda (y) (substringp "glvertices" (string-downcase (car y)))) (send x :slots)) (send (x . glvertices) :set-color #f(0 0 0) 0.2))) (send pr2 :bodies))

    これは古いモデル用ですね。

    (mapc #'(lambda (x) (send x :set-color #f(0 0 0) 0.2)) (send *pr2* :bodies))
    

    でOKになっています。

     
  • Shunichi Nozawa

    Shunichi Nozawa - 2013-12-29

    ありがとうございます。
    確かにこれならばgl::transparentなしでも、1行で書くこともできますね。

    他に、色を変えないでtransparentだけ指定する方法はありますでしょうか。

     

Log in to post a comment.