芸術的(2D)ツリーをリアルタイム(L-System?)で手続き(作成)する方法


20

最近、L-systemモジュールをプログラムしました。さらに興味を持ちました。私はPlants vs Zombies junkieでもあり、Tree of Wisdomのコンセプトが本当に好きでした。楽しみのためだけに、同様の手続き型アートを作成して、もっと学びたいです。

質問:アーティスティックツリー(おそらく固定カメラ/視点の2D)を動的に作成するプロセスにどのようにアプローチすればよいですか?

理想的には、植物(葉のある茎のみ)から始め、その構造に対する何らかの影響(入力/ユーザーアクション)を使用して動的に成長させたいと考えています。これらの影響により、さまざまな種類の分岐、分岐の曲線、その広がり、果実の位置、花の色などが生じる可能性があります。:)

植物対ゾンビ:知恵の 木似たような木を動的に成長させるのは素晴らしいことですが、より多くのバリエーションとアニメーションが発生します。

私の経歴:プログラマー、いくつかのゲームエンジン(Ogre3d、cocos2d、unity)を使用しました。実際にopenGLを使用して直接プログラミングしておらず、それを修正しようとしています:)。

かなりの時間を費やす準備ができています。APIについて教えてください。そして、あなたのような専門家はこの問題にどのように取り組むでしょうか?

なぜ2Dなのか?2次元のみを考慮して問題を解決する方が簡単だと思います。

芸術的インスピレーション:

果物と葉のあるだけで、下部に低木はありません

大きな木の猿の背後に左に(目に見える枝、緑の葉、花、果物など)、。

PixelJunk's Eden(アートスタイルのインスピレーション)。

フラクタルを使用して手続き的に生成されたアップルツリー

あなたが質問を理解するのが簡単だったならば、私に知らせてください、私はさらに詳しく説明するかもしれません。

さまざまなアプローチの議論がすべての人に役立つことを願っています。あなたたちは素晴らしいです。


2
答えが見つからないかもしれませんが、これがどこに行くのかを絶対に見たいです。素晴らしいコンセプト!
ブラッドヨーグスト

グレート質問、私はしばらくの間、L-システムに興味を持っていましたが、その興味を持って何もしていない:)
ルター


1
@Stephenちょうどそうあなたはこの質問は2011年からで、うちの編集質問をするユーザーがトップにnecro'dしまっ知っているStudent/からStudent/Programmer
PeterT

@lalan質問に対して実質的な編集のみを行ってください。あなたがもう学生ではないという事実は、実質的な変更でも、編集する理由でもありません。
マイケルハウス

回答:



8

「ゲーム」のアイデア:

  • 最初にツリーの名前をユーザーに約束します。その名前を使用して、アルゴリズムのシードを生成します。したがって、すべての名前には一意のツリーがあります。種子は、葉の種類や木の実にも影響を与える可能性があります。
  • ユーザーが気にかけるほど大きくなる、肥沃になるような「たまごっち」のようなものを実装することができます(受精、水など)。
  • 最も高いツリーのハイスコアリストを作成します。別のアイデアは、ツリーの横に他のユーザーの身長と名前を表示することです。したがって、ツリーの高さを他のユーザーと直接比較できます。例としてこのビデオを参照してください。雲は、他のユーザーが達成した高さを示しています。

手続き型ツリーを生成するためのアルゴリズムや論文がたくさんあります(このスレッドは興味深いかもしれません)。難しいタスクは、ブランチをうまくブレンドすることです。あなたはアルファブレンディングでそれを解決できるので、2Dはその点で間違いなく簡単になるでしょう。

Ogre3D、Unitiy、およびcocos2dの経験があるため、先に進んでそのことを実装できます(今すぐOpenGLの学習を開始する必要はありません)。個人的にはcocos2dを選択し、iPadやiPhone向けにリリースすることで、誰もが自分のモバイルデバイスでツリーを持ち歩くことができるようにしました。


1
私はそのゲームによって、L-Systemsで社会的/競争的な方法でプレイしたいと思いました。
-deft_code

1
gamedevのスレッドを教えてくれてありがとう。.素敵なアイデア、たまごっちとgoo-tower ..モバイルアプリケーションは本当にクールです。3DS Maxプラグインビデオを見つけました-これは非常に素晴らしいリンクです..
lal

5

Context-Freeおよび3D対応のStructureSynthは、優れた基盤またはインスピレーションになる可能性があります。

例:

ここに画像の説明を入力してください ここに画像の説明を入力してください ここに画像の説明を入力してください 等...

最近では、WebGLでオンラインビジュアライザーを作成できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.