読者です 読者をやめる 読者になる 読者になる

aokcub::Blog

/PIC|dsPIC|Perl|Terragen3|風景CG|CSS3/

めも:Getopt::Longで一つのオプションに複数の引数を受け取る

memo Perl

タイトルの日本語が怪しい。


最近ちょっとしたCG関係のツール作ってて,

perl ~/convert_layers.pl  -i input.exr -w 16394 8192 4096

みたいな形で,複数の数値受け取りたいということがありました。

perl ~/convert_layers.pl  -i input.exr -w 16394 -w 8192 -w 4096

ではなく。



CPAN読むと,こうすればできそう。

  use Getopt::Long qw/:config posix_default no_ignore_case gnu_compat bundling/

  ...

  my %opts = (
    input => 'temp.0001.exr',
    output => 'out',
    width => [],
  );
  GetOptions(\%opts, (
    "input|i=s",
    "output|o=s",
    "width|w=i{,}"
  ));

結果
f:id:aokcub:20160723001526p:plain
oh...?



結論。オプションからbundlingを消せ。

  use Getopt::Long qw/:config posix_default no_ignore_case gnu_compat/

  ...

オプションの意味理解せずに使ってたことバレちゃう。
f:id:aokcub:20160723001422p:plain
やったね!



以上

Terragen 4いろいろ(逐次更新)

Terragen Terragen4

気づいたこととかやってみたこととか。

1個目
雲の高さ指定方法が変わっている。なんか感覚合わなくて変だなーって思ってたら... (2016/7/22)

ネタ見つけ次第増やす。

Terragen 4の新機能について書くよ

Terragen4 Terragen

※本記事はブロマガに書いたものの転載です。

もう2週間くらい前になってしまいましたが,景観CGソフトウェアTerragenのメジャーアップデート版であるTerragen 4のOpen Betaが公開されました。今回もTerragen 3のときと同様,強力なアップデートを持ってリリースされることになりそうです。本記事では,Terragen 4の主要な新機能についてまとめます。

なお,本記事にはノードの役割等に誤りが含まれている可能性があります。予めご了承ください。

以前作成したこのシーンを使います。星空は後付けだから今日はナシね。
www.pixiv.net

Ray-Traced Real Time Preview (RTP)
おそらく公式から出ている動画を見てもらうのが一番早いと思うのですが,3DプレビューにRay-traced previewが追加されています。カメラの移動にもすばやく対応します。レンダラでCropを有効にしていればCropされた領域だけプレビューすることもできます。



なお,今のところRTPにはいくつかの制限があります。主要なものをまとめます。

まず,水面や反射する物体にはRTPは働きません。このように真っ暗になります。
f:id:aokcub:20160716201228j:plain
対応してほしいところですが,より負荷も上がりますので,難しいところ。

次に,3Dプレビュー上での機能が一部制限されています。
従来の3Dプレビューではプレビュー上でオブジェクトをクリックすることでハンドルが現れ,移動・回転・拡大等の操作が可能です。
f:id:aokcub:20160716204903j:plain

しかし,RTP中はオブジェクトの操作ができません。
なぜかアイコンは出るのだけど。

f:id:aokcub:20160716205440j:plain

また,3Dプレビューでは右クリックメニューでクリックした場所の座標をコピーすることができるのですが,RTP上ではそれができなくなっています。

最後に,これは仕様といったほうが正しいのかもしれませんが,RTP中は地形の計算がされません。ですので,カメラを回転させたりして今まで見えていなかった部分を見ようとすると,空白地帯が生まれます。
f:id:aokcub:20160716201054j:plain

いったん無効化して,戻すことでレンダリングされるようになります。

Multi-Scattering Cloud
Terragen 4では雲に当たる光の多重散乱がサポートされ,より自然な雲が表現できるようになりました。また,より簡単に雲を扱えるよう,Mid-levelとLow-level cloudにEASY Cloudという形のプリセットが追加されました。
f:id:aokcub:20160716192126j:plain

ここではLow-levelのMediumにしてみます。

こちらは従来の雲のメインタブ。↓
f:id:aokcub:20160716192400j:plain

EASY Cloudのメインタブ。↓
f:id:aokcub:20160716192412j:plain

少しインターフェースが変わっていますが,Seed値いろいろ変えてよさそうな雲が来たらカバレッジとか高さとか変えて調整って感じがお手軽かと思います。

こちらはEASY Cloudのライティングタブ。多重散乱に関するパラメータが追加されています。どう使えばいいものかはこれから情報が出てくると思います。
f:id:aokcub:20160716192707j:plain

ただし,EASY CloudではDensity Fractalを繋げて雲の形などを変えるといったことができず,自由度が少し失われます。その場合はAltocumulusやCumulusを選択すれば,従来通りの使い方ができます。もちろん,従来の形式でも多重散乱はサポートされます。
なお,EASY Cloudで追加した雲はTerragen 3以前では読み込めません。無効なノードとして無視されます。逆はいけますが,ライティングは従来のものとなります。

試しにEASY Cloudを一層追加してレンダリングしてみました。高さとカバレッジだけいじりました。ライティング周りは何もしていません。
f:id:aokcub:20160716214752p:plain

Lenz Effect
ベータユーザの間で「どこにあるの?」という声をちらほら見かけるのですが,ここにあります。レンダラのEffectタブ。Experimental atmo bloom, bloom, starburstの三種類が新しく加わりました。
f:id:aokcub:20160716203935j:plain

それぞれこのような形のエフェクトが加わります。
(エフェクトはデフォルトの数値では強すぎるので少し弱めています。)

Experimental atmo bloom (光がふわーーっとあふれるような,そんなやつ) f:id:aokcub:20160716214821p:plain

