armory3d / armorpaint_unity

Unity plugin for ArmorPaint
Other
23 stars 3 forks source link

ArmorPaint folder selection does not work #1

Closed derwaldgeist closed 4 years ago

derwaldgeist commented 4 years ago

I just bought ArmourPaint and install the Unity package When I try to select the ArmorPaint folder, it will only allow me to select the "Applications" folder itself, but not a folder inside the ArmorPaint.app. However, the Unity package seems to expect a folder inside this app package. It throws this error:

DirectoryNotFoundException: Could not find a part of the path "/Applications/data/temp.obj".
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
(wrapper remoting-invoke-with-check) System.IO.FileStream..ctor(string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
System.IO.StreamWriter.CreateFile (System.String path, System.Boolean append, System.Boolean checkHost) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
System.IO.StreamWriter..ctor (System.String path, System.Boolean append, System.Text.Encoding encoding, System.Int32 bufferSize, System.Boolean checkHost) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
System.IO.StreamWriter..ctor (System.String path, System.Boolean append, System.Text.Encoding encoding, System.Int32 bufferSize) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
System.IO.StreamWriter..ctor (System.String path) (at <e1319b7195c343e79b385cd3aa43f5dc>:0)
(wrapper remoting-invoke-with-check) System.IO.StreamWriter..ctor(string)
ArmorPaint.ArmorPaintPaintOption () (at Assets/Libraries/ArmorPaint/Editor/ArmorPaint.cs:59)

There is actually a data folder buried in the app folder, but I cannot select it from within Unity.

I'm on macOS Catalina, if that counts.

derwaldgeist commented 4 years ago

It kinda worked once I created a separate folder on my Desktop, placed ArmorPaint inside it and also created a "data" folder. I only could figure this out by reading the Unity package code to understand what the package is doing. That's pretty frustrating for a newbie I guest. On macOS, you expect that you can install any application inside the Applications folder.

BTW: Unity lets you store package-specific files inside a folder reserved for each Unity project. On macOS, this folder is located inside the user's Library folder. This would be the place to put the temp.obj in, not the parent folder of the application.

derwaldgeist commented 4 years ago

The docs should also mention that you have to select a Material inside Unity to make the integration work. If you just click an object (as the docs recommend), nothing happens. It would be nice if the package would detect which Material is used on a game object and edit this material.

derwaldgeist commented 4 years ago

Just noticed that the integration does not work even on Materials. ArmorPaint is opened, but also Xcode, with a scene graph). Actually, I have no idea how to work with this :-/

luboslenco commented 4 years ago

Still lots of work here, sorry, just starting out. Will try to describe the current state more clearly in the docs. Hoping to push more improvements soon, I have sent you a refund now. 🙂

derwaldgeist commented 4 years ago

Oh, thanks, that wasn't expected.