Jump to content

FBX Importer...


Pryme8
 Share

Recommended Posts

Who wants it...  If I have enough time to get at it today after my work Ill get at this...  I already am parsing fbx's into my own file type so to get it over into BJS will be no problem.  


how do you guys want it?  I can make it work right in BJS as an extension or I can do a secondary tool that you could just convert FBX's to .babylon files.  Yall's choice, Im over OBJ format.

Its not going to have everything at first (tags and bones you will have to wait for) but materials and mesh data no problem.

Link to comment
Share on other sites

Hello!

I know that @ProfessorF is also working on a FBX loader

Whoever implements it need only to create a loader like the ones fro gltf or obj:

https://github.com/BabylonJS/Babylon.js/tree/master/loaders

 

By the way I really appreciate that you take time to do this. It's gonna be a huge addition to our framework 

Link to comment
Share on other sites

On 06/12/2016 at 5:27 PM, Pryme8 said:

Who wants it...  If I have enough time to get at it today after my work Ill get at this...  I already am parsing fbx's into my own file type so to get it over into BJS will be no problem.  


how do you guys want it?  I can make it work right in BJS as an extension or I can do a secondary tool that you could just convert FBX's to .babylon files.  Yall's choice, Im over OBJ format.

Its not going to have everything at first (tags and bones you will have to wait for) but materials and mesh data no problem.

 

thank you, Pryme8

looking forward for the FBX Loader!

 

Link to comment
Share on other sites

42 minutes ago, Pryme8 said:

Definitely gonna need some coffee first...

@Pryme8 :well you might need a few pots of that coffee Pryme :o

My recent experience with FBX and Blender is mixed. It imports the FBX in from binary format files - but exports them as ASCI. However, there seems to be different versions of the binary format - see image below.

The model used for A data - won't load into Blender.

The model used for B data - will load into Blender.

So be careful :unsure:

cheers, gryff :)

 

fbx_versions1.png

Link to comment
Share on other sites

Im going to focus on ASCII for right now, and FBX's exported from c4d in the 2016 format.

Also The first steps of this are not going to port right into bjs, your going to need to open a secondary page which I am almost done with to serialize the fbx into my new file type of bjx, where it converts the fbx into JSON and then gives you options to edit all the stuff in real time in the browser with a preview.  Should have the alpha up today for yall, unless I lose inspiration or something... but I got most of the footwork done already in past projects.


As I develop it here I will make extensive comments, and then upload it to git for yall to jump on board and help me break it.

Link to comment
Share on other sites

https://github.com/Pryme8/FBeXport

https://pryme8.github.io/FBeXport/


I need to break it down a little more now... but here is the base, nothing stopping us now.

make sure to check your console, it will output a BJX.DATA object.  the meat and beans are there.


breakdown:

So first the object is created and it verifies that there is a uri component for it to access.  Once it loads that file as text it strips all comment lines out and then splits the whole thing down into an array by line.  Next we ignore lines that are blank.  Then we do some nifty regex to check if the value of that line is an object or a key, once we establish that we check for the the key on the data object and if its not there create it if its a value set it.

Next step is to split down the values of each key because there are some subset items.

Then onto identifying the items that we need like meshs their names, locations all the poly normal material info ect, and start building a new cleanData object that will be in a format that BJS likes.

Load that into a scene preview to validate, then strap on some of my niftey widgets to edit it if you want in browser, then serialize and save out.

So yeah by the end of this weekend if I have time I will be able to wrap this up seeing how I got this far from scratch in like 3 hours.  I gotta get ready for a date with me lady now though!
 

@gryff betedubs, you should drop blender and get c4d ^_^ come to the dark side...

Link to comment
Share on other sites

https://pryme8.github.io/FBeXport/


I had a little time today to start cleaning up the parsing...

Im to the step now that I need to break down the property variables into their own objects now, which should not be hard at all.

Could yall start testing FBX files and posting a screenshot of the output?  It should not go all the way through right now but will give me a good idea of the values I will be passed.

Also if someone could try a binary one that would be cool too, because as soon as I see the error it will drop, ill add a condition to parse it as binary instead of text when the file system loads it.

Link to comment
Share on other sites

