3Dオブジェクトを3.jsで溶かす方法

Sep 11, 2025
操作方法

私たちが知っているようにウェブは常に変化して進化しています。私たちが数年前にシンプルで簡単な媒体として覚えていることを覚えていること、そしてそれがそこに止まるつもりは見えないように見えません。のために ウェブサイトビルダー 、Science-Fiction-Fiction-Fiction-Fiction-Fiction-Fiction-Fiction-Fiction-Fiction-Fight Effectsの一部が今や可能になりました。

3.jsでリアルな溶融効果を作成する方法を調べるには、以下の手順に従ってください。

01. 3.jsシーンを設定します

先に進んで3.jsライブラリをつかみ、それをあなたのサイトに含めます。 WebGlRenderer、SceneとPerspeccepeCameraをインスタンス化する必要があります。これらがインスタンス化された後は、シーンをレンダリングする必要があります。 requestAnimationFrame.

02.シーンに照明を追加します

次に、3Dシーンにライトを追加する必要があります。この例では、周囲光と点光の2つの光が使用されます。周囲光はシーンの全体的なグローバルカラーとして機能し、点灯は距離で減少する光を放出する。これにより、シーンはいくつかのコントラストを与えます。

 var ambientlight = new three.ambientlight(0xcccccccc);
SCENE.ADD(アンビエントライト);
var pointlight = new three.pointlight(0xFFFFFF、1);
Pointlight.Position.Set(10,5,0); 

03. 3Dモデルをロードします

シーンが設定されているので、3Dモデルをロードする必要があります。モデルは、サポートされている形式(JSON、OBJ、DAEなど)を使用してロードできます。以下はDAEモデルをロードする例です。この例では、モデルに頂点の変更を実行するのに十分なポリゴンがあることが非常に重要です。

この例で使用されている鹿の頭蓋骨には3,500のポリスがあります。ポリカウントが低すぎると、頂点アニメーションは明示的で歪んでいきます。

 Loader = new 3.Colladaloader();
Loader.load( 'dae / deer_skull / deer_skull.dae'、onloadcompletehandler); 

04.バンプマップを追加します

バンプマップはあなたのテクスチャに低コストで深さを追加するのに最適です。バンプマップイメージを作成したら、それを以下のように素材に適用するだけで実装できます。また、モデルのスケールに合うようにバンプマップのスケールを調整する必要があります。

 MATERY.BUMPMAP = 'IMG / DEER_SKULL / DEER-BUMP.JPG';
材料。バンプスケール= .008; 

05.頂点アニメーターを使用してください

彼のサイトを通して、Johnnyは3.jsのためのJerome Etienneによってゲーム拡張を利用しています。これにより、頂点アニメーションを簡単にします。この拡張機能により、フレームレートでモデルの各頂点に簡単にアクセスでき、波形を使用して頂点を操作することが簡単になります。

the 頂点アニメーション拡張 EtienneのGithubを介して入手可能です。次の手順でどのように使用されているかにさらに進みます。

Users can interact with the 3D model and view from multiple angles

ユーザーは3Dモデルと複数の角度からのビューと対話できます

06.融解を開始します

幾何学的形状を溶かすことはいくつかの全体的なステップを含む。まず、各点は継続的に下に押し上げられます。点が地面に達すると、「プッシュベクトル」と呼ぶものを使って外側に押し上げられています。

次に、溶融したジオメトリが完全に平らではないので、底部に沿って集まるポイントを与えます。これを達成するために、JohnnyはHoudiniのSKEEL LEEのVFXシェーダからコードを移植し、修正しました。

07.頂点を下に動かします

