搜尋套件、儲存庫與 APP 分類

套件詳情v12.0.7

util_simple_3d

Sp3dObj 的實用工具。包含 3D 幾何產生工具及其他功能。

AndroidiOSWebmacOSWindowsLinux
近 30 天下載
175
喜歡數
28
Pub 分數
160

安裝套件

flutter pub add util_simple_3d

套件介紹

根據套件公開資料產生的選型評估,僅供參考。

一個用於 Sp3dObj 的實用程式套件,提供產生 3D 幾何與支援 3D 操作的工具。旨在簡化在 Flutter 應用中建立和操作 3D 模型的過程。為在 Android、iOS、Web、macOS、Windows 與 Linux 上開發跨平台 3D 經驗的開發者提供基礎工具。該套件透過提供可重複使用的幾何函數與輔助方法,增強了與 3D 渲染工作流程的整合。

適用情境

  • 透過程式設計建立3D模型
  • 在Flutter應用中整合3D資產
  • 建構互動式3D介面
  • 支援跨平台3D渲染
  • 簡化幾何生成
  • 增強3D可視化工作流程

主要特色

  • 3D幾何生成工具
  • 跨平台3D支援
  • 與 Sp3dObj 的整合
  • 可重複使用的幾何積木
  • 輕巧且專注的設計
  • 開源程式碼庫

適合對象

  • Flutter 開發人員在進行 3D 項目
  • 需要動態3D內容的應用程式
  • 原型設計3D可視化
  • 教育或實驗性3D應用
  • 使用 Sp3dObj 的開發人員
  • 面向多個平台的 Teams

使用建議

  • 需要熟悉3D概念
  • 僅限幾何生成任務
  • 依賴 Sp3dObj 才能實現完整功能
  • 不適用於複雜的3D場景管理
  • 最適合簡單到中等的3D需求
  • 無內建動畫或物理支援

原始 README

以下為關聯原始碼儲存庫的 README 原文快照,最新內容請造訪原始碼儲存庫。

util_simple_3d

(en)Japanese ver is here.
(ja)日本語版はここにあります。

Overview

This package is a set of utilities for Sp3dObj (simple_3d package). It currently includes utilities that make it easy to generate geometry and a simple set of materials.

simple_3d package

Usage

Create Geometry
import 'package:simple_3d/simple_3d.dart';
import 'package:util_simple_3d/util_simple_3d.dart';

Sp3dObj obj = UtilSp3dGeometry.capsule(50, 250);
Use Default Material
import 'package:simple_3d/simple_3d.dart';
import 'package:util_simple_3d/util_simple_3d.dart';

Sp3dObj obj = UtilSp3dGeometry.cube(200,200,200,4,4,4);
obj.materials.add(FSp3dMaterial.green.deepCopy());
obj.fragments[0].faces[0].materialIndex=1;

Geometry type

Tile
Sp3dObj obj = UtilSp3dGeometry.tile(200, 200, 4, 4);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);

Tile

Cube
Sp3dObj obj = UtilSp3dGeometry.cube(200,200,200,4,4,4);
obj.materials.add(FSp3dMaterial.green.deepCopy());
obj.fragments[0].faces[0].materialIndex=1;
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 0, 255);
obj.rotate(Sp3dV3D(1,1,0).nor(), 30*3.14/180);

Cube

Circle
Sp3dObj obj = UtilSp3dGeometry.circle(100, fragments: 20);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);

Circle

Cone
Sp3dObj obj = UtilSp3dGeometry.cone(100, 200);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);
obj.rotate(Sp3dV3D(1, 0, 0), -100*3.14/180);
obj.move(Sp3dV3D(0, -100, 0));

Cone

Pillar
Sp3dObj obj = UtilSp3dGeometry.pillar(50, 50, 200);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);
obj.rotate(Sp3dV3D(1, 0, 0), -120*3.14/180);
obj.move(Sp3dV3D(0, -100, 0));

Pillar

Sphere
Sp3dObj obj = UtilSp3dGeometry.sphere(100);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);

Sphere

Capsule
Sp3dObj obj = UtilSp3dGeometry.capsule(50,200);
obj.materials[0] = FSp3dMaterial.grey.deepCopy()..strokeColor=Color.fromARGB(255, 0, 255, 0);
obj.move(Sp3dV3D(0, 100, 0));

Capsule

Wire frame
Sp3dObj obj = UtilSp3dGeometry.cube(200,200,200,4,4,4);
obj.materials.add(FSp3dMaterial.greenWire.deepCopy());
obj.fragments[0].faces[0].materialIndex = 1;
obj.materials[0] = FSp3dMaterial.blueWire.deepCopy();
obj.rotate(Sp3dV3D(-0.2,0.5,0).nor(), 15*3.14/180);

Wire frame

Common parts

Coordinate arrows and mesh creation
List<Sp3dObj> objs = UtilSp3dCommonParts.coordinateArrows(255);
objs.addAll(UtilSp3dCommonParts.worldMeshes(255));

Coordinate arrows and world meshes

Support

If you need paid support for any reason, please contact my company.
This package is developed by me personally, but may be supported via the company.
SimpleAppli Inc.

About future development

Some geometry may be added in the future.

About Naming rule in this package

Utilities are prefixed with "Util".
Static field definition files are prefixed with "F".
These are set up for easy calling from the IDE.

About version control

The C part will be changed at the time of version upgrade.

  • Changes such as adding variables, structure change that cause problems when reading previous files.
    • C.X.X
  • Adding methods, etc.
    • X.C.X
  • Minor changes and bug fixes.
    • X.X.C

License

This software is released under the MIT License, see LICENSE file.

Trademarks

  • “Dart” and “Flutter” are trademarks of Google LLC.
    This package is not developed or endorsed by Google LLC.

所屬分類

依賴

依賴清單 1 項

原始碼儲存庫

使用此套件的專案