3 hours ago, Pryme8 said:

https://pryme8.github.io/FBeXport/


I had a little time today to start cleaning up the parsing...

Im to the step now that I need to break down the property variables into their own objects now, which should not be hard at all.

Could yall start testing FBX files and posting a screenshot of the output?  It should not go all the way through right now but will give me a good idea of the values I will be passed.

Also if someone could try a binary one that would be cool too, because as soon as I see the error it will drop, ill add a condition to parse it as binary instead of text when the file system loads it.

Hi

I am trying to upload this file https://www.dropbox.com/s/qajccuvjxb775cp/ExhibitionHall_01_Rev_1_ascii.fbx?dl=0

But I can see only the message "Loading..." on the screen after uploading the file.

Link to comment
Share on other sites

yeah weird it hangs for me too ill take a look tonight at whats happening.

Oh its just taking a while to process, let it sit for a min.  I will fix the process time here soon.

 

FBXHeaderExtension
FBXHeaderVersion1003
FBXVersion7100
CreationTimeStamp
Version1000
Year2016
Month8
Day15
Hour12
Minute29
Second19
Millisecond0
Creator"FBXSDK/FBXPluginsversion2013.3"
SceneInfo
Type"UserData"
Version100
MetaData
Version100
Title""
Subject""
Author""
Keywords""
Revision""
Comment""
Properties70
P:"DocumentUrl","KString","Url","","D\PoulEngineering\MclennNorge\pRESENTATIONS\FinalPresentation_Norway\Architectural\ExhibitionHall\ExhibitionHall_01_Rev_1_ascii.fbx"
P:"SrcDocumentUrl","KString","Url","","D\PoulEngineering\MclennNorge\pRESENTATIONS\FinalPresentation_Norway\Architectural\ExhibitionHall\ExhibitionHall_01_Rev_1_ascii.fbx"
"Original"""
"Original|ApplicationVendor"""
"Original|ApplicationName"""
"Original|ApplicationVersion"""
"Original|DateTime_GMT"""
"Original|FileName"""
"LastSaved"""
"LastSaved|ApplicationVendor"""
"LastSaved|ApplicationName"""
"LastSaved|ApplicationVersion"""
"LastSaved|DateTime_GMT"""
Link to comment
Share on other sites

I will when I get home.  I have a busy day today.  I've been doing lots of research and I think I'm close to parsing the fbx no matter what format it's in into a Json object.  I just want to make sure I have all the sub properties being identified correctly.

Link to comment
Share on other sites

 

https://pryme8.github.io/FBeXport/

Almost there...  I need to fix the connections, and break down the arrays with the real info for vert and uv stuff... but for the most part this script should break down almost any fbx file into something readable and in JSON... so thats the main part of the battle done... the rest is really just busy work.

 

