伸縮性のある壊れやすいピザチーズ素材を作成するにはどうすればよいですか?


21

リアルなピザを作成し、ユーザーがそれを操作できるようにします。

私が欲しいもの:

スライスが持ち上げられているピザの写真

私が作成したもの:

スライスが欠けている、レンダリングされたピザのスクリーンショット

Blenderでピザのモデル(8個)を作成し、Unityにインポートしました。ピザのピースは非常に人工的に見えますが、その主な理由は「堅い三角形」です。

ユーザーがピースを動かしたときにチーズを伸ばしたり壊したりするにはどうすればよいですか?


1
優れたモデル、優れたテクスチャ、優れたシェーダー。それと同じくらい簡単です。
API-ビースト

あなたは実際にチーズを伸ばして破りたいですか?どの側面をより現実的にしたいのかをより具体的にすることができれば、それは質問の範囲を狭めるのに役立ちます。
マイケルハウス

2
@ Byte56、モデル、テクスチャ、シェーダーを改善することでピザの品質を改善できることは理解していますが、チーズに興味があります。はい、伸縮可能で壊れやすいものにしたいです。本物のチーズのように。
ピーターブレンコフ14年

6
個人的には、リアルタイムの布シミュレーションを見て、パラメータを微調整することで布からチーズまでの距離を確認します。ピザのチーズレイヤーを個別のメッシュとして扱い、スプリング/質量モデルを使用して変形を計算します。布のシステムも以前に見たことがあります。布を引き裂くことができます。これはチーズにも必要です。これを、スプリング/マスモデルのノードに適用される力に基づいて、ソリッドチーズテクスチャからストレッチ/リッピングチーズテクスチャにブレンドするシェーダと組み合わせると、かなりきれいな結果が得られます。
インバー14年

ここで悪魔の擁護者を演じるには、この種のアニメーションが必要ですか?質問するのは奇妙に聞こえるかもしれませんが、すでに与えられた答えからわかるはずです。これは、あなたが目指しているかなり複雑な効果です。明らかにそれはゲームに依存します(あなたがピザ作りシミュレーターを作っているかどうかはわかりません[1つに良いお金を払う人を知っています])。本当にあなたの努力を正当化するのに十分です。あなたは多くの時間を持っている場合でも、他の場所でそれを捧げることは、長期的にはより報わかもしれません...
Selali Adobor

回答:


28

シンプルな方法

隣接するスライスを互いに接続するクワッドを追加します。これに、穴のあるすてきな溶けたチーズの質感を与えます。スライスが遠ざかると、クワッドが自然に引き伸ばされ、テクスチャが引き伸ばされてゆがみます。

これは合理的に見えるはずですが、休憩はありません。ここでやるべきことは、そのテクスチャをアニメーション化することです。時間の代わりに、四角形の領域(またはスライス間の距離)に基づいてアニメーションを反復処理します。さらに引き離されると、アニメーションが進行するため、より多くの穴が表示されます。

最終的に距離のしきい値に達したら、クワッドを2つに分割し、2つのクワッドをアタッチされたスライスの方向にプログラムで縮小して少し縮小し、スナップを示すアニメーションを再生し続けます。最後にアニメーションをフリーズします。

もう少しダイナミクスについては、物理エンジンのジョイントを使用して2つのスライスにクワッドをアタッチできます。

ハードウェイ

ソフトボディ物理エンジンを使用するか、それを記述します。スライス間の布部分を定義し、チーズでテクスチャリングします。物理エンジンがマテリアルのストレッチとスナップのダイナミクスをモデル化できるようにします。

これははるかに集中的ですが、より一般的に適用可能な方法です。また、非常に制御しにくいかもしれませんが、全体的に説得力のある効果になる可能性があります。


3
私は完全に最初のアプローチを提案します。
ジョッキング14年

