Aspose.3D for .NET を使用した魚眼レンズ効果の適用
導入
3D シーンの視覚的な魅力を強化したいと考えていますか? Aspose.3D for .NET を使用して、魚眼レンズ エフェクトの魅力的な世界に飛び込んでください。このチュートリアルでは、3D シーンに魚眼レンズ エフェクトを適用して、ユニークで魅力的な視点を与える方法を段階的に説明します。
前提条件
始める前に、次の前提条件が満たされていることを確認してください。
- Aspose.3D for .NET: .NET 用の Aspose.3D ライブラリがインストールされていることを確認します。そうでない場合は、ダウンロードできます ここ .
- サンプル 3D シーン: サンプル 3D シーン ファイル (VirtualCity.glb) を使用して作業します。独自のシーンを使用するか、からサンプルをダウンロードできます。 Aspose.3D ドキュメント .
名前空間のインポート
.NET プロジェクトに、Aspose.3D 機能にアクセスするために必要な名前空間を含めます。コードの先頭に次の名前空間を追加します。
using Aspose.ThreeD;
using Aspose.ThreeD.Entities;
using Aspose.ThreeD.Render;
using Aspose.ThreeD.Utilities;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;
using System.Linq;
using System.Text;
ステップ 1: 3D シーンをロードする
次のコードを使用して、3D シーン ファイルをプロジェクトにロードします。
Scene scene = new Scene(RunExamples.GetDataFilePath("VirtualCity.glb"));
ステップ 2: カメラとライトをセットアップする
カメラとライトを作成して、シーンの視覚的な側面を強化します。必要に応じて、NearPlane、FarPlane、RotationMode などのパラメータを調整します。
Camera cam = new Camera(ProjectionType.Perspective)
{
NearPlane = 0.1,
FarPlane = 200,
RotationMode = RotationMode.FixedDirection
};
scene.RootNode.CreateChildNode(cam).Transform.Translation = new Vector3(5, 6, 0);
scene.RootNode.CreateChildNode(new Light() { LightType = LightType.Point }).Transform.Translation = new Vector3(-10, 7, -10);
scene.RootNode.CreateChildNode(new Light() { Color = new Vector3(Color.CadetBlue) }).Transform.Translation = new Vector3(49, 0, 49);
ステップ 3: レンダラーとレンダー ターゲットを作成する
レンダラーを設定し、キューブ マップと 2D テクスチャのレンダー ターゲットを作成します。
using (var renderer = Renderer.CreateRenderer())
{
IRenderTexture rt = renderer.RenderFactory.CreateCubeRenderTexture(new RenderParameters(false), 512, 512);
IRenderTexture final = renderer.RenderFactory.CreateRenderTexture(new RenderParameters(false, 32, 0, 0), 1024, 1024);
rt.CreateViewport(cam, RelativeRectangle.FromScale(0, 0, 1, 1));
renderer.Render(rt);
ステップ 4: 魚眼レンズ効果を適用する
レンダリングされたキューブ マップに対して魚眼レンズ エフェクトの後処理を実行します。
PostProcessing fisheye = renderer.GetPostProcessing("fisheye");
fisheye.FindProperty("fov").Value = 360.0;
fisheye.Input = rt.Targets[0];
renderer.Execute(fisheye, final);
((ITexture2D)final.Targets[0]).Save("Your Output Directory" + "fisheye.png", ImageFormat.Png);
結論
おめでとう! Aspose.3D for .NET を使用して、魚眼レンズ エフェクトを 3D シーンに適用することに成功しました。創造性を発揮するために、さまざまなシーンやパラメータを試してください。
よくある質問
魚眼効果を任意の 3D シーンに適用できますか?
はい、魚眼効果はどの 3D シーンにも適用できます。最適な結果を得るには、シーンが適切にロードされ、照明されていることを確認してください。
視野角 (fov) を 360 度に調整する意味は何ですか?
360 度の視野により完全な球状投影が保証され、見事な魚眼効果が得られます。
3D シーンの照明をカスタマイズするにはどうすればよいですか?
位置、タイプ、色などのライトのプロパティを調整して、目的の照明効果を実現できます。
処理できる 3D シーンのサイズに制限はありますか?
3D シーンのサイズは主にシステム リソースによって制限されます。ハードウェアがシーンのサイズを処理できることを確認してください。
魚眼効果の結果に PNG の代わりに別の出力形式を使用できますか?
はい、コードを変更して、要件に基づいて出力をさまざまな画像形式で保存できます。