CS6 Creative Cloudを契約する。
| 固定リンク
| コメント (0)
| トラックバック (0)
| 固定リンク
| コメント (0)
| トラックバック (0)
| 固定リンク
| コメント (0)
| トラックバック (0)
City Wizardで作成した際に前回の検証では形状を見たい為にテクスチャの無いサンプルを参照してたのですが今回はテクスチャが適用されているサンプルを覗いてみようと思います。
余談ですが前回の検証の際に「U型やL型の形状をモデリングするのに用意されているオペレーションを利用していないのは何故だ?」という疑問がありましたが、開発元のページを確認した所、新機能としてそれらの形状オペレーションが追加されたとの記載がありました。推測どおりこれらのサンプルが作成された際には実装されていなかったみたいです。
textured_city_day.cgaで生成された都市。形状は前回のschematic_cityと変わり無い。
問題はテクスチャの貼り方。
| 固定リンク
| コメント (0)
| トラックバック (0)
引き続き高層エリアのルールを見ていきます。
まずSetbackTowerルール。
ぎゃぁあ。お、おちつけ。俺!
えーと、('A`)、
・幅、高さどちらかが20m以下の場合LShapeルールへ。その際、以前設定してた高さ「highriseBuildingHeight」の30%の高さを引数として渡す。
・幅が30以下の場合、奥行きを80%に縮めて中央に寄せ、extrudeでhighriseBuildingHeight*高さ係数の0.7から0.95を掛けて押しだし、RecursiveSetbacksルールへ。さらに横に縮めた形状も作成。こちらは高さを弄くらずにそのまま押し出し。同じく次のルールへ。
たぶん高い部分と低い部分がクロスした形状になると予想。
残りのcaseも同様にクロス形状だと思われる。形状の選別をやってるのかねぇ。
| 固定リンク
| コメント (0)
| トラックバック (0)
最後の高層エリアのセクションを見ていきます。
まず最初、Lotから流れてきたHighriseBlockの処理で引数(0)。カウンターの初期化ですな。
それをHighriseBlock(index)で処理。
その処理だが例によって箇条書きで。
・まず引数として渡されたindexがgeometry.nEdgesを超えたらNIL。nEdgesの意味がわからん。ヘルプ見てもワカラン('A`;)
・alignScopeToGeometry(yUp,index+1)
奥行きが50よりも大きい場合奥行き方向に分割。alignScopeToGeometryで地面に接地。カウント+1?ヘルプを見ると2個目の引数はfaceindexなので接地先を自分のインデックスより一つ多い奴を参照してる?そんなん出来るの?(´・ω・`) まだ次のインデックス持ってる奴生成されてないでしょ? うーむ、わからん。とりあえず接地した奴をカウント+1してループ。
・ランダムで40から80メータの長さで分割してHighriseRowへ流す。
・上記条件に当てはまらなくなったエリアは接地させてからHighriseRowへ。
| 固定リンク
| コメント (0)
| トラックバック (0)
商業エリアのセクションに入って行きます。
まず関数commercialBuildingWidthを定義。中身は横幅が7割の確率で15から25メーター、3割が25から80メーター(!)横なげぇ!
続いて商業エリアのスタートルール。CommercialBlockはCommercialRowに(0)を与えてそのまま流してる。カウントの初期化?
続いて、CommercialRow(count)の処理
scope.sxで幅が30メーターより広い場合前述のcommercialBuildingWidth関数で算出した値でX方向に分割。分割されたShapeはそのままcommercialLotに流し、残ったShapeはカウントに+1して再帰。30m以下のサイズになるまでループ。
30m以上の幅のShapeが分割されますた(・∀・)
| 固定リンク
| コメント (0)
| トラックバック (0)
引き続き。
やっとブロック内の区画をふるいにかけて建物をモデリングするところまでたどりつきました。たぶん。
ちなみに前回までのCGAルールで生成したのがこちら
*注意 1ブロックのスタートルールをResidentialBlockに変更してるので本来空き地になるはずの中央部分にも生成されてます。
環境指定マップのせいで場所によって商業エリアになってて住宅の生成しか記述してないCGAが表示されない事がある為無理矢理住宅エリアにしました。地上げです。地上げ。
なんだかズレて見えてるのは地形自体がHeightMapで斜めに生成されてる所に水平に描画されてる為で真上から見るとちゃんと区画内に重ならない様に生成されてる。
ResidentialShapeでsオペレーション(拡大縮小)して3種類の形状を作成。どれも横長である。その後センターに寄せてrand()で指定した乱数をパラメーターとして与えてResidentialShape(h)へ。処理名が同じで引数が違うって事はjavaでいうオーバーライドみたいな物なのかしら?
構造としては道路にて区切られたブロック --> 分割された区画 -->建物毎の敷地 -->実際の建物の形状((・∀・)ノ今ここ)
| 固定リンク
| コメント (0)
| トラックバック (0)
ビデオチュートリアルやヘルプのおかげで使用方法はわりと簡単に覚えられるCityEngineなんですがサンプルのCGAルールファイルを見ながら組み方をイチから覚えようとすると途端に教材が見当たらないという壁にぶち当たっております。
そんな中、開発、販売している会社がカリフォルニアの地図サービス会社(?)に買収されたよーってメールが来たりして不安になったりして・・・(´・ω・`)価格下がってくといいね。個人的にはGoogleに買収されてSketchUPみたいにフリー版が出て普及→利用者増とか期待してたんだが。あとVueとの連携今後どうなるのだろう・・・
さて、愚痴ってても仕方ないので今回は起動時にウィザードで選択できるサンプルCityのCGAを最初からなぞって行きながらその都度ジェネレートして一体どういう組上げ方をしていけば町とか作れるのかを探っていこうと思うのです。めんどくさいですね。(´・ω・`)
なんでこんなに情報無いんでしょうねぇ・・・orz
日本語代理店で買ったらその辺教えてくれるのかしら・・・
| 固定リンク
| コメント (0)
| トラックバック (0)
最近のコメント