個人財務 Javaプログラミング:3D-ダミーのオブジェクトの追加、アニメーション、ライトアップ

Javaプログラミング:3D-ダミーのオブジェクトの追加、アニメーション、ライトアップ

目次:

ビデオ: Google I/O Extended: Recap Live Japan 2019 #RecapLiveJP 2025

ビデオ: Google I/O Extended: Recap Live Japan 2019 #RecapLiveJP 2025
Anonim

JavaFXでは仮想3D世界の作成が以前より簡単になりました。この例では、JavaFXプログラムに球体を追加し、アニメーション化して光源を追加する方法を学習します。

ステップ1:球を追加する

まず、Sphereクラスで表される球を追加します。 Sphereコンストラクタは、球の半径を指定する単一のパラメータを受け入れます。たとえば、これらの線は半径が100の球を作成し、それを平行移動して仮想世界の中心点から外します。

<! - 1 - >
球球=新しい球(100)。球。 setTranslateX(-180);球。 setTranslateY(-100);球。 setTranslateZ(100);ルート。 getChildren()追加(球);

球体に同じ青色のPhong材質を適用するのではなく、もっと面白いことをすることができます:このコードを使って、地球の円柱投影の画像から構築したPhong材質を適用します:

Image earthImage = new Image "file:earth。jpg"); PhongMaterial earthPhong =新しいPhongMaterial(); earthPhong。 setDiffuseMap(earthImage);球。 setMaterial(earthPhong);

この図は、結果として得られる球を示しています。

<! - 2 - >

土の円筒投影がフォン材として適用された球。

このテクニックを使用して、球(またはその他の3Dオブジェクト)の周りの画像をラップすることができます。また、このプログラムの画像をWikipediaから入手することもできます。 Behrmann Projection を検索し、ファイルをダウンロードするだけです。 (Windowsペイントを使用すると、画像のエッジを少しだけ切り抜くことができます。これは、ウィキペディアで利用可能な画像のエッジが少ししかないためです。)

<! - 3 - >

ステップ2:オブジェクトをアニメ化する

Whew! 3D仮想世界には、地球のように見える球体があります。この時点で他のオブジェクトを追加することもできます。

このステップでは、すべてのオブジェクトにアニメーションを追加して回転させます。各オブジェクトは単純なRotationTransitionアニメーションを取得します。最初に、球:

RotateTransition rt4 = new RotateTransition(); rt4。 setNode(球); rt4。 setDuration(Duration。ミリ秒(9000)); rt4。 setAxis(Rotate。Y_AXIS); rt4。 setByAngle(360); rt4。 setCycleCount(アニメーション.INEFINITE); rt4。 setInterpolator(インターポレータ.LINEAR); rt4。遊びます(); playメソッドが呼び出されると、球は回転を開始し、3秒ごとにz軸を中心に1回転します。

球がy軸を中心に回転し、世界が回転しているような印象を与えます。球の場合、速度は10秒ごとに1回転に設定されます。

ステップ3:光源を追加する

この3Dプログラミングの世界への最後のステップは、光源を追加することです。光源は、ここに示すように、シーンの外観全体を変更します。

光源を追加するには、次のコードを使用します。

あなたの3D世界には光源があります。

PointLightライト=新しいPointLight(カラー。ホワイト);光。 setTranslateX(-1000);光。 setTranslateY(100);光。 setTranslateZ(-1000);ルート。 getChildren()光を加える。
PointLightクラスは、シーンの特定の点から発生し、指定された色の光を投影する光源を定義します(この場合は、古い白色です)。照明効果を作成するには、座標1、000を左に、100を下に、1000単位をユーザーに向けて変換して、光を再配置します。その結果、回転する物体の裏側に良い影ができます。
Javaプログラミング:3D-ダミーのオブジェクトの追加、アニメーション、ライトアップ

エディタの選択

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

Objective-Cでは、作成していないクラスであっても、iOSアプリケーションの既存のクラスに独自のメソッドを追加できます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション...

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーション開発の既存クラスにメソッドを追加する方法 - ダミー

IOSアプリケーションの開発では、Objective-Cを使用すると、自分が作成していないクラスであっても、既存のクラスに独自のメソッドを追加することができます。クラスにメソッドを追加することは、特定の状況でのみ新しい動作が使用される場合に便利です。たとえば、特定のアプリケーション(たとえば、...

In App Purchase機能がiPadアプリで動作する仕組み

In App Purchase機能がiPadアプリで動作する仕組み

Apple App App Purchase機能を提供します。これにより、アプリユーザーはアプリ内から仮想アイテムを直接購入することができます。複数のレベルや環境、または仮想プロパティを持つゲームアプリケーションを開発する場合は、アプリケーションにIn App Purchase機能を追加して、レベル、環境、またはプロパティをさらに販売することを検討してください。 App Purchaseで...

エディタの選択

効果的なホームビジネスWebサイトを作成する方法 - ダミー

効果的なホームビジネスWebサイトを作成する方法 - ダミー

素晴らしいかもしれませんが、製品やサービスをさらに販売するのに役立たない場合は、時間とお金の無駄です。自宅のビジネスにとって本物の資産であるWebサイトを構築するための、実証済みの方法をいくつか試してみましょう。難しいことではありません...

マスターCSSファイルを作成する方法 - ダミー

マスターCSSファイルを作成する方法 - ダミー

多くのデザイナーがマスターHTMLコードのCSSファイルを作成し、個々のサイトのニーズに合わせて、最初からウェブサイトを構築するプロセスをスピードアップします。あなたがより多くのウェブサイトを構築するにつれて、いくつかのスタイルは標準的なデザインプラクティスの標準的な部分になります。 ...

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

MSN adCenterのウェブマーケティングキャンペーンのアカウントを作成する方法 - ダミー

Bing検索結果と並んでクリック単価(PPC)広告はMSN adCenterを通じて提供されます。 adCenterを使用して、Webマーケティングのニーズに合わせてアカウントとキャンペーンを作成できます。 Microsoftは、Bing Travel、adCenter Desktopなどのプログラムを追加することで、PPCサービスのインターフェース、ツール、検索品質、およびボリュームを向上させるために歩み続けています。...

エディタの選択

地中海ダイエットレシピ:フルーツサラダ - ダミー

地中海ダイエットレシピ:フルーツサラダ - ダミー

果実は地中海で豊富に生育し、地中海沿岸に沿って、アメリカ人より一般的に果実を多く食べるため、地中海の高レベルの疾病予防に貢献しています。あなたの次の食事やパーティーのために健康的なサイドディッシュのフルーツサラダを作るには、いくつかの方法があります。果物は地中海で豊富に生育し、地中海沿岸に住む人々は一般にアメリカ人よりも多くの果実を食べるため、地中海の高レベルの疾病予防に寄与します。

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

地中海料理ダイスレシピ:クラシックジャイロとピタ - ダミー

ジャイロとピタサンドイッチは一般的なカジュアルな食品です地中海でピザや他の地中海のサンドイッチと同じように、今日はピタサンドイッチとジャイロのさまざまなバージョンが存在します。ピタスは蒸気で作られた中央のポーチ付きの丸いパンです。