6
あなたは物理エンジンを書いて、いくつかの...誤る...ヶ月を費やす前に、最低でも、...(あなたが簡単に複数のクワッドを使用することができます)最初のアプローチをしようと数時間を過ごす
corsiKa

3
結果を見るのはとてもお腹が空いています!完了したら更新してください。
ジョンモーゼズ14年

2
しばらくの間、私は「ソフトボディチーズエンジンを使用する」と読んで、何でもエンジンを書くと思いました。
トーマス14年

2
Unityには、ストレッチと引き裂きをサポートするクロス物理エンジンが組み込まれているため、難しい方法はそれほど難しくないかもしれません。ただし、計算コストは​​はるかに高くなります。
イーサンウォーリー14年

2

プリセットアニメーションの使用:

そのため、Maya / Blenderのような3Dモデリングソフトウェアでプリセットアニメーションを作成します。これには、ピザの引き裂きをシミュレートするのに適したソフトボディや布などの機能があります。ピザテクスチャとモデルアニメーションの両方をUnityにエクスポートします(おそらく.objモデルのセットまたはそのようなものとして)。

モデルアニメーションは、多数の三角形を使用してチーズが引き伸ばされて引き裂かれていることを表します。三角形は、トライメッシュのセットとしてUnityにロードできます。それらは多くのメッシュ状態のコレクションであり、それぞれが異なるストレッチ位置でのチーズピザを表します。ユーザーがピザのスライスを配置する場所に基づいて、その「メッシュ状態」にジャンプし、それらの三角形を表示します。

もちろん、いくつかの問題があります。ユーザーの操作は少し制限されています。チーズがすでに少し引き裂かれている場合、そのチーズの領域について「元の状態」に戻ることはできません。プリセットアニメーションがスライス1を削除してから2を削除すると、ユーザーはスライスをこの順序で強制的に削除します。エクスポートされるデータのサイズは、メッシュの粒度とティアリングアニメーションの持続時間に基づいて、かなり大きくなる可能性があります。

しかし、モデルアーティストがプリセットアニメーションを作成する際に良い仕事をすれば、非常にリアルに見えます。また、ソフトボディシミュレータを実装する必要はありません。

Unityの使用:

ただし、Unityが独自のスキンクロスコンポーネントとインタラクティブクロスコンポーネントを実装することに興味がある場合に備えてください。インタラクティブクロスは引き裂きをサポートします。しかし、それらのサポートはごく少数のプラットフォームに制限されています、最後にチェックしました。

あなたを使用して:

最終的には、いつでも独自のソフトボディシミュレータを実装できます。これは非常に人気のある研究論文のサンプルです。とても楽しいです:)。がんばろう。


1

@originalDaemonの答えは良いです!可能性のある中間的な方法があると思います最初のアプローチよりも良い結果得があり、合理的な労力を要する(「ハードウェイ」アプローチとは異なります)。

私が提案しているのは、あまりにも実際にチーズの「ウェブ」をモデル化したもので、私にとってはstal乳石によく似ています。伸縮性のあるチーズを数個作ります。おいしさの三角形の端にそれらをランダムに配置し、それらを0にスケーリングします。y-axis三角形がその仲間から削除されたら、y軸でゆっくりとスケーリングして必要なサイズに戻します。

代わりに別の軸を選択する必要がある場合があります y三角形を少し引き離す場合、。いずれにせよ、平らなテクスチャははるかに簡単で費用対効果が高いと思いますが、チーズをモデル化すると、テクスチャも機能するかもしれませんが、クローズアップにより現実的になる可能性があります。テクスチャを選択する場合は、複数のレイヤーを使用してよりリアルな感触を得ることができます。また、ショットのピザの辛さを強調するために、少しスチームを追加することを忘れないでください。

もう一つ気づいたのは、ペパロニはただのテクスチャーであるように見えることです。私はそれをモデル化するか、既存のモデルにその領域の詳細を追加することを明確に検討します。伸縮性のあるチーズと一緒に滑り込ませて、さらにリアルに仕上げることができます。

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