Import a variety of .obj and .fbx files. They must contain texture coordinates. A mesh cannot have different materials for submeshes (yet?).
Meshes without normals are supported. Meshes without texcoords/uv are supported, too, but they won’t display textures.
Skinned Meshes with up to 4 bones per vertex are supported
Animated Skinned Meshes
plausible environment lighting, with support for 4 texture inputs - albedo, normal, roughness, metallic (no alpha yet)
HBAO solution
Parallax Occlusion Mapping
Intuitive UI
Controls
LMB drag the object
RMB -rotate around the object
Shift+RMB - rotate the environment
MW - zoom in/out
space - center object
Note:
The files MGSkinnedAnimationPipeline.dll and MGSkinnedAnimationAux.dll inside the main directory are DLLs downloaded from the internet, therefore Windows might block them. You can unblock them with right click->properties->unblock. More info here:
Wooooooow… That fish looks beautiful! Really shows off MG’s potential.
By the way, as for the “random crashes”, I may be able to help you out with that (when I get home). I’ve made a list of things which cause the MonoGame to throw an error in regards to how an FBX model is made. It could provide some clues.
Good news everyone! I simply manipulated the content pipeline dll so it ignores textures! You can of course load the textures manually, so that shouldn’t be a problem at all.
the issue lays therein that i can’t make mgcb output the files in the output directory if i use absolute paths, so i have to copy the files to the local directory to work with relative paths.
If the output directory is relative it will create some relative output folders which are somewhere between the viewer and the source file directory.
But I can’t know what references the file has beforehand.
read a file from an absolute path and output the processed files in a output folder.
What happens:
If the absolute path of the source is on a different partition the generated .xnb file will be in the source folder
If the absolute path of the source is on the same partition the generated .xnb file will be in some new folder which, and now comes the great part, will generate a new folder somewhere above the working directory with a relative path from the last path that working and source directory share. I thought i was going crazy.
Example:
My program executes from here:
C:\Users\Me\Documents\Visual Studio 2015\Projects\HelperSuite\HelperSuite\bin\Windows\x86\Debug
if I process the file
C:\Users\Me\Documents\Visual Studio 2015\Projects\DeferredCascadedShadowMaps\GameThumbnail.png
The resulting processed file will be created here
C:\Users\Me\Documents\Visual Studio 2015\Projects\HelperSuite\HelperSuite\bin\DeferredCascadedShadowMaps\GameThumbnail.xnb
if it’s any help, for mgcb I set the Process.StartInfo.WorkingDirectory = SourcePath.
From there, I always have the output rooted to the source ( OutputDir = SourcePath\Content\ )
The ProjectContentManager will load absolute paths or search for the .xnb in the CurrentDirectory and _projectLocation (=SourcePath?).
The callerLocation is for Modules that load their own content.
edit
I always have the .mgcb file in the SourcePath, so maybe StartInfo.WorkingDirectory has to point to the .mgcb.
Buuut… there’s something I should mention. That animation I made, I deliberately made the head bone scale up and down quite extremely to test scaling. Would your program support that?
Yeah, I’ve looked into it and I think the latter is the case. I have modified my copy of BetterSkinned to at least process scaling in the pipeline correctly, but either I did something wrong at that step, or at the actual rendering step, because, while the scaling does show up, it’s heavily distorted.
If you’re planning on modifying your BetterSkinned, be sure to watch out for any instance where it sets scaling to a default of 1. There are many instances where that 1 multiplier is hard coded in. Come to think of it, it’s entirely possible I just missed one of those instances on my end when I modified it.
interestingly I found that some animations look completely distorted when I import them into blender and export them right away, without changing anything. Strange
Even worse: I exported an animated mesh from blender and imported it again and suddenly it had more bones and the animation wasn’t the same? Wth
This process can be repeated infinitely. Not good.
When I load a model, it says it has been converted, but nothing happens.
So I tried with the fish your pointed upper, and same thing, mgcb does its job, but the sphere is still there. Have I missed something ?
Whenever I close the app, windows says it has ceased functioning.
If I launch visual as the debugger, it says:
An unhandled exception of type ‘System.TypeInitializationException’ occurred in MonoGame.Framework.dll
Additional information: an exception has been thrown by the type initiator of ‘Microsoft.Xna.Framework.Audio.SoundEffect’.
Oh, that sucks. I uploaded a new version which produces a log file inside the .exe folder (log.txt). Maybe that can help.
(version 0.4)
I’ve also added support for objects that were previously not handled well.
This one didn’t work before and it had distorted materials when it finally did. Now it’s correct.
and this model didn’t work either, because it has no normals. So I generate the normals inside the pixel shader for that case (not the same uboat as the one mentioned earlier)