STREGAsGate / GateEngine

Swift Game Engine supporting Windows, Linux, macOS, HTML5, and more 🚂
Apache License 2.0
280 stars 6 forks source link

FBX Geometry Importer #44

Open STREGA opened 9 months ago

STREGA commented 9 months ago

Create a new GeometryImporter for FBX files. This is a moderate difficulty issue. If you have no experience working with geometry data there will be a learning curve.

Use the uFBX module which is already a part of GateEngine. import uFBX

Name this new importer FBXImporter.

Add your loader to the geometry importers here. This is where built-in importers are located.

Use only GateEngine APIs for data loading, do not use any file APIs included in the uFBX module. See the OBJ loader as an example of how a geometry importer works.

Use Blender to create an FBX file to test with. It can simply be the default cube or whatever you wish.

Create an executable package to test with. It would be easy to copy the RotatingCube code to your test package and replace the cube with your fbx test file.

Xcode Tip: In Xcode if your project package and the GateEngine package exist in the same xcworkspace document, then it will build with that local copy of GateEngine as you make changes. Make a new workspace in Xcode then open your package in Xcode, and drag the package icon into the workspace. Repeat for your GateEngine fork. Dragging the Package.swift file does not work, you need to open it then drag the package icon in the project navigator.