以下は、頂点アニメーターを使用してモデルのジオメトリをグランドに向かって継続的に押すための使用例です。

 var vertexanimation = new threex.vertexanimation(ジオメトリ、関数(起点、デルタ、現在){Position.y  -  = MeltaMount * ModelHeight;} 

これは、で定義されたレートでポイントを押し下げるでしょう。 メルタマウント 。レンダリングサイクルの頂点アニメーションで「更新」を呼び出すことを忘れないでください。

08.プッシュベクトルを決定します

点が地面に達したとき、それは溶融効果を達成するためにそれを外側に押す必要があります。以下のコードは、X軸とZ軸内のどの方向を押して頂点を押して均一な変位を得ることです。条件付きは、モデル(地面)の最下の範囲に達した点のみを確実に押し上げます。

if(position.y< bbox.min.y){
  var centroid = bbox.max.clone()。追加(bbox.min.clone())。Dividescalar(2.0);
PushVector = Position.clone()。サブ(重心);
pushvector.y = 0; 

09.溶融物を自然に感じるようにする

以下のコードはノイズを使用して動きのランダム性を作り出すので、溶融物は有機感を感じます。ノイズ変数は、必要な効果を得るために微調整することができます。次にノイズがプッシュベクトルに加えられます。 メルタマウント そして スプレッドマウント 溶融したプールの速度とサイズを制御する。この外側ベクトルは最終的に計算され、次に頂点自体に適用されます。

 var n = NoiseApplitude * Generator.getVal((position.x)* NoisefRequency + NoiseOffset);
VAR OutwardVector = PushVector.MultiplyScalar(((MeltaMount * SpredAmount)+ N)*外向速度;
Position.Add(外向きベジカ)

10.溶けたプールの厚さを与えます

これまで説明したコードはメルト効果を達成するでしょうが、それには2つのことが間違っています。まず、すべての点が同じY位置に溶けたため、プールはかなり平らに感じるでしょう。第二に、それらはすべて同じyを共有するので、あまりにも多くの点が同じ高さで積み重ねられ、それはちらつきを引き起こす可能性があります。これを回避するために、厚さは溶融速度で適用されます。

 Position.y + = MeltaMount * PoolThickness 

11.他のモデルで試してみてください

上記のコードでは、十分なポリゴンを持つモデルを溶かします。コードをzipファイルをダウンロードしてください ここに そしてあなたが好きなものでモデルを交換してください。楽しむ!

この記事は最初に登場しました ウェブデザイナー 発行265.それを購入する ここに

関連記事:

  • 3.jsでインタラクティブな3Dビジュアルを作成します
  • Webデザイナーのための最高のカラーツール
  • Webデザインの最先端に注意してください

操作方法 - 最も人気のある記事

Amazon Prime Day 2020を回避する方法

操作方法 Sep 11, 2025

(イメージクレジット:Amazon) まだ正確な日付を知らないが アマゾンプライム�..


Adob​​e Illustratorでの視点を作成する

操作方法 Sep 11, 2025

ページ1/2: イラストレーターの視点グリッドを使用する:ステップ01-09 ..


様式化されたゲームアートワークを作成する方法

操作方法 Sep 11, 2025

一人称サバイバルビデオゲームのアートスタイル 長い暗い 捕捉が困難になる可能性�..


ページのパフォーマンスを向上させるための4つのヒント

操作方法 Sep 11, 2025

Web Performance Analyst Henri Helvetica. あなたのサイトのパフォーマンスを..


あなたの芸術の品質デジタルコピーを作成する

操作方法 Sep 11, 2025

芸術は作成するだけではありません、それは共有についてもあります。あなたが誇りに思っている美しい仕事をしたら、他の人にも会うこと�..


Unreal Engine 4でゲーム環境を作成する

操作方法 Sep 11, 2025

私のUnreal Engine 4プロジェクトを使用して最後の停止を例として、ビデオゲームの生産のためのリ..


WordPressのWebサイトの多言語を作る方法

操作方法 Sep 11, 2025

インターネットで使用されている上位10の言語、英語 第1位 また、約9億5000万人のユ�..


クロスデバイス最適化のための15のヒント

操作方法 Sep 11, 2025

すべての機器の設計! AnnaDahlström. の重要性について話します ..


カテゴリ