Jump to content
3DCoat Forums

Import external model into 3dcoat for modelling, uvmap, painting


geo_n
 Share

Recommended Posts

  • Advanced Member
37 minutes ago, sprayer said:

All sculpt software looks illogical to me) 3dcoat modelling is just like sculpting at low poly)

 

Tbh blender sculpting is extremely intuitive. If not for the poor painting room in blender I could continue painting in blender but it sucks even with Bpainter.

3dcoat still has the brush speed, features, photoshop integration that is hard to beat as of now. 

Anyway I'm interested to see 3dcoat polymodelling get polished. Some stuff like importing, scaling the model first time, has never been addressed.  Why there is no real scale value in 3dcoat, etc? It should be as easy as importing an fbx and I could go to any room and use each rooms tools like poly editting, uvmapping, painting. Except for voxel room of course its totally unrelated to poly meshes. 

Link to comment
Share on other sites

  • Advanced Member

Doesn't need to be non destructive. I've used 3dmax a long time but I collapse the modifiers at some point. Same with blender. 

Lightwave, modo, silo are destructive but still very fast modellers because the workflow is good enough. 3dcoat needs to be good.

Link to comment
Share on other sites

  • Advanced Member

This arbitrary scaling in 3dcoat has to be dealt with after years of 3dcoat development. It's as terrible as zbrush. We need a scaling system that is consistent, metric or imperial.
It was fine when just painting, Now with poly modelling it needs to be standardized like other apps.
image.thumb.png.da66c9a6d99c43c581a52ebfa4254b4b.png

  • Like 3
Link to comment
Share on other sites

  • Advanced Member
On 8/6/2021 at 11:49 PM, Andrew Shpagin said:

Maybe importing UV-s from LWO is the problem? Usually, Mesh->Import works as expected and preserves UV-s. I checked it a minute ago. No need for that complex road using PPP, just modeling is enough IMO. So, please drop me the LWO to test (andrewshpagin@gmail.com).

I tried obj with Mesh>import still the same. The mesh is not there in paint, uv rooms. I've attached the files lwo and obj.
1m.mtl1m.obj1m.lwo2m.lwo

We really need to sort out the scale issue in 3dcoat. This is important for polymodelling imho to work with other software cohesively.

I import a 1 meter box. It should be 1 meter height real world scale, no guess work.
image.thumb.png.e4fd05b85e69f822a8ab864b8f63dad6.png

Because when  I import another mesh that's 2 meters, I have no idea how to make it the way it should be. Also can we import the other meshes on another polygroup layer.
image.thumb.png.f2feb8a63e402d69e99113c9b20424f3.png

 

After poly modelling, painting, etc in 3dcoat I will export them again.
When I constantly need to import, export, import, export these models during edits they need to fit and be exactly the same real world scale. 
image.thumb.png.47ac9365905b3e96b05ba8deace804a8.png

Link to comment
Share on other sites

  • Advanced Member
4 hours ago, geo_n said:

We really need to sort out the scale issue in 3dcoat. This is important for polymodelling imho to work with other software cohesively.

Though I understand it is somehow complex (and I often requested about scene scale, and asked way ) but I think I can set scale as real measurement with keep grid (measurement) for all room meshes.

There are many ways (so it change by each user) but my personal recommend way is like this.

1.  make new start up scene. (it is important because 3d coat auto change my setting when I start with new file , so I keep to use same start up scene then import and save as 3d coat scene)

2.  go to sculpt room then from top menu >Define measurement unit.

3.  select one of your favor unit (meter cm, mm) then set it for 3d coat unit

4. I prefer Meter (it is same unit for my blender scene unit)

5.  set sculpt voxel count which you like to see for 1 units (Meter) , I prefer to set it as 1000 (so each axis 1 meter may get 1000 voxel  when sclupt without resmaple)

6.  next step is important, (other user may use different way, but I think it seems most reasonable)  set the same number which you used for voxel per unit and  Unit Scale