Bloom(大気だけでなく水面反射光にも効果が表れているように見えますね) f:id:aokcub:20160716214846p:plain

Starburst (放射状に延びる光) f:id:aokcub:20160716214901p:plain

いいですねえ。
全部有効にしたらこんな感じです。(ついでに雲など少し修正しました) f:id:aokcub:20160716214910p:plain

Ozone Factor 大気中のオゾン層による光の吸収効果を再現できるようになりました。これも公式アカウントの動画見てもらうほうが早いですね。


こちらも,「どこにあるの?」という声が出てきそうですが,AtmosphereのTweakタブにあります。
f:id:aokcub:20160716204333j:plain

ちなみに今回のシーンだとこうなります。
f:id:aokcub:20160716215250p:plain
...もっと効果的なシーンを作ってまた戻ってきますね...!!

Warp-Speed Terragen 4ではレンダリング速度が大幅に向上しました。特にオブジェクトの影が別のオブジェクトに落ちるような,影のレンダリング負荷が高いようなシーンで特に効果が大きいようです。公式ブログによれば,あるシーンでは6倍速という驚異的な結果を示したようです。
逆に,私が++skies;でやってるような,「空と雲と水面だけ」というシーンではあまり効果が見られないようですね。36コアのXeonで60時間,という生活はまだまだ続くのだ...

WARP SPEED: ENGAGE! (terragen4.com)

ちなみに,今回とは別のシーンですが,私が過去に制作したシーンでは4倍速を記録しました。 左: Terragen 3.4 -> 13m40s 右 : Terragen 4 (beta) -> 3m18s f:id:aokcub:20160716215043j:plain

入手方法

ベータ版はこちらからダウンロードできます。現在はWindows版のみです。近いうちにOSX版もベータリリースされるようです。
TERRAGEN 4 OPEN BETA (terragen4.com)

Terragen 4製品版の価格はまだ明らかになっていません。Terragen 3とは違い,有料版は全エディションがアニメーション機能を持つようです。Terragen 3のライセンスを持っている人はアップグレード価格で購入できます。私はProfessional Editionを持っていますが,$249でした。

以上~

追記 今回掲載したCGで使用したモデルはこちらから。 植生:Xfrog, Silva3D モデル:IAxさん(mqdlさん),まれよん式ミクさん(まれよんさん)

The First Scene with Terragen 4

Terragen4

f:id:aokcub:20160705011540p:plain

 

Terragen 4 Open Betaきましたね。

また雑な初心者向け解説書こう。次はやるやる詐欺にならないように。

PSさんにも許可もらったので新機能の紹介的なの書きましょう。やるやる詐欺にならないように。

 

なお,上の画像,公式フォーラムにアップしたら草が(物理的に)浮いてるって言われた。確かに。。今度なおそ。

 

terragen4.com

20k10kのテクスチャを作るとFinderで解像度が表示されない

memo

という(私に取っては)新しい知見を得られたのでシェアします。

少なくとも16kだと出るらしい。

OpenEXRでもダメ。

f:id:aokcub:20150211233029p:plain

とか言ってたらpngなら出ました。

以上です。どうでもいい。

なお,20k10kのテクスチャはこちらから https://aokcub.net/cg/dome/ といって20kは一つだけでほとんど16kですが。 再現性の検証お待ちしてます。

NDS#39 Niigata.pm tech talkにいってきた

Perl Niigata.pm NDS

こんにちは。2週間遅れですが、年越し前に書いちゃいます。

12月13日に開かれたNDS#39 Niigata.pm tech talkにいってきました。

NDS#39 Niigata.pm tech talk - connpass

2年ぶり...なのかな?

本当はちょっとした勉強をかねて空路で行くつもりでしたが、あいにくの悪天候で陸路切り替え。 案の定、乗る予定だった便は新潟空港へ着陸できず小牧へ引き返していました。乗っていたらたぶん懇親会しか参加できなかった。

f:id:aokcub:20141213100834j:plain

太平洋側はこんなにいい天気だったのに...

f:id:aokcub:20141213123443j:plain

トンネルを抜けたら...

f:id:aokcub:20141213130007j:plain

新潟の冬、懐かしいですね。

で、本題(にすべき)トーク内容なんですが、他の方のブログ参照でお願いします、というか、残念ながらあまり追いつけなかった;;;;

というわけでここから雑文。

実はこの2年くらいプログラミングから意識が遠ざかってました。就職してからの仕事が、無縁ってほどじゃないけどソフトウェアから離れたところになってて、そのせいかなんとなく。(そこでちゃんとやらない奴はダメだ、と言われるかもしれない。それはその通りだと思う) 今年CGばっかり作ってて、そのプロセス最適化のために細かいのを書いてたりはしたけど、完全にCGの人になってた。

でもNUTにいたころから新潟の勉強会コミュニティがすごく好きで、そこに行けばなにかトリガが出来るんじゃないかなーって思いながら参加しました。結果、まだ完全にはってわけじゃないですが、少しずつ気持ちが戻ってきた。

猫型さんやcivicさんをはじめ皆さん暖かく迎えてくれて本当によかった。本当に嬉しかった。ありがとうございます。 次回は「ちょっとこんなの作ってみた」くらいでもいいから話せるネタを持っていきたい。

何書きたかったんだ自分。うん、Niigata.pm/NDS最高ってことです。

というわけでこれから年越しコーディングします。皆さんよいお年を!

Terragen 3.1が来たので

terragen3

さっそくDisplaceable object

f:id:aokcub:20140225234806p:plain

オブジェクトにdisplacement指定したり,populationさせることが可能になりましたみたいです。 さて何作るか...