Open Crikster opened 3 years ago
I'm definitely interested in this. Could you provide an example file with those custom properties? Also, please describe how to read them in Unity.
Sure no problem, here a link with a blender file, and some screenshots. https://www.dropbox.com/sh/l3sm891mncvzxaj/AADCgZ6MFXqgTavGCQl7lXMla?dl=0 So basically the custom properties are just Generic properties the user can define, in my case i am using it for filtering of objects. to create different variations. in the screenshots:
Blender: -object custom properties ubication. -blender default fbx export location of custom properties.
Unity: -Unity screenshot of my custom script to load this custom properties and filter dynamically.
hope this helps! and thanks for the interest!
Thank you for the file and the screenshots! In your custom script, which Unity API methods are you using to access the custom properties? I'll write a simple script to test they work.
HI sorry for my delayed answer, is a custom script done by another company :(
I shouldn't need the entire script, only the Unity API methods and properties being used. Please understand that I need to be able to reproduce the case in Unity in order to fix it.
Closing this issue, as I have no way to reproduce it in Unity.
@EdyJ thanks for the plugin 👍. I was struggling with nested empties
I can confirm that custom properties are lost during export. The way to check it in unity is to make a AssetPostProcessor script that post process models, similar to what is there https://docs.unity3d.com/ScriptReference/AssetPostprocessor.OnPostprocessGameObjectWithUserProperties.html
Here is one, paste it in a unity asset folder. It simply lists all custom properties found in FBX.
FBXCustomPropertiesListing
using System;
using UnityEditor;
using UnityEngine;
public class FBXCustomPropertiesListing: AssetPostprocessor
{
void OnPostprocessGameObjectWithUserProperties(GameObject go, string[] propNames, System.Object[] values)
{
for (int i = 0; i < propNames.Length; i++)
{
string propName = propNames[i];
System.Object value = (System.Object)values[i];
Debug.Log("Propname: " + propName + " value: " + values[i]);
}
}
}
If you need a complete unity project with files and scripts, I can provide it too.
From the blender fbx exporter, this is use_custom_props
parameter
https://docs.blender.org/api/current/bpy.ops.export_scene.html
Thank you so much for the AssetPostProcessor example! Also, thank you for the pull request. I'll check it out, but most likely I'll just enable use_custom_props
parameter internally. I can't see any reason for disabling it.
After asking the request, I felt guilty for not even trying to dive into the source, and I had many excuses, you know, never write python before, that's not my library, not aware of blender plugins, whatever...
But at the end, I manage to, and that was pretty satisfying :)
Hi, i think it wold be amazing if theres an option to export custom properties, they are getting lost in the way.
thanks!! Cris