localized descriptor

New Question Is a localized descriptor needed, or used to establish a key value pair.
Are there required entries here? I got an entry about unexpected values in manifest with a link to a section of code that had to do with the brush dictionaries (I can get specifics if needed, feel like the basic question might answer that)
No description
7 Replies
andybak
andybak6mo ago
What are you trying to do? Is this about the Brush editing branch?
AncientWorlds
AncientWorlds6mo ago
Ya, brush editing and my custom brushes.
Attempting to export. Exports usd and json, then hits fbx and breaks I think its because the key value pairs aren't registered for my brushes So I'm wondering if the first slot in the localized descriptor is used for that purpose of adding to the dictionary? (presumably also be on the main branch with additional unity brushes added). Looking at in unity brushes specifically ** they obviously aren't listed there either, so if that's the problem it would be universal for any added internal brushes
AncientWorlds
AncientWorlds6mo ago
Leads to here (will get a text version if you need it, what I saved last night)
No description
AncientWorlds
AncientWorlds6mo ago
Maybe weirder, tried it with a different sculpt and got this. Totally unclear why the texture file type should be a .png All the associated textures in the brush are png. Might be a naming error or related to specifics with that brush, which I'll investigate. Given that it's pointing at the manifest path, I suspect its not finding the key value pairs. When I tried to synch export materials (pretty sure that was the script) I got 735 warnings that tend to confirm the suspicion
User-visible error: FBX export failed
Detail: Based on ZetaTubeUv texture filetype () should be a '.png'.
UnityEngine.Debug:LogErrorFormat (string,object[])
TiltBrush.OutputWindowScript:Error (TiltBrush.InputManager/ControllerName,string,object) (at Assets/Scripts/OutputWindowScript.cs:126)
TiltBrush.OutputWindowScript:Error (string,object) (at Assets/Scripts/OutputWindowScript.cs:110)
TiltBrush.ExportFbx:Export (string,string,string) (at Assets/Scripts/Export/ExportFbx.cs:198)
TiltBrush.Export:ExportScene () (at Assets/Scripts/Export/Export.cs:159)
TiltBrush.SketchControlsScript/<>c:<ExportCoroutine>b__315_0 () (at Assets/Scripts/SketchControlsScript.cs:3958)
TiltBrush.OverlayManager/<AsCoroutine>d__67:MoveNext () (at Assets/Scripts/OverlayManager.cs:622)
TiltBrush.OverlayManager/<RunInCompositor>d__61:MoveNext () (at Assets/Scripts/OverlayManager.cs:416)
UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
User-visible error: FBX export failed
Detail: Based on ZetaTubeUv texture filetype () should be a '.png'.
UnityEngine.Debug:LogErrorFormat (string,object[])
TiltBrush.OutputWindowScript:Error (TiltBrush.InputManager/ControllerName,string,object) (at Assets/Scripts/OutputWindowScript.cs:126)
TiltBrush.OutputWindowScript:Error (string,object) (at Assets/Scripts/OutputWindowScript.cs:110)
TiltBrush.ExportFbx:Export (string,string,string) (at Assets/Scripts/Export/ExportFbx.cs:198)
TiltBrush.Export:ExportScene () (at Assets/Scripts/Export/Export.cs:159)
TiltBrush.SketchControlsScript/<>c:<ExportCoroutine>b__315_0 () (at Assets/Scripts/SketchControlsScript.cs:3958)
TiltBrush.OverlayManager/<AsCoroutine>d__67:MoveNext () (at Assets/Scripts/OverlayManager.cs:622)
TiltBrush.OverlayManager/<RunInCompositor>d__61:MoveNext () (at Assets/Scripts/OverlayManager.cs:416)
UnityEngine.SetupCoroutine:InvokeMoveNext (System.Collections.IEnumerator,intptr)
This strikes me as very similar to my original issues with fbx exports (way back). I solved it by manually creating a dictionary and dropping that directly into the engine.
TLDR Ultimately the immediate question is simply "Is a localized descriptor needed, or used to establish a key value pair." In the context of additional in unity brushes being added. Specifically for fbx/glb purposes :: Still working with brush editing (since I don't see how this section is likely to change) and probably involves json writes :: created a basic version with one custom brush to simplify, modified muscle brush :: attempted to synch export materials :: noted that the json file in the support folder did not update and does not show the new brush :: will test export, then test if adding a tag fixes it. :: if that doesn't work I'm going to chew on the internal code for at least a bit (noted: process used in cloning the muscle brush seems to have not updated the brush name for manifest, even after guide change. That name defaults to: muscle(space)1 Which might cause parsing issues if this is the default new handling Unclear why that's the case and may have to retry with a different save/update sequence if name changing doesn't resolve
andybak
andybak6mo ago
since we added support for multiple languages it's probably got more complex to build custom brushes inside unity - but i haven't really tried i'll look into anything that is solely about bruses created using the brush editing branch but i don't want to start fixing issues with custom unity brushes
AncientWorlds
AncientWorlds6mo ago
Understandable. Which is why I just asked about the purpose of the string descriptor originally. I'm going to hack at this a bit. Turns out there may actually be a .jpg error (so it requires png) My second test used one with jpgs (inadvertently) and triggered the error When I fixed that, I was able to get 1. All file folders produce 2. content in the files (about to test re-import) for Fbx, Obj, and USD 3. It also appears that json, stl, and wrl data of some kind got exported There was an export failure notification for some of these, (similar to custom brushes in the main branch) Glbs weren't produced and I see this note in GlTF_EditorExporter (around line 200) // We don't export experimental brushes brushes in the live prod build. along with some error references related to catalogs.
I'm probably going to look at strings and hack at this tonight.
Will update if I find anything noteworthy, and add a line on which/whether these re imported successfully from the models directory If I get this going, then it's just a question of having the exporter generally fixed, and should be quite functional
AncientWorlds
AncientWorlds6mo ago
Model Reimport Tests [pic 1 is Fbx, Obj, Usd] [pic2 shows that a unity custom brush saved as a model will not export, import and then re-export] I believe this is a general issue with models, including native brushes Conclusion: Glbs need fixing (see my pm please so I don't break anything) Brushes reimport after being exported (generally, may be some cases specific to my set, will sort that later) jpg in textures breaks things (?permissiveness or algorithmic?) This is workable once USD exports function as they should (USD currently broken/partially broken, in other apps tested, including blender, unless I'm doing things incorrectly) Although they work nicely internally
No description
No description