以下の内容はhttp://tonarinoaa.blog136.fc2.com/blog-entry-604.htmlより取得しました。


ホーム  >  > やらない子がPOV-Rayを練習するようです(feat. やる実) 第十一回 「草を生やす」 > やらない子がPOV-Rayを練習するようです(feat. やる実) > やらない子がPOV-Rayを練習するようです(feat. やる実) 第十一回 「草を生やす」

--年--月--日

コメント×  トラックバック×

やらない子がPOV-Rayを練習するようです(feat. やる実) 第十一回 「草を生やす」

2011年03月28日

1684995ccea3daa5edaa814198b5e792.png

112 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:28:56 ID:???0 [PC]

第十一回 草を生やす

                    ______
                .   「ー──ー |
                  _|____|__
                . 〈  L_____」 〉
                 /ヽ_____/,   ところで、以前3Dモデルを取り込んだとき
                 |/|:|(●)(○)|::レ!   何か気づかなかった?  _ _ _ _
                  V (_,、_,)  |/                   「 _     ̄ ̄ ̄`ヽ
              ⊂⌒ヽ >  ー' </⌒つ                      | | |  ̄ ̄ ̄.:.:.::::::1|
                \_,,       _ノ         カブリモノ→  | _i | _ __.:.:.:.:::::::::::リ
                                           . _,「. .:. :.:.:.:.:.:::::::::::::.:.:::::L--、
                 素人支援絵描き                〈 こL _ __ ___ _ ノ.::::::/
                 蒼星夫                      \         .:.:. :.:::::::_/
                                            /.::7::`::ー ── ─ .:.::"::.ヽ
                                            |/:|::| (●)  (○)  |イ::レ′

隣のAA様
第七回 3Dモデルを取り込む
ttp://tonarinoaa.blog136.fc2.com/blog-entry-445.html



  , ⌒ハ     ハ⌒ 、
  j:::::ヽ, ヘ⌒ Y⌒ヽ .:::i
 ル:::::リγ::::...ヘ、::::: ノy::リ
  Yyノ :ノ..ノノ  ⌒ルリノ
   リ::::((●)(●)(
   ハ:::ハ ,, 、__, リ )     そりゃもう・・・
    ) ) )   イハ(     他のプログラムで作ったモデルを
   ノ)∨y'∨::|(( 、     POV-Ray形式に変換したのよね
  //:::ヽ/:::::::i  \
 (  (:::::::: :::::::::)>  )
.  ヽ,/i::::::::::::::::::u )/
   i/::::::::::::::::::::し~
    'ー----ーヽ
   |________,!
    |   | |   |
.    |   | |   |

素人支援絵描き
やらない子




