taniwha / io_object_mu

Python .mu reader/writer and blender import/export addon
GNU General Public License v2.0
122 stars 51 forks source link

file .mu generated with export mu don't load in ksp 1.10.1 #41

Closed Massetstephane closed 2 years ago

Massetstephane commented 4 years ago

hello ! thk for this tool ! Import work fine đź‘Ť but for export mu model, ksp 1.10.1 stop loading on the mu generated by blender. i'm trying to make prop for iva, in folder gamedat/aset prop, mu file like Primitive_TRIANGLE.mu Primitive_TRIANGLE.mu file 1.49 ko my file exported Primitive_special_beveled.mu 6.16ko

image

the file is bigger while the aset prop however is praticaly the same mesh as Primitive_Triangle.mu i tested number combinaison of option with the export nothing work ksp stop loaded on file

tested in blender mu properties all options none,part,prop etc adding mu shader too like KSP/Specular every time the mu file stop ksp loading !

my log file : [LOG 09:25:58.656] PartLoader: Compiling Internal Prop 'ASET/ASET_Props/Misc/Primitives/Primitive_special_beveled/Primitive_special_beveled' [EXC 09:25:58.657] NullReferenceException: Object reference not set to an instance of an object PartLoader.ReplaceTextures (UnityEngine.GameObject model, System.Collections.Generic.List1[T] textureNames, System.Collections.Generic.List`1[T] newTextures) (at :0) PartLoader.CompileModel (UrlDir+UrlConfig cfg, ConfigNode partCfg, System.Single scaleFactor, AvailablePart partInfo) (at :0) PartLoader.LoadInternalProp (UrlDir+UrlConfig urlConf) (at :0) PartLoader+d__75.MoveNext () (at :0) UnityEngine.SetupCoroutine.InvokeMoveNext (System.Collections.IEnumerator enumerator, System.IntPtr returnValueAddress) (at <5aeafee3fea24f37abd1315553f2cfa6>:0) UnityEngine.DebugLogHandler:LogException(Exception, Object) ModuleManager.UnityLogHandle.InterceptLogHandler:LogException(Exception, Object) UnityEngine.Debug:CallOverridenDebugHandler(Exception, Object) [LOG 09:26:37.903] QuickStart(QSettings)[2.20]: Settings Saved

` sorry for my bad english i'm french

### edit Probleme resolved, bad setting in Mu Shader, forgot the name for _MainTex ksp load the mu file, but the prop not appear in ksp my setting in blender image

Olympic1 commented 4 years ago

Did you add the prop to the .cfg of the IVA with the correct name and position?

Massetstephane commented 4 years ago

HI ! yes image tested several config in MU properties in blender, prop, part etc Ksp load the prop it's ok but nothing in ksp iva

Olympic1 commented 4 years ago

Maybe something went wrong while exporting. Are you using Unity 2019.2.2f1 and the latest version of PartTools?

Massetstephane commented 4 years ago

hello ! no i don't use UNITY because the last PartTools is bugged the shaders fail to compile i have Unity 2019.2.2f1 installed too the good TextMesh Pro Release 1.0.56 - Unity 2017.3 installed too, i follow the post on kerbal forum, and the result is the shaders file to compile are not usable, it's bad !, another thing with the part tool with the goog path choosen some spaces object en prop objetc don't spawm in unity , and other yes it's strange exemple error in unity to spawn the genericCircularButton

Cannot clone model 'Squad/Props/buttonsGeneric/circularButton' as model does not exist
UnityEngine.Debug:LogError(Object)
KSPPartTools.PartUtils:CompileModel(UrlConfig, ConfigNode, Single)
KSPPartTools.PartUtils:SpawnProp(Transform, UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProp(UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProps()
KSPPartTools.PartToolsWindow:OnGUI()
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
--
Model was not compiled correctly
UnityEngine.Debug:LogError(Object)
KSPPartTools.PartUtils:CompileModel(UrlConfig, ConfigNode, Single)
KSPPartTools.PartUtils:SpawnProp(Transform, UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProp(UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProps()
KSPPartTools.PartToolsWindow:OnGUI()
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
--
Cannot create prop
UnityEngine.Debug:LogError(Object)
KSPPartTools.PartUtils:SpawnProp(Transform, UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProp(UrlConfig, ConfigNode)
KSPPartTools.PartToolsWindow:DrawProps()
KSPPartTools.PartToolsWindow:OnGUI()
UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr) (at C:/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:179)
--
NullReferenceException: Object reference not set to an instance of an object
KSPPartTools.PartToolsWindow.DrawProp (UrlDir+UrlConfig urlCfg, ConfigNode cfg) (at <0cc91c95455a453ab3e0c1566aca0585>:0)
KSPPartTools.PartToolsWindow.DrawProps () (at <0cc91c95455a453ab3e0c1566aca0585>:0)
KSPPartTools.PartToolsWindow.OnGUI () (at <0cc91c95455a453ab3e0c1566aca0585>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <567df3e0919241ba98db88bec4c6696f>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.

If you trying to spawn the MK1-3 spaces you have 3 message error similar to previous example. Spawn the GenericSpace3 work , mk1PodInternal work too the other no and if they work there a bug with texture.

in unity if you look with the inspector in ParTools/shaders you have that image

that's it i try with export.mu in blender for this simple prop. it's sad the tuto on unity and blender are outdated, it's difficult to find information for blender and unity with the 2020 version

Massetstephane commented 4 years ago

hi ! i have resolved some problem in UNITY, only ksp shaders are bugged, so i tested my blender export Primitive_special_beveled.mu with UNITY Part Tool and voilĂ  is well loaded in unity, everything seem good !

But in KSP the props is not charged............. I cannot understand it ......... is not a texture problem i have the same texture option with other prop, scale is good too in unity Face normal are good in unity I don't now how to resolve this problem......

EDIT : resolved with this setting : image

this setting work too make KSP prop from objetcts image

import mu model as prop give an error : image

Finally đź‘Ť _(prop added in ASET/ASETProps/Misc/Primitive) image

bye !

taniwha commented 4 years ago

@Massetstephane make sure you have the root empty selected when you export: the exporter processes only the currently selected object and its children. Thus, the whole model may not have been exported, thus some materials etc may have been missing.

Massetstephane commented 4 years ago

thk for the info taniwha !

Massetstephane commented 4 years ago

hi ! it's about Importing UV map, the UV map model are not good imported : image they need a Mirror Y action to match model image and after that the uv map are not yet well aligned they need a readjust in Y direction to match image and it's good after that : image made with blender 2.83 import mu file on 1.10.1 folder ksp with the squad RTG part model. i think they are a similar problem with the last Part Tool with UNITY reported in forum bye !

Olympic1 commented 4 years ago

@Massetstephane When you import the model, you also import the textures with it. Because KSP uses the format .dds for its textures, these need to be mirrored around the Y-axis to be used. So if you import the texture with the format .dds, you have to mirror the image itself and not the UV.

Massetstephane commented 4 years ago

hi ! Olympic1 thank for the info, i try to read everything in KSP forum about the pluggins, old thread new thread, the .DDS trick escape me sorry !

taniwha commented 2 years ago

This seems to be resolved