myunitsetting.thumb.JPG.12827188287823e64eefc8d4cf8278b6.JPG

The reason is, when we change voxel per unit,  it actually effect measurement and unit scale about all room model.

If I keep Unit Scale = voxel per Unit  3d coat show the unit size for imported mesh correctly (no need to adjust scale etc when import)

After you set so,  import export any object for each room purpose,  it should show same size with unit. and you may change 3d grid density if it need.  (1 main grid unit = 1 meter (depend with your setting, then sub-D grid to get 10 cm sub grid. 

eg for blender if I export 2 meter cube as obj from 3d coat,  it is shown as 2 meter cube in blender,  and I can import it again without change size. 

gridsetting.thumb.JPG.a2efdc132a3d55adcb7f1a2b5fcc9275.JPG

About 3d coat, we must need to use same unit (meter or cm) for measurement tool and geometry unit.  (if you try to change measurement unit, it change geometry unit too)

So if I set meter for scene unit,  it means I use measure tool with meter. 

Those setting return when you open new file, so if you do not hope to set them again, you may better make your default start up scene then set unit, save scene.

. and use it when import model >> edit >> export

Though I do not use LWO but about FBX or OBJ at least I do not see scale issue anymore.  (for those I simply import mesh as obj so did not test with app -link but app link can import correctly for me (for retopo mesh and paint mesh)

returntest.thumb.JPG.73eba1b4b25599adb979cd2440c80daa.JPG

Edited by tokikake
add one more pic to confrim return obj
  • Thanks 1
Link to comment
Share on other sites

  • Advanced Member

@tokikake

Created a 1m box  and 2m sphere in blender. Exported to fbx and it imports in 3dcoat with looks like correct scale.
measurement unit meter, 999.999939, 1000
I didn't have to do any manual scaling when I imported.

image.thumb.png.52e3f1fc24a3b91be4309669aef03715.png

 

Looks correct in 3dcoat
image.thumb.png.736fb0bdacad24fb35ea1beb44256a6c.png


I exported an fbx from 3dcoat and imported to blender and lightwave. The models were really small like a dot, and had to scale it by 100000%. What could be the issue?
I attached the 3dcoat startup file, blende file, exported mesh from 3dc. test.zip

image.thumb.png.262f47d33d2d03eb2f9f571b347dc1c3.png



 

Link to comment
Share on other sites

  • Advanced Member

`I am really sorry, because after I descirbed my way, I found more stable way... 

at current I set up like this

https://3dcoat.com/forum/index.php?/topic/25954-custom-grid-setting-and-voxels-per-unit-work-flow/

It is almost same digman recommended way. 

1.  set Unit as meter

2.   set voxel per unit as you need   , I actually do not know which count is best for each case,,  but if you change voxel per unit, it change grid dsitance  too

3.   when voxel per unit  = 100,,   I had used unit scale to adjust grid distance (1 unit = 1 meter) but I think it may not good way (or actually I do not know how unit scale work clear,,  then at current I prefer change grid step (eg if voxel per unit = 10,  you set grid step as 0.1,,  if voxel per unit = 100 you set grid step as 0.01,  I may recommend as test,  start with voxel per unit = 1.0 and grid step as 1.0 (keep default)  , if you change voxel per unit, follow this rule (and change your custom grid step)

4..  Then I found one problem.. if you set Unit as meter, but keep scene scale as 1.0  3d coat easy cause camera clipping issue,  3d coat stop 1 unit square as max zoom you can not zoom in more..  .. to avoid it you can adjust scene scale.

at least for 3d coat 2021 (which I could confirm)  scene scale not change mesh mesurement size, and grid size. so you can set it as you need. digman recommend set it as 100 then it means we can close up 0.01 meter square = 1cm square..  I think we can set scene scale as we like, it not effect real measurement size of mesh. 

 but you may better try with 100 first.. it only change brush unit size for me (and current  visuall size of mesh then you can zoom in for detail easy too)

Link to comment
Share on other sites

  • Advanced Member

by the way I sometimes see 3d coat not quick up-date those setting untill change room etc

(if you change voxel per unit or unit scale or grid settings) so temporally show strange size I suppose.

So basically I set up those first, then import mesh (add to the scnne)  may show real effect.. and keep it,,

And if you do not need grid  keep same unit distance (1 grid = 1 unit (meter)) you may need not adjust Grid step etc.. Why I changed unit- scale or Grid step ,, I hope to keep 1 grid = 1 meter as same as blender. with change voxel per unit.  .. then new way is,,  I recommend,, keep unit-scale = 1.00 but change grid step .. with voxel per unit..   if you keep voxel per unit = 1,  you need not change grid setting (and unit scale ),, so only change Scene scale as you need.. (maybe start with 100 is good, it not show problem for you, if you keep scene scale = 1.00,, it should cause clipping issue ,, you can not work with detail)

1.  set unit as meter

2.  set voxel per unit = a ,  set grid step as 1/a,  keep unit scale as 1.00 to get gird 1 unit = 1 meter

3   set scene scale = 10 or 100 or 1000 (digman recommend 100 and I think it is good enough)   

 

Edited by tokikake
Link to comment
Share on other sites

  • Advanced Member

Then I really did not test with FBX much to import, but now I see different scale mesh when import same mesh as obj and fbx. Actually I do not know if blender FBX exporter change unit or not clear.

about obj , it perfectly show same unit and measurement size mesh.  but if I export as FBX then import,,  3d coat seems count scene scale . I may need to adjust blender export setting for FBX I suppose. (I keep default setting of FBX and OBJ exporter)

 

 

Link to comment
Share on other sites

  • Advanced Member

geo_n  if you see strange size with blender FBX exporter , try this setting. I actually could import mesh correctly only with this unit setting (blender FBX exporter)
if you use other aprication,, actually I do not know,, how I set FBX exporter to work for 3d coat.

mysetting.thumb.JPG.b6af822298892d9da08a9793783d8a4b.JPG

I think it is blender exporter problem too. (because I can easy find many FBX exporter scale issue with options, though we may need to choose option anyway it work when import to another apricaiton (like 3d coat or unity etc),, as for me for 3d coat, it can get same size mesh (with unit = meter) , or it actually show real large size mesh.

I may test later , export from 3d coat as fbx and import it to blender,, (but when I test it, it worked before without change setting.

Link to comment
Share on other sites

  • Advanced Member

Yes about export mesh from 3d coat, I think it work as same as before without change blender FBX importer setting.  I test import export fbx with change scene scale as 10 this time

, but it not effect measurement size when import export, or add new model from poly models.

But after import and generate mesh, then change scene scale, it change mesh size , so I think,  I should not change scene scale, once import or generate mesh , but about new import mesh it not matter. (I can set scene scale as I need when I import mesh, or add model from saved poly models,  just avoid clipping issue I may prefer  10 or 100 or 50.  maybe keep to use same scene scale  like 100  or 50 seems most stable with 1 meter unit, I suppose.

Once import mesh , then change scene scale to import new object may easy cause wrong mesurement  I suppose. (though do not know how others use scene scale after import mesh.)

 

fbxtest.JPG

Link to comment
Share on other sites

  • Advanced Member
52 minutes ago, geo_n said:

I hope Andrew is reading this. Clearly it's not as easy or straight to the point to work with real world scale in 3dcoat. It needs to be.

@tokikake can you post your 3dcoat startup file:D

of course,  I hope my saved start file (I do not change color etc ^^; )   work for you too.  With recent  version , now grid sub-D count change so if you use different version adjust grid sub-D as you need.  before to get 10 sub grid, I need to input 9, recent beta version seems change it with request.

Other setting should be same I think.

Just add each setting pics. so you free customize.  I really hope to get clear document about these settings (though there is described, but how each number relate with, was difficult for me, still do not understand what is main purpose of scene scale and unit scale... and about 3d coat offer  primitive setting unit not use same unit, so need to test one by one,  (can not generate with real value easy)

scenescale1.thumb.JPG.4efe2b00697d87b20ce5921b00d2d327.JPG

scenescale2.thumb.JPG.370f89d8b1b48fbc2895cccf149cdaf2.JPG

grids.thumb.JPG.4ef1055e5306ec8ab06961dcfd6d14e2.JPG

samplestart.3b

Link to comment
Share on other sites

  • Advanced Member

I attach my test FBX 

it come with monkey and broken cube. (to get direction clear)

bfbx.thumb.JPG.8bc07339846d753c50db2b07d56aa69d.JPG

cfbx.thumb.JPG.cb7b4764fc43d55cd845f43b71084213.JPG

I just import same FBX in blender and 3d coat. it was exported by blender with use above setting, (you should need to change blender exporter setting , apply scalings  = use FBX unit.

then I can get same size mesh ( about obj it not problem without you change blender exporter setting from default)

And if I still say wrong something,, forgive me please ^^;  actually those scale things have been most difficult part for me, about 3d coat. (I had never thought it is difficult to adjust size ,unit in different arication, but I think 3d coat was unique to understand how it work)

 

testmonkeyfbx.fbx

Link to comment
Share on other sites

  • Advanced Member
On 8/13/2021 at 10:38 AM, tokikake said:

of course,  I hope my saved start file (I do not change color etc ^^; )   work for you too.  With recent  version , now grid sub-D count change so if you use different version adjust grid sub-D as you need.  before to get 10 sub grid, I need to input 9, recent beta version seems change it with request.

Other setting should be same I think.

Just add each setting pics. so you free customize.  I really hope to get clear document about these settings (though there is described, but how each number relate with, was difficult for me, still do not understand what is main purpose of scene scale and unit scale... and about 3d coat offer  primitive setting unit not use same unit, so need to test one by one,  (can not generate with real value easy)

scenescale1.thumb.JPG.4efe2b00697d87b20ce5921b00d2d327.JPG

scenescale2.thumb.JPG.370f89d8b1b48fbc2895cccf149cdaf2.JPG

grids.thumb.JPG.4ef1055e5306ec8ab06961dcfd6d14e2.JPG

samplestart.3b

The samplestart file work great!  I was able to import models from lightwave, blender in metric scale in 3dcoat 2021 in the modelling room.  There's that extra step needed in retopo room to make the model visible in paint and uv room. I think that should be automated when importing meshes and instead 3dcoat should just ask what texture resolution it would use for the uv.
I exported the mesh from paint room and checked the scale in lightwave and blender and it was correct as well. I will have to check the difference from your startup file and the startup file I created to see the difference. 
3dcoat really should deal with this issue so we don't to go around hoops to get correctly scaled model.

  • Like 1
Link to comment
Share on other sites

  • Advanced Member

I now test paint imported mesh with the settings, then I noticed, voxel per unit relate with brush size too

So if you do not like to set too small value for brush radius setting with attached sample start file,  (I set it as voxel per unit = 100)

you may change voxel per unit  as 1.0 (for paint I suppose voxel per unit not effect anything. I hope so)

At same time, as I mentioned, voxel per unit effect  grid distance (custom grid) too.. then  when voxel per unit = 1,  I change custom  grid step = 1.

to show 1 meter as main 1 grid distance.

Then when I set voxel per unit = 1,  brush size use the current unit = 1 meter for brush radius,   so 1cm brush = 0.01  (I think if we set voxel per unit = 100,  1cm brush change as 0.0001 , with keep scene scale as 100. (I do not touch scene scale now, keep as 100)  

Link to comment
Share on other sites

  • Reputable Contributor

I noticed the brush size too.  The number changes the but the radius circle in relationship to the object does not change. 

The setting of a scene scale of 100 and the unit set at meters always worked for Obj file format but as you pointed out not for FBX but you found settings that do work. I have not tested yet, busy.

You have done a lot of hard work. A big thanks.

Link to comment
Share on other sites

@tokikake 

Scale system:

Here I see a problem.

Models do not individually save their scale (either modified or imported), but modifying in Sculpt Room the scale (Geometry> edit scene scale) affects all other rooms.

Try this: Import a model for PPP in Paint Room, work on it.

Now switch to Sculpt room and modify the scene scale.
Go back to Paint room, the model has resized, so all the brush values you were working with no longer work.

You have to reset them all one by one to new values that work.


in other apps it is usual that each model has its own modifiable scale.
scale.jpg

 

And that each scene allows you to select the units and scale with which you work, which is the one that affects the control of the tools.

UNits.jpg

Link to comment
Share on other sites

  • Reputable Contributor

@Carlosan. 

Agreed.

Importing a model for PPP changes the scale of the scene so the model is viewable in the viewport to work on but remembers the scale of the object on export

The above causes our problems. We have no control over the scene scale importing for Per Pixel Painting mode. As you said if we change the scene scale after importing it messes things up.

I hope Andrew will give us a better way or a more standard way to handle scene scale and units in 3DC through out 3DC.

 

 

 

  • Like 2
Link to comment
Share on other sites

  • Advanced Member
5 hours ago, Carlosan said:

@tokikake 

Scale system:

Here I see a problem.

Models do not individually save their scale (either modified or imported), but modifying in Sculpt Room the scale (Geometry> edit scene scale) affects all other rooms.

Try this: Import a model for PPP in Paint Room, work on it.

Now switch to Sculpt room and modify the scene scale.
Go back to Paint room, the model has resized, so all the brush values you were working with no longer work.

You have to reset them all one by one to new values that work.

Thanks now I understand you means.   I may need clear parameter guide for those 3d coat propertys. 

 I feel 3d coat mix use " scene scale " for object scale and world scale..   if 3d coat offer  object scale for each mesh,  it should be simple (show the parameter for all room mesh, then we can confirm current mesh posed scale in working room  but can keep same scene scale.  

in blender,, I often use change object scale >> apply scale ,,for each object, (bake current posed transform scale 3.5 as zero pose scale = 1.00)

Link to comment
Share on other sites

  • Advanced Member
On 8/14/2021 at 11:16 PM, digman said:

@Carlosan. 

Agreed.

Importing a model for PPP changes the scale of the scene so the model is viewable in the viewport to work on but remembers the scale of the object on export

The above causes our problems. We have no control over the scene scale importing for Per Pixel Painting mode. As you said if we change the scene scale after importing it messes things up.

I hope Andrew will give us a better way or a more standard way to handle scene scale and units in 3DC through out 3DC.

 

 

 

I guess this is the fundamental core of 3dcoat that needs to be developed since we have a modelling room that needs to work in real world scale like other appz. 
A clear way to work with scene scale globally and object space concept to apply/reset transform. 

Link to comment
Share on other sites

  • 2 weeks later...
On 8/28/2021 at 4:32 AM, tokikake said:

I could confirm recent beta 2021.38 solved Scene scale issues Thanks :drinks:  (I  have felt really annoying about this, because I needed to change scene scale  as 10 or 100 to avoid view clipping issue when zoom) then it can manage import mesh with unit meter easy. (but did not work about some new modeling tool)

1 3DCoat now can manage Scene scale correctly for Surface Strip, Surface Swept, Profile for Cap and first mesh  (never generate wrong scale mesh any more)

2 3Dcoat can manage Scene scale correctly for Array of copies and Surface Patch tool (never generate wrong scale copied mesh with scene scale setting)

Really thanks Andrew and Gorvadofsky , (all 3DCoat team):)

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...