113 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:29:40 ID:???0 [PC]

  , ⌒ハ     ハ⌒ 、
  j:::::ヽ, ヘ⌒ Y⌒ヽ .:::i
 ル:::::リγ::::...ヘ、::::: ノy::リ
  Yyノ :ノ..ノノ  ⌒ルリノ
   リ::::( =・ =・(   ,∩__   でもPOV-Ray形式ってのは
   ハ:::ハ ,, 、__, リ )  fっuu   つまり単なるテキストよね!
    ) ) )   イハ(  i⌒i
   ノ)∨y'∨::|((ー─ゞ .|
  //:::ヽ/:::::::i, ----- '
 (  (:::::::: :::::::ノ
                  ______
              .   「ー──ー |
                _|____|__
              . 〈  L_____」 〉  そう
               /ヽ_____/,   POV-Ray形式のデータを作るプログラムは簡単に書けるし
               |/|:|(●)(○)|:レ!   POV-Rayのスクリプト言語にもその機能がある
                ||/ ∩ノ ⊃|/ノ
                 / _ノ <


                  ______
               .   「ー──ー |     というわけで草を生やしてみましたwww
                _|____|__
             (ヽ. 〈  L_____」 〉 /)
             (((i ) /ヽ_____/, ( i)))
            /∠_|/|:|(●)(○)|:レ!_ゝ \
            ( __  ||/ (_,、_,) |/ノ  ,__ )
                \   |r┬-|  /´
                 |  | |  |  |
                 |  | |  |  |
                    `ー'´

ttp://blogimg.goo.ne.jp/user_image/16/41/dae9f75bcee19f6908bfdb3724520d8c.png

res113.png


// 根のテクスチャ
#declare tx_grass1_1 =
texture {
 pigment {
  Black
 }
}

// 葉先のテクスチャ
#declare tx_grass1_2 =
texture {
 pigment {
  ForestGreen
 }
}

#declare XX=20.0; // 草原の面積(X)
#declare ZZ=20.0; // 草原の面積(Z)
#declare X1=0.05; // 草の間隔(X)
#declare Z1=0.1;  // 草の間隔(Z) 見た目上 Xより隙間が開いても大丈夫

#declare R1=seed(124); // 乱数列

/*
  POV-Rayのmesh2オブジェクトを生成する
*/
mesh2 {

// 草の数
#declare II=XX/X1;
#declare JJ=ZZ/Z1;

 // 頂点リスト
 vertex_vectors {
  3*II*JJ,

#for (I,0,II-1)
#for (J,0,JJ-1)

#if (I!=0|J!=0)
  ,
#end

 // 草の生えている位置と高さを乱数で揺らす
#declare X2=I*X1+(rand(R1)*2-1)*0.02;
#declare Z2=J*Z1+(rand(R1)*2-1)*0.02;
#declare Y2=0.5*(0.8+rand(R1)*0.2);
 // 一本の草を細い三角形で表す
 <X2-0.02,0,Z2>,<X2,Y2,Z2>,<X2+0.02,0,Z2>
#end // J
#end // I
 }

 // テクスチャリスト
 texture_list {
  2,
  texture { tx_grass1_1 },
  texture { tx_grass1_2 }
 }

 // 面リスト
 face_indices {
  II*JJ,

#for (K,0,II*JJ-1)
#if (K!=0)
  ,
#end

  // ↑で生成した三角形の頂点を面の数だけ並べてるだけ
  <K*3,K*3+1,K*3+2>,0,1,0
#end // K
 }

 // カメラ正面に持ってくる
 translate <-10,0,-2>
}


114 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:30:16 ID:???0 [PC]

       , ⌒ハ     ハ⌒ 、
       j:::::ヽ, ヘ⌒ Y⌒ヽ .:::i
  三 (ヽル:::::リγ::::...ヘ、::::: ノy::リ /)
  三 (((i Yyノ :ノ..ノノ  ⌒ルリノ ( i)))
 三 /∠__リ::::( =・= =・= ( _ゝ \
 三( ___ハ:::ハ ,, 、__ノ⌒ヽ_ノ)__)
         ) ) )  不⌒'ー''´     でもレンダリングのたびに
        ノ):∨y'∨::|(('         オブジェクト生成に時間がかかるわねwww
     (( (:::::::: :::::::: ノ )) 三

                  ______
              .   「ー──ー |
                _|____|__
              . 〈  L_____」 〉
               /ヽ_____/,   疲れるからやめよう
               |/|(●)(○)|:::レ!    スクリプトで作ったデータを
                レl (_,、_,)   |/ノ    一度ファイルに保存して
                 > ⌒  <

/*
 このスクリプトを一度だけ実行する
*/
#declare XX=20.0;
#declare ZZ=20.0;
#declare X1=0.05;
#declare Z1=0.1;

#declare R1=seed(124);

#fopen OF1 "sample11_2.inc" write // ← データを保存するファイル名

#write (OF1, "mesh2 {\n") // ← スクリプトで生成する代わりにファイルに送る

#declare II=XX/X1;
#declare JJ=ZZ/Z1;

#write (OF1, "vertex_vectors {\n", 3*II*JJ, ",\n")

#for (I,0,II-1)
#for (J,0,JJ-1)

#if (I!=0|J!=0)
#write (OF1, ",")
#end

#declare X2=I*X1+(rand(R1)*2-1)*0.02;
#declare Z2=J*Z1+(rand(R1)*2-1)*0.02;
#declare Y2=0.5*(0.8+rand(R1)*0.2);

#write (OF1, <X2-0.02,0,Z2>, <X2,Y2,Z2>, <X2+0.02,0,Z2>, "\n")

#end // J
#end // I

#write (OF1, "}\n")

#write (OF1, "texture_list{\n2,\ntexture { tx_grass1_1 }\ntexture { tx_grass1_2 }\n}\n")

#write (OF1, "face_indices {\n", II*JJ, ",\n")

#for (K,0,II*JJ-1)
#if (K!=0)
#write (OF1, ",")
#end

#write (OF1, <K*3,K*3+1,K*3+2>, ",0,1,0\n")

#end // K

#write (OF1, "}\n")
#write (OF1, "}\n")
#fclose OF1


115 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:30:48 ID:???0 [PC]

   , ⌒ハ     ハ⌒ 、
   j:::::ヽ, ヘ⌒ Y⌒ヽ .:::i
  ル:::::リγ::::...ヘ、::::: ノy::リ
   Yyノ :ノ..ノ⌒ ⌒ルリノ
    リ::::((○)(○)(
    ハ:::ハ ,, _ リ )
     ) ) )   イハ(
    ノ)∨y'∨::|(( 、
    |/:::ヽ/:::::::i |
                    ______
                .   「ー──ー |
                  _|____|__
                . 〈  L_____」 〉   そう できるんだよ
                 /ヽ_____/,    悪用されないようにデフォルトではオフなんだけど
                 |/|:|(●)(○)|::レ!
                  V (_,、_,)  |/     レンダリングのときは
              ⊂⌒ヽ >  ー' </⌒つ  それを読み込むようにするとかなり速くなるよ
                \_,,       _ノ

/*
 毎回レンダリングするときは↑で作ったファイルを読み込む
 結果は同じ
*/
#declare grass1 =
#include "sample11_2.inc"

object {
 grass1
 translate <-10,0,-2>
}

                    ______
                .   「ー──ー |
                  _|____|__
                . 〈  L_____」 〉   それにメモリも節約できるようだ
                 /ヽ_____/
                 |/|::|(●)(○), -、   もっと複雑な、たとえば風の影響を入れたりすると
                  ||/ (_,、_,)(/  〉   僕のPCだとこれ一枚(20m x 20m)が限界で
                   > ⌒ 〈   ⌒ヽ  エラーになっちゃうんだけど

ttp://blogimg.goo.ne.jp/user_image/17/92/0a162d782a62c7f3f4a614d46259f2df.png
(向かい風+障害物)

res115.png


116 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:31:21 ID:???0 [PC]

    一度ファイルに落とすと
    こうやって何枚も並べて 一定の面積をカバーできる

ttp://blogimg.goo.ne.jp/user_image/6a/3b/a082056f47c4e81aab11d0d3ab178f03.png
(障害物のあるのと無いの二種類並べています)

res116.png


 ル:::::リγ::..:::::..:::...ヘ、: : : :: ノy:::::::リ
  Yyノ ノ :ノ...:ノ ⌒  ⌒ :::::) ルリノ
.    リ::::::(  =・= =・=::(
    ハ::::ハ  ,,     リ) )   ・・・


117 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:32:05 ID:???0 [PC]

オークニー諸島某所 先史ケルト文明遺跡

n__
| r‐┘ ___
∟ニコ └┐|  __n__
    にニ コ └冖|
          くノ

             ____     _
     /`ヽ   /..:..:..:..:..:..:..\  /:..:.ヽ /´ ̄:ヽ
    /::..:.:..:..ヽ  l:-‐ '´ ̄ ̄`ヽ、:..::..:..:..:./:..:..:..:..:..:..:.i
   く:..:..::l:..:..:....:. ///, '/"u `ヽハ 、ヽ:..:./:..:..:..:..:..:..:..:..:..l
   \:.:l:..:..:..:..:..〃 {_{ ノ ' ヽ リ| l i|..::..: ..:..::..:..:..:..:..:..::.::.:ヽ、
     ヽl:..:..:..:.:.:レ!小l(⌒)(⌒)从i|:..:..:..:..:..:..:..:._: - ¨ ̄
      l:..:i,,:..:...:.レ⊂⊃、_,、_,⊂⊃|ノ:..:.:V:..:..:../
       V..''.:..;..:.ノ_ ヘ, (_.ノ イ/‐ヾ:..}}:.ァ',ィ   急に風が出てきたおっ!
       \::.!.::ノ_三ニ‐'゛ ̄ 三 ‐ィ_ー'
          (___,,ノ'___)>
            |       |

  __n__
 └冖|
   くノ
      __n__
     └冖|
        くノ   __n__
          └冖|
            くノ

-------------------------------------------------------------------------------
        ___|二ニー-、、;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:;:|;::;:;:;:;:;:;:;:;:;:;:;:;:l
        /rヽ三三三三三─‐-- 、;:;:;:;:;:;:;:|;:;:;:;:;:;:;:;:;:;:;:;:;:;l
        ',i ,-三三三三三、   _,.ニ、ー-、!;: -‐二 ̄彡′
        ',、、ヾ三三'" ̄ ̄   `ー‐"    ヾ-'"  .〉′
        ヽ ヽヾ三,'    :::..,. -‐- 、     _,,..-‐、、,'
         `ー',ミミ     ::.弋ラ''ー、   i'"ィ'之フ l′
         /:l lミミ     ::::.. 二フ´   l ヽ、.ノ ,'   これが遺跡のGPS座標でおじゃる
      ,.-‐フ:::::| |,ミ             l      /
     /r‐'":::::::::| |ヾ        /__.   l    /
 _,. -‐"i .|::::::::::::::::::',.',. \        ⌒ヽ、,ノ   /ヽ,_
"    l ヽ:::::::::::::::::ヽヽ. \   _,_,.、〃  /l |  `゙'ー-、、
     ',\\:::::::::::::::ヽ\  \  、. ̄⌒" ̄/:::::| |      `ヽ、
     \\\;::::::::::::\\  `、.__  ̄´ ̄/::::::::::l |         \
       ヽ \`ー-、::::::ヽ ヽ    ̄フフ::::::::::::::ノ ./          `ヽ、
          `ー-二'‐┴┴、__/‐'‐´二ー'".ノ
               ̄`ー─--─‐''" ̄
-------------------------------------------------------------------------------


  , ⌒ハ           ハ⌒ 、
  j:::::::::ヽ ,ヘ^ ⌒ Y ⌒ヽ/ .::::::::i
 ノ:::::::::j(ノ ..::::....::::..:::: ::. .ヾ)':::::::::::i    ふ さすが麻呂
 ル:::::リγ::..:::::..:::...ヘ、: : : :: ノy:::::::リ    情報は確かね
  Yyノ ノ :ノ...:ノ ノ _ ,,、::::::) ルリノ
    リ::::::( / ̄【◎ 】~\  < カシャ
.    ハ::::ハ/ / r‐ァ ̄\ \
     ) ) / /  ̄ノくハ( \\     古代カルデア文明の天候魔法
    (,(.(/ /   い ノ:::))_ ) ヽ    これほどのものとはね!
    ノ/)` / ヾ ソ ̄(( 、__/
     ,'   ノ    Y    Y

ttp://blogimg.goo.ne.jp/user_image/07/12/b33e0549408767fca3b621e88d80cd15.png

res117.jpg


* 裸マント写真を撮るために古代カルデア魔法に手を出すのは危険です。決して(

(つづく)


118 :◆RW8D0l7UnU [mail↓] :2011/03/27(日) 22:33:56 ID:???0 [PC]

今回の画像置き場
ttp://blog.goo.ne.jp/crowbait/e/93d6b4ed3ef8bea8045e64a6935e7286


119 :名前がない…ただのやる実のようだ [↓] :2011/03/27(日) 23:13:12 ID:TUr6WNXo0 [PC]

おいw



関連記事

カテゴリ:やらない子がPOV-Rayを練習するようです(feat. やる実) /  コメント(0トラックバック(0




以上の内容はhttp://tonarinoaa.blog136.fc2.com/blog-entry-604.htmlより取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.13