2010/05/20

Blender - シーンの自動生成(5) 横断歩道を作るの巻き

前回は壁とガードレールを新設、コーナーを丸く、単位をメートルとするあたりをやりました。今回は、横断歩道を作ります。さらに、横断歩道の部分はガードレールを作らないようにします。



出来上がりの図

20100520_1

20100520_2

テクスチャを作ってないので分かりづらいですが、テクスチャを貼るために横断歩道の部分だけ独立したポリゴンになっているのが分かるかと思います。ガードレールの途切れ具合もこんな感じかと。



ガードレール生成部分

「作る予定だったガードレールポリゴンのうち横断歩道の部分だけを消す」ということをするために、Python の区間演算ライブラリであるInterval moduleを使いました。これを使うと区間集合 list of (float, float) 同士の差分が計算できるので、ガードレール区間 - 横断歩道区間を計算してポリゴンを作るということをしています。



横断歩道生成部分

今度は「作る予定だった路面ポリゴンのうち、横断歩道部分に頂点を追加する」ということをしたいのですが、interval module だと連続した区間は1つにまとめられてしまうので、区間の和をとる感じではできませんでした。路面と横断歩道の頂点集合をソートしつつマージ。



TODO

なんといってもテクスチャですね。これがないと地味すぎます。なんすかこれ、業務用ポリゴンですかみたいな。テクスチャを作って、UV座標をセットして貼り付けるみたいなことをする予定です。