3D ビューポートでの視覚効果の適用

導入

3D シーンの視覚的な魅力を高めることは、没入型エクスペリエンスを作成する上で重要な側面です。 Aspose.3D for .NET は、3D ビューポートに視覚効果を適用するための強力なツール セットを提供します。このチュートリアルでは、ピクセレーション、グレースケール、エッジ検出、ブラーなどのさまざまな効果を 3D シーンに適用するプロセスを順を追って説明します。

前提条件

チュートリアルに入る前に、次のものが揃っていることを確認してください。

  • C# および .NET 開発の実践的な知識。
  • Aspose.3D for .NET ライブラリがインストールされています。からダウンロードできます ここ .
  • 実験用の 3D シーン ファイル (「scene.obj」など)。

名前空間のインポート

まず、Aspose.3D およびその他の依存関係に必要な名前空間をインポートします。コードに次の行を追加します。

using System;
using System.IO;
using System.Collections;
using Aspose.ThreeD;
using System.Drawing;
using System.Drawing.Imaging;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Render;
using Aspose.ThreeD.Utilities;

ステップ 1: 既存の 3D シーンをロードする

Scene scene = new Scene(RunExamples.GetDataFilePath("scene.obj"));

を使用して 3D シーンをロードします。Sceneクラス。

ステップ 2: カメラを作成する

Camera camera = new Camera();
scene.RootNode.CreateChildNode("camera", camera).Transform.Translation = new Vector3(2, 44, 66);
camera.LookAt = new Vector3(50, 12, 0);

カメラ インスタンスを作成し、その位置とターゲットを設定します。

ステップ 3: シーンに光を追加する

scene.RootNode.CreateChildNode("light", new Light() { Color = new Vector3(Color.White), LightType = LightType.Point }).Transform.Translation = new Vector3(26, 57, 43);

視覚効果を高めるために照明を導入します。

ステップ 4: レンダラーとレンダー ターゲットを作成する

using (var renderer = Renderer.CreateRenderer())
{
    //レンダラ設定を構成する
    renderer.EnableShadows = false;

    //レンダーターゲットを作成する
    using (IRenderTexture rt = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(), 1, 1024, 1024))
    {
        //ビューポートの構成
        Viewport vp = rt.CreateViewport(camera, new RelativeRectangle() { ScaleWidth = 1, ScaleHeight = 1 });

        //シーンをテクスチャにレンダリングする
        renderer.Render(rt);

        //レンダリングされたテクスチャをファイルに保存する
        ((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "Original_viewport_out.png", ImageFormat.Png);

        //後処理エフェクトを続行します...
    }
}

シーンをキャプチャするためのレンダラーとレンダー ターゲットを作成します。

ステップ 5: 後処理エフェクトを適用する

ステップ 5.1 ピクセル化効果

//ピクセル化効果を作成する
PostProcessing pixelation = renderer.GetPostProcessing("pixelation");
renderer.PostProcessings.Add(pixelation);
renderer.Render(rt);
((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "VisualEffect_pixelation_out.png", ImageFormat.Png);

ピクセル化効果を適用し、結果を保存します。

ステップ 5.2 グレースケール効果

//グレースケール効果を作成する
PostProcessing grayscale = renderer.GetPostProcessing("grayscale");
renderer.PostProcessings.Clear();
renderer.PostProcessings.Add(grayscale);
renderer.Render(rt);
((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "VisualEffect_grayscale_out.png", ImageFormat.Png);

グレースケール効果を適用し、結果を保存します。

ステップ 5.3 エフェクトを結合する

//グレースケール効果とピクセル化効果を組み合わせる
renderer.PostProcessings.Clear();
renderer.PostProcessings.Add(grayscale);
renderer.PostProcessings.Add(pixelation);
renderer.Render(rt);
((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "VisualEffect_grayscale+pixelation_out.png", ImageFormat.Png);

複数のエフェクトを組み合わせてユニークな結果を生み出します。

ステップ 5.4 エッジ検出効果

//エッジ検出効果の作成
PostProcessing edgedetection = renderer.GetPostProcessing("edge-detection");
renderer.PostProcessings.Clear();
renderer.PostProcessings.Add(edgedetection);
renderer.Render(rt);
((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "VisualEffect_edgedetection_out.png", ImageFormat.Png);

エッジ検出効果を適用し、結果を保存します。

ステップ5.5 ぼかし効果

//ぼかし効果を作成する
PostProcessing blur = renderer.GetPostProcessing("blur");
renderer.PostProcessings.Clear();
renderer.PostProcessings.Add(blur);
renderer.Render(rt);
((ITexture2D)rt.Targets[0]).Save("Your Output Directory" + "VisualEffect_blur_out.png", ImageFormat.Png);

ぼかし効果を適用し、結果を保存します。

結論

3D ビューポートで視覚効果を実験すると、シーンに深みと創造性が加わります。 Aspose.3D for .NET はこのプロセスを簡素化し、プロジェクトを向上させるさまざまな後処理効果を提供します。

よくある質問

Q1: 複数のエフェクトを同時に適用できますか?

A1: はい、さまざまな後処理エフェクトを組み合わせて、ユニークで複雑な結果を得ることができます。

Q2: 視覚効果の強度を調整するにはどうすればよいですか?

A2: 各エフェクトには、その強度を制御するために調整できるパラメータがある場合があります。具体的な詳細については、ドキュメントを参照してください。

Q3: Aspose.3D はゲーム開発に適していますか?

A3: Aspose.3D は主に 3D モデリングとレンダリング用に設計されていますが、ゲーム開発の特定の側面でも使用できます。

Q4: 追加の後処理エフェクトは利用できますか?

A4: Aspose.3D にはさまざまな組み込みの後処理エフェクトが用意されており、ライブラリを使用してカスタム エフェクトを作成できます。

Q5: Aspose.3D を商用プロジェクトに使用できますか?

A5: はい、Aspose.3D は商用目的で使用できます。を参照してください。 購入ページ ライセンスの詳細については、