FBXHeaderExtension
FBXHeaderVersion1003
FBXVersion7500
CreationTimeStamp
Version1000
Year2016
Month12
Day10
Hour10
Minute37
Second9
Millisecond577
Creator"FBXSDK/FBXPluginsversion2016.1.2"
SceneInfo
Type"UserData"
Version100
MetaData
Version100
Title""
Subject""
Author""
Keywords""
Revision""
Comment""
Properties70
"DocumentUrl""H:\FBeXport\Cube.fbx"
"SrcDocumentUrl""H:\FBeXport\Cube.fbx"
"Original"""
"Original|ApplicationVendor"""
"Original|ApplicationName""MAXONCINEMA4DStudio(R17)17.055"
"Original|ApplicationVersion"""
"Original|DateTime_GMT""10/12/201600:00:00.000"
"Original|FileName"""
"LastSaved"""
"LastSaved|ApplicationVendor""MAXON"
"LastSaved|ApplicationName""CINEMA4DR17"
"LastSaved|ApplicationVersion""17.055"
"LastSaved|DateTime_GMT""10/12/201600:00:00.000"
GlobalSettings
Version1000
Properties70
"UpAxis"1
"UpAxisSign"1
"FrontAxis"2
"FrontAxisSign"1
"CoordAxis"0
"CoordAxisSign"1
"OriginalUpAxis"-1
"OriginalUpAxisSign"1
"UnitScaleFactor"1
"OriginalUnitScaleFactor"1
"AmbientColor"0
"DefaultCamera""CINEMA_4D_Editor"
"TimeMode"6
"TimeProtocol"2
"SnapOnFrameMode"0
"TimeSpanStart"0
"TimeSpanStop"46186158000
"CustomFrameRate"-1
"TimeMarker"""
"CurrentTimeMarker"-1
Documents
Count1
Document
Properties70
"SourceObject"""
"ActiveAnimStackName"""
RootNode0
References
Definitions
Version100
Count8
ObjectType
Count1
PropertyTemplate
Properties70
"QuaternionInterpolate"0
"RotationOffset"0
"RotationPivot"0
"ScalingOffset"0
"ScalingPivot"0
"TranslationActive"0
"TranslationMin"0
"TranslationMax"0
"TranslationMinX"0
"TranslationMinY"0
"TranslationMinZ"0
"TranslationMaxX"0
"TranslationMaxY"0
"TranslationMaxZ"0
"RotationOrder"0
"RotationSpaceForLimitOnly"0
"RotationStiffnessX"0
"RotationStiffnessY"0
"RotationStiffnessZ"0
"AxisLen"10
"PreRotation"0
"PostRotation"0
"RotationActive"0
"RotationMin"0
"RotationMax"0
"RotationMinX"0
"RotationMinY"0
"RotationMinZ"0
"RotationMaxX"0
"RotationMaxY"0
"RotationMaxZ"0
"InheritType"0
"ScalingActive"0
"ScalingMin"0
"ScalingMax"1
"ScalingMinX"0
"ScalingMinY"0
"ScalingMinZ"0
"ScalingMaxX"0
"ScalingMaxY"0
"ScalingMaxZ"0
"GeometricTranslation"0
"GeometricRotation"0
"GeometricScaling"1
"MinDampRangeX"0
"MinDampRangeY"0
"MinDampRangeZ"0
"MaxDampRangeX"0
"MaxDampRangeY"0
"MaxDampRangeZ"0
"MinDampStrengthX"0
"MinDampStrengthY"0
"MinDampStrengthZ"0
"MaxDampStrengthX"0
"MaxDampStrengthY"0
"MaxDampStrengthZ"0
"PreferedAngleX"0
"PreferedAngleY"0
"PreferedAngleZ"0
"LookAtProperty"""
"UpVectorProperty"""
"Show"1
"NegativePercentShapeSupport"1
"DefaultAttributeIndex"-1
"Freeze"0
"LODBox"0
"LclTranslation"0
"LclRotation"0
"LclScaling"1
"Visibility"1
"VisibilityInheritance"1
"Color"0.8
"Position"0
"UpVector"0
"InterestPosition"0
"Roll"0
"OpticalCenterX"0
"OpticalCenterY"0
"BackgroundColor"0.63
"TurnTable"0
"DisplayTurnTableIcon"0
"UseMotionBlur"0
"UseRealTimeMotionBlur"1
"MotionBlurIntensity"1
"AspectRatioMode"0
"AspectWidth"320
"AspectHeight"200
"PixelAspectRatio"1
"FilmOffsetX"0
"FilmOffsetY"0
"FilmWidth"0.816
"FilmHeight"0.612
"FilmAspectRatio"1.33333333333333
"FilmSqueezeRatio"1
"FilmFormatIndex"0
"PreScale"1
"FilmTranslateX"0
"FilmTranslateY"0
"FilmRollPivotX"0
"FilmRollPivotY"0
"FilmRollValue"0
"FilmRollOrder"0
"ApertureMode"2
"GateFit"0
"FieldOfView"25.1149997711182
"FieldOfViewX"40
"FieldOfViewY"40
"FocalLength"34.8932762167263
"CameraFormat"0
"UseFrameColor"0
"FrameColor"0.3
"ShowName"1
"ShowInfoOnMoving"1
"ShowGrid"1
"ShowOpticalCenter"0
"ShowAzimut"1
"ShowTimeCode"0
"ShowAudio"0
"AudioColor"0
"NearPlane"10
"FarPlane"4000
"AutoComputeClipPanes"0
"ViewCameraToLookAt"1
"ViewFrustumNearFarPlane"0
"ViewFrustumBackPlaneMode"2
"BackPlaneDistance"4000
"BackPlaneDistanceMode"1
"ViewFrustumFrontPlaneMode"2
"FrontPlaneDistance"10
"FrontPlaneDistanceMode"1
"LockMode"0
"LockInterestNavigation"0
"BackPlateFitImage"0
"BackPlateCrop"0
"BackPlateCenter"1
"BackPlateKeepRatio"1
"BackgroundAlphaTreshold"0.5
"ShowBackplate"1
"BackPlaneOffsetX"0
"BackPlaneOffsetY"0
"BackPlaneRotation"0
"BackPlaneScaleX"1
"BackPlaneScaleY"1
"BackgroundTexture"""
"FrontPlateFitImage"1
"FrontPlateCrop"0
"FrontPlateCenter"1
"FrontPlateKeepRatio"1
"ForegroundOpacity"1
"ShowFrontplate"1
"FrontPlaneOffsetX"0
"FrontPlaneOffsetY"0
"FrontPlaneRotation"0
"FrontPlaneScaleX"1
"FrontPlaneScaleY"1
"ForegroundTexture"""
"DisplaySafeArea"0
"DisplaySafeAreaOnRender"0
"SafeAreaDisplayStyle"1
"SafeAreaAspectRatio"1.33333333333333
"Use2DMagnifierZoom"0
"2DMagnifierZoom"100
"2DMagnifierX"50
"2DMagnifierY"50
"CameraProjectionType"0
"OrthoZoom"1
"UseRealTimeDOFAndAA"0
"UseDepthOfField"0
"FocusSource"0
"FocusAngle"3.5
"FocusDistance"200
"UseAntialiasing"0
"AntialiasingIntensity"0.77777
"AntialiasingMethod"0
"UseAccumulationBuffer"0
"FrameSamplingCount"7
"FrameSamplingType"1
"BBoxMin"0
"BBoxMax"0
"PrimaryVisibility"1
"CastsShadows"1
"ReceiveShadows"1
"ShadingModel""Phong"
"MultiLayer"0
"EmissiveColor"0
"EmissiveFactor"1
"AmbientColor"0.2
"AmbientFactor"1
"DiffuseColor"0.8
"DiffuseFactor"1
"Bump"0
"NormalMap"0
"BumpFactor"1
"TransparentColor"0
"TransparencyFactor"0
"DisplacementColor"0
"DisplacementFactor"1
"VectorDisplacementColor"0
"VectorDisplacementFactor"1
"SpecularColor"0.2
"SpecularFactor"1
"ShininessExponent"20
"ReflectionColor"0
"ReflectionFactor"1
"Description"""
"LocalStart"0
"LocalStop"0
"ReferenceStart"0
"ReferenceStop"0
"Weight"100
"Mute"0
"Solo"0
"Lock"0
"BlendMode"0
"RotationAccumulationMode"0
"ScaleAccumulationMode"0
"BlendModeBypass"0
Objects
NodeAttribute
Properties70
"Position"600
"UpVector"-0.235455330940913
"InterestPosition"599.333246082028
"AspectRatioMode"2
"AspectWidth"800
"AspectHeight"600
"FilmWidth"1.41732283464567
"FilmHeight"1.06299212598425
"ApertureMode"3
"FieldOfView"53.130102354156
"FocalLength"36
"NearPlane"0.001
"FarPlane"10000
"AutoComputeClipPanes"1
TypeFlags"Camera"
GeometryVersion124
Position600,300,600
Up-0.235455330940913,0.942932433561923,-0.235455330940913
LookAt599.333246082028,299.66701587765,599.333246082028
ShowInfoOnMoving1
ShowAudio0
AudioColor0,1,0
CameraOrthoZoom1
Geometry
Vertices
a-91,-100,91,91,-100,91,91,-100,-91,-91,-100,-91,-91,-97.3639610306789,97.3639610306789,91,-97.3639610306789,97.3639610306789,95.5,-97.3639610306789,95.5,97.3639610306789,-97.3639610306789,91,97.3639610306789,-97.3639610306789,-91,95.5,-97.3639610306789,-95.5,91,-97.3639610306789,-97.3639610306789,-91,-97.3639610306789,-97.3639610306789,-95.5,-97.3639610306789,-95.5,-97.3639610306789,-97.3639610306789,-91,-97.3639610306789,-97.3639610306789,91,-95.5,-97.3639610306789,95.5,-91,-91,100,91,-91,100,97.3639610306789,-91,97.3639610306789,100,-91,91,100,-91,-91,97.3639610306789,-91,-97.3639610306789,91,-91,-100,-91,-91,-100,-97.3639610306789,-91,-97.3639610306789,-100,-91,-91,-100,-91,91,-97.3639610306789,-91,97.3639610306789,-91,91,100,91,91,100,97.3639610306789,91,97.3639610306789,100,91,91,100,91,-91,97.3639610306789,91,-97.3639610306789,91,91,-100,-91,91,-100,-97.3639610306789,91,-97.3639610306789,-100,91,-91,-100,91,91,-97.3639610306789,91,97.3639610306789,-91,97.3639610306789,97.3639610306789,91,97.3639610306789,97.3639610306789,95.5,97.3639610306789,95.5,97.3639610306789,97.3639610306789,91,97.3639610306789,97.3639610306789,-91,95.5,97.3639610306789,-95.5,91,97.3639610306789,-97.3639610306789,-91,97.3639610306789,-97.3639610306789,-95.5,97.3639610306789,-95.5,-97.3639610306789,97.3639610306789,-91,-97.3639610306789,97.3639610306789,91,-95.5,97.3639610306789,95.5,-91,100,91,91,100,91,91,100,-91,-91,100,-91
PolygonVertexIndex
a1,5,4,-1,5,17,16,-5,17,29,28,-17,29,41,40,-29,41,53,52,-41,6,5,-2,6,18,17,-6,18,30,29,-18,30,42,41,-30,42,53,-42,7,6,-2,7,19,18,-7,19,31,30,-19,31,43,42,-31,43,53,-43,2,8,7,-2,8,20,19,-8,20,32,31,-20,32,44,43,-32,44,54,53,-44,9,8,-3,9,21,20,-9,21,33,32,-21,33,45,44,-33,45,54,-45,10,9,-3,10,22,21,-10,22,34,33,-22,34,46,45,-34,46,54,-46,3,11,10,-3,11,23,22,-11,23,35,34,-23,35,47,46,-35,47,55,54,-47,12,11,-4,12,24,23,-12,24,36,35,-24,36,48,47,-36,48,55,-48,13,12,-4,13,25,24,-13,25,37,36,-25,37,49,48,-37,49,55,-49,0,14,13,-4,14,26,25,-14,26,38,37,-26,38,50,49,-38,50,52,55,-50,15,14,-1,15,27,26,-15,27,39,38,-27,39,51,50,-39,51,52,-51,4,15,-1,4,16,27,-16,16,28,39,-28,28,40,51,-40,40,52,-52,53,54,55,-53,3,2,1,-1
GeometryVersion124
LayerElementNormal
Version102
Name""
MappingInformationType"ByPolygonVertex"
ReferenceInformationType"Direct"
Normals
a0.189136937260628,-0.96356338262558,0.189136922359467,0.140449270606041,-0.704058945178986,0.696114242076874,-0.140449270606041,-0.704058945178986,0.696114242076874,-0.189136922359467,-0.96356338262558,0.189136937260628,0.140449270606041,-0.704058945178986,0.696114242076874,0.191961854696274,-0.191961854696274,0.962445497512817,-0.191961869597435,-0.191961869597435,0.962445497512817,-0.140449270606041,-0.704058945178986,0.696114242076874,0.191961854696274,-0.191961854696274,0.962445497512817,0.191961869597435,0.191961869597435,0.962445497512817,-0.191961869597435,0.191961869597435,0.962445497512817,-0.191961869597435,-0.191961869597435,0.962445497512817,0.191961869597435,0.191961869597435,0.962445497512817,0.14044925570488,0.704058945178986,0.696114242076874,-0.140449270606041,0.704058945178986,0.696114242076874,-0.191961869597435,0.191961869597435,0.962445497512817,0.14044925570488,0.704058945178986,0.696114242076874,0.189136922359467,0.96356338262558,0.189136937260628,-0.189136937260628,0.96356338262558,0.189136922359467,-0.140449270606041,0.704058945178986,0.696114242076874,0.494177132844925,-0.715246796607971,0.494177103042603,0.140449270606041,-0.704058945178986,0.696114242076874,0.189136937260628,-0.96356338262558,0.189136922359467,0.494177132844925,-0.715246796607971,0.494177103042603,0.693370819091797,-0.196147575974464,0.693370759487152,0.191961854696274,-0.191961854696274,0.962445497512817,0.140449270606041,-0.704058945178986,0.696114242076874,0.693370819091797,-0.196147575974464,0.693370759487152,0.693370819091797,0.196147590875626,0.693370819091797,0.191961869597435,0.191961869597435,0.962445497512817,0.191961854696274,-0.191961854696274,0.962445497512817,0.693370819091797,0.196147590875626,0.693370819091797,0.49417707324028,0.715246737003326,0.49417707324028,0.14044925570488,0.704058945178986,0.696114242076874,0.191961869597435,0.191961869597435,0.962445497512817,0.49417707324028,0.715246737003326,0.49417707324028,0.189136922359467,0.96356338262558,0.189136937260628,0.14044925570488,0.704058945178986,0.696114242076874,
NormalsW
a1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1
LayerElementUV
Version101
Name"UVW"
MappingInformationType"ByPolygonVertex"
ReferenceInformationType"IndexToDirect"
UV
a0.927922010421753,0,0.927922010421753,0.0336160659790039,0,0.0336160659790039,0,0,0.927922010421753,0.0672320127487183,0,0.0672320127487183,0.927922010421753,0.932767987251282,0,0.932767987251282,0.927922010421753,0.966383993625641,0,0.966383993625641,0.927922010421753,1,0,1,0.963961005210876,0.0336160659790039,0.945941507816315,0,0.963961005210876,0.0672320127487183,0.963961005210876,0.932767987251282,0.963961005210876,0.966383993625641,0.945941507816315,1,1,0.0336160659790039,0.981980502605438,0,1,0.0672320127487183,1,0.932767987251282,1,0.966383993625641,0.981980502605438,1,0.927922010421753,0,0.927922010421753,0.0336160659790039,0,0.0336160659790039,0,0,0.927922010421753,0.0672320127487183,0,0.0672320127487183,0.927922010421753,0.932767987251282,0,0.932767987251282,0.927922010421753,0.966383993625641,0,0.966383993625641,0.927922010421753,1,0,1,0.963961005210876,0.0336160659790039,0.945941507816315,0,0.963961005210876,0.0672320127487183,0.963961005210876,0.932767987251282,0.963961005210876,0.966383993625641,0.945941507816315,1,1,0.0336160659790039,0.981980502605438,0,1,0.0672320127487183,1,0.932767987251282,1,0.966383993625641,0.981980502605438,1,0.927922010421753,0,0.927922010421753,0.0336160659790039,0,0.0336160659790039,0,0,0.927922010421753,0.0672320127487183,0,0.0672320127487183,0.927922010421753,0.932767987251282,0,0.932767987251282,0.927922010421753,0.966383993625641,0,0.966383993625641,0.927922010421753,1,0,1,0.963961005210876,0.0336160659790039,0.945941507816315,0,0.963961005210876,0.0672320127487183,0.963961005210876,0.932767987251282,0.963961005210876,0.966383993625641,0.945941507816315,1,1,0.0336160659790039,0.981980502605438,0,1,0.0672320127487183,1,0.932767987251282,1,0.966383993625641,0.981980502605438,1,0.927922010421753,0,0.927922010421753,0.0336160659790039,0,0.0336160659790039,0,0,0.927922010421753,0.0672320127487183,0,0.0672320127487183,0.927922010421753,0.932767987251282,0,0.932767987251282,0.927922010421753,0.966383993625641,0,0.966383993625641,0.927922010421753,1,0,
UVIndex
a0,1,2,3,1,4,5,2,4,6,7,5,6,8,9,7,8,10,11,9,12,1,13,12,14,4,1,14,15,6,4,15,16,8,6,16,17,8,18,12,19,18,20,14,12,20,21,15,14,21,22,16,15,22,23,16,24,25,26,27,25,28,29,26,28,30,31,29,30,32,33,31,32,34,35,33,36,25,37,36,38,28,25,38,39,30,28,39,40,32,30,40,41,32,42,36,43,42,44,38,36,44,45,39,38,45,46,40,39,46,47,40,48,49,50,51,49,52,53,50,52,54,55,53,54,56,57,55,56,58,59,57,60,49,61,60,62,52,49,62,63,54,52,63,64,56,54,64,65,56,66,60,67,66,68,62,60,68,69,63,62,69,70,64,63,70,71,64,72,73,74,75,73,76,77,74,76,78,79,77,78,80,81,79,80,82,83,81,84,73,85,84,86,76,73,86,87,78,76,87,88,80,78,88,89,80,90,84,91,90,92,86,84,92,93,87,86,93,94,88,87,94,95,88,96,97,83,98,75,99,100,101
LayerElementMaterial
Version101
Name"MaterialLayer"
MappingInformationType"ByPolygon"
ReferenceInformationType"IndexToDirect"
Materials
a0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
Layer
Version100
LayerElement
Type"LayerElementUV"
TypedIndex0
Model
Version232
Properties70
"ScalingMax"0
"DefaultAttributeIndex"0
"LclTranslation"600
"LclRotation"-153.461961110056
"LclScaling"1
ShadingY
Culling"CullingOff"
Material
Version102
ShadingModel"phong"
MultiLayer0
Properties70
"AmbientColor"0
"ShininessExponent"32
"ReflectionFactor"0
"Emissive"0
"Ambient"0
"Diffuse"0.8
"Specular"0.2
"Shininess"32
"Opacity"1
"Reflectivity"0
AnimationStack
AnimationLayer
Connections
C"OO",418509248,228829472
 
 
Link to comment
Share on other sites

just my 2 cents.  I looked at the FBX format briefly for something, and quickly decided to run the other way.  I would suggest that the output of a .babylon has advantages:

  • You need not write the process in Typescript, and might possibly use an SDK to eliminate parsing yourself (maybe even handle both binary & ascii).
  • There would be an intermediate output to check your work.
  • Offline processing might be faster than trying to do it in the scene.  This also may allow you to do optimizations to reduce vertices.  This is really helps both Blender & 3DSMax exporters.  I think trying to do that optimization right in the scene might be a little aggressive. 

The only downside is you cannot do something a .babylon cannot do.  I have a very divergent texture loading process for the source code generating exporter for Blender.  Would only do 4 decimals of precision for a .bablyon.

Link to comment
Share on other sites

that's what I am doing... o_O I am making a tool that you do prior and it will structure it all and conform it to a new 3d object called a bjx that I am going to write the importer for as well for babylon. 

Once Im done with the restructure it will build into a scene where you can modify everything on the fly then export the bjx object, which will hopefully have a lot of the dynamic content embeded.  Textures will be easy models ect, the animations are what im worried about.


What you are seeing on that output, is the return of the fbx file that got broke down and structured correctly and took out all the P: an placed correct variable names, I just gotta do a break down and ordering of the connections and the actual vert arrays will be easy.

Then its just starting to push it all into a scene to preview it (a unnecessary step but a nice feature).

Link to comment
Share on other sites

2 minutes ago, Pryme8 said:

but seeing how no one really was interested

Are we on the same forum?

 

On 12/10/2016 at 3:42 AM, iTekVR said:

thank you, Pryme8

looking forward for the FBX Loader!

 

On 12/6/2016 at 0:04 PM, Deltakosh said:

By the way I really appreciate that you take time to do this. It's gonna be a huge addition to our framework 

 

On 12/10/2016 at 9:11 PM, ProfessorF said:

But I'd love to compare notes.

Link to comment
Share on other sites

@adam
Im in a pissy mood today... I need to stop being a b****... Sorry guys :-(  I will wrap this up as soon as I get a chance I have the objects loading and all the subobjects being identified and the connections being made... so its like pretty much done I just am having a bad week I guess and am being a poon...

I think I just need to take a break for the weekend and refocus...

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...