Search Unity

[Updated] Surforge 1.3.1 - 3D rendered PBR texturing in Unity

Discussion in 'Assets and Asset Store' started by Sergeyv_3d, Jan 27, 2017.

  1. Doctor06

    Doctor06

    Joined:
    Nov 1, 2014
    Posts:
    31
    I was finally able to get surforge implemented in my model. I feel it turned out pretty well
    Aquila.png Aquila 2.png Aquila3.png Aquila interior.png
     
    Sergeyv_3d likes this.
  2. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,414
    The uv guide line color is sometimes too faint on top of the objects in the scene and I can barely see them. Is there way to change its color? Because different materials has different degrees of colors representing them in the scene, some material ID's color and uv guide line color is not contrasting enough.
     
  3. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,414
    Also the snapping distance for the grid, uv etc.. How do we control this? Sometimes , it snaps too far away from the uv point, grid point than I like.. I would like to be able to control this distance value.
     
  4. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    I like the texture work and design of the bridge interior very much. Great work! Looks very solid and professional.
    I am very happy to see Surforge is used for such remarkable content.

    There is group of Color variables near 4443 line in SurforgeInterface.cs script: uvLines, uvLinesBorder, uvHelperLines0 - uvHelperLines3.
    You could try brighter colors for them, increasing its alpha valus, or try different colors.

    You can't control the snapping distance yet. But you could set, to what kind of elements you want to snap, with the lock buttons near the magnet. You could also hold the "v" hotkey for snapping to existing Poly Lasso shapes, which overrides other snapping. Hope you find this usefull.
     
  5. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,414
    Thanks for the info. Sergey.

    Is there no hard coded distance value for the snapping anywhere?
     
  6. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    For now you could use only predefined snapping distance value, due to performance reasons.
    The snapping to the high amount of arbitrary points is a performance intensive operation. I managed to made it working fast, and it is also able to snap to the diagonal UV lines, which could be very handy in some cases.
    But such code, to be able to work fast, required predefined settings of snapping values, which could not be easily increased without breaking the performance and priority of snapping for different elements.
     
    Last edited: Jan 13, 2018
  7. VisualTech48

    VisualTech48

    Joined:
    Aug 23, 2013
    Posts:
    240
    Also Sergey would it be possible to control the glow "bleed" effect?

    THanks!
     
  8. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    To control amount of emission glow blur, select Surforge\GPURender\glowCaptureCamera.prefab. In Unity Inspector tab, disable some of "CameraPost(Script)" components with fadeBlurCameraPost materials assigned.
    This will decrease the amount of blur iterations, applied to the emission map.

    The brightness of glow post effect could be tweaked with editing 48 line "resultColor = emissionTex + glowTex * 0.5;" in Surforge\GPURender\addGlowPost.shader

    To completely disable emission glow effect, uncomment the 49 line "resultColor = emissionTex;" in Surforge\GPURender\addGlowPost.shader
     
  9. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    1,414
    In most cases , I would like the snapping distance to be smaller , not larger. So even if I need to change hardcoded distance value in the code, I would go for it myself. Just need to know if there is any variable that I can tweak with.
     
  10. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    In that case you could try luck with changing "selfSnapTreshold", "snapTreshold", "polyLassoObjectSnapTreshold" respectively at the beginning of " RaycastPolygonLasso()" method at 7180 line of Surforge\Editor\Interface\SurforgeInterface.cs
    Please note, that values were not designed for changing.
     
  11. VisualTech48

    VisualTech48

    Joined:
    Aug 23, 2013
    Posts:
    240
    Texturing a concept phone with Surforge:
    Phone_Test.png
    Phone_Test_002.png
     
    Sergeyv_3d likes this.
  12. Tili_us

    Tili_us

    Joined:
    Dec 21, 2013
    Posts:
    3
    Hi, just purchased surforge, amazing tool!

    Is there a way to get matching geometry on 2 separate UV islands that share an edge? For example creating a pipe that flows across multiple UV islands is now pretty hard?
     
  13. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Hello,
    Thank you very much for your purchase.

    If your UV islands have the same scale, you could create 2 pipes (or duplicate one), with tips protruding out of UV islands a bit. Then match it, using Unity Editor native move tool.
    But most likely, you would still have visible edge on your detail in this case.
    The key here is good UV layout planning. For best results, it is better try to avoid pronounced details on UV island edges.
     
  14. Tili_us

    Tili_us

    Joined:
    Dec 21, 2013
    Posts:
    3
    That is fair.

    But I wonder if it would be hard to create perhaps some guidelines that were projected from 3d space back in uv space. Would make this process easier?
     
  15. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Yes, i think it is possible. Thank you very much for the idea.
    When you press Control key, while cursor is over model on Surforge texture preview window, it highlights the corresponding UV island. So model-to-UV matching code is already there.
    It should not be hard to implement the possibility to create a guide object on the UV space, for which you could snap to.

    For now, if you are interested to make something with it - there is "Vector3 matchedUvPoint" veriable near the 6050 line of "Surforge\Editor\Interface\SurforgeInterface.cs"
     
  16. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Hey there,

    Purchased this today. Excellent tool. Already left a review too.

    I was reading up though and realized fairly quickly that natural stuff like bricks and wood and rocks are difficult to null in this asset. What are the plans if any to make those more organic and natural things happen?

    Also, are there any options for me to be able to get that? For example the materials seem to be the biggest thing and I would be interested to know if I can somehow make my own materials to use. If so... how? What tool? Substance designer? The manual said some of them are substances. If so, how would I implement them?

    Keep up the great work. It's still an awesome tool... if I want to make sci-fi stuff hehehe.
     
  17. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Hello,
    Thank you very much for your purchase and positive review.

    Yes, sci-fi content is easier to create than organic. That is not only with Surforge, but in general.
    Organic content requires more complex 3d models, sculpting, and hand painting. And sci-fi could easily be created using prefabs instancing and poly lasso tools.
    I am working in this direction. For board and wood things, noise deformer could be used to achieve some "wavy" look. There are some Poly Lasso presets, that uses "convex shape" technique to deform the surface faced to a camera. In combination with noise deformer, shatter, and materials it could be used for rocks and stone walls.
    More organic kitbash prefabs will be added in the future.

    You could create your own materials or modify existing ones for use with Surforge.
    There are all needed map slots in Surforge materials. You could use your own maps with it, and save the result materials for future use.
    It is possible to import Unity Standard (specular setup) materials with drag-and-drop to Surforge texture preview.
    You could also use Surforge itself to create materials.
    Please check this video:
     
    Mark_01 and hopeful like this.
  18. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Thanks for the reply. Good info. I have been following along with several tutorials to learn the tool itself. I just noticed a lot more sci-fi and little to no brick walls, wooden doors, etc. Oddly enough there are rock and brick details in it hehe.
     
  19. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Speaking of brick walls, just want to show how seamless "decoBrick" material, that ships with Surforge, was made.
    seamlessDecoBrick_Surforge.jpg

    - I created brick objects with Poly Lasso tool, with seamless mode enabled. Snapping to poly lasso objects is very useful here, you could hold "v" key for it. It snaps to seamless clones too.
    - Divided some bricks into smaller ones with Poly Lasso split.
    - Added noise deformer with small scale preset to make bricks a little wavy.
    - Used "assign random vertical offset" effect, which could be found in Material tab, to make bricks look more interesting.
    - "Assign random material masks to selection" effect, to spread different materials between the bricks. You do not have to select all objects for these effects. If nothing is selected, the effect will apply to all objects.
    - Assigned one of stone materials, that ships with Surforge. Duplicated it (ctrl+c, while mouse pointer over one material in Texture preview, ctrl+v over another). Made materials slightly different, by tweaking it material properties: color tint and specular/glossines a bit.
    - Tweaked the whole material set with "Adjust" group of controls, found in material editor dropdown menu, to achieve the final look.
    - Exported material, and imported as Surforge material preset.

    I know that bricks here look more artificial than organic. But this is highly customizable workflow. You could easily define the shape, size, and materials of the elements.
    It also allows to get seamless patterns pretty easy, which could be tricky to achieve without Surforge.
    I am searching for the way to create more organic looking objects with Poly Lasso. I hope to add new Poly Lasso presets in the future.
     
    Last edited: Feb 25, 2018
    Akshara, hopeful and wolfen231 like this.
  20. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402

    Nice!

    Couple of questions for you.

    1. Maybe I missed it in the documents. Where is the noise deformer or how to use it? (NEVERMIND, FOUND THIS)
    2. Under "Adjust" material for Global Texture Scale. I am working with an atlas currently. How can I make that not ruin tiling? No matter the scale it will of course not work when an atlas is in use that I know of. I wish there was some way to constrain that tiling to a uv island and not the entire area, or just disable it and get that same detail another way.
     
    Last edited: Feb 25, 2018
  21. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    The noise deformer could be found in "Decals, deform, shatter" tab.
    It deforms selected poly lasso object's shape.
    surforge_noiseDeformer.jpg

    The "Global Texture Scale" slider is for modifying the tiling property of all materials in the current set. You could set it to 1.0 to disable it.
    By default it is set to 0.5, that is equal to all materials textures have tiling multiplied by 2. This is just for virtually increasing the resolution of used textures, as your texture details usually smaller than whole UV space.

    The material tiling is set not per UV island, but per material. What your poly lasso filled UV island does, is just generating a mask to define which material is assigned to this part of your texture.
    To set different tiling to a UV island, you have to assign different material ID to it (with 1-8 hotkeys on the top of keyboard text block, or with digit buttons on Material tab), and update id masks with "Space" hotkey. Then duplicate your material with ctrl+c, ctrl+v (or drag and drop new material to the corresponding part of texture preview) and set desired tiling/offset for material textures.
    There is also "material rotation" feature, that could be used per material.
    After you export the results, the tiling settings for different materials will be combined together, and the result material will have tiling of 1.
     
  22. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    That's what I have been doing. But I think its the global texture scale in the causing it not to tile.
     
  23. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    @Sergeyv_3d Making some better progress now on some bricks. At least for experimentation.

    I realized I have a feature request. Don't know if asked yet or if even possible.

    On the "assign random materials to selections". I was wondering if it was possible to add the ability to choose the material range to use. Instead of using all 8. Like assign randomly materials 1,2,3,4.

    Cheers!
     
  24. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    There is a similar feature "shift selection material masks".
    shiftSelectionMasks.jpg
    It is a slight mask randomize: some objects get ID+1, and some stay untouched. You could use it several times to add more randomness to IDs.
    Hope you will find it handy.
     
  25. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    @Sergeyv_3d That will work well enough. Thanks for the suggestion.

    One more request... unless you have a slick way around this one too hehe.

    Can we somehow get the "seamless" feature to work with squared off uv islands? As long as their dimensions are symmetrical.

    Or is there some way I can do this now. Build on a regular plane what I want, then somehow fit that into the UV island after load in another object? Or save out what I made as a detail object I guess.

    Your help has been much appreciated. Thanks for bearing with me. This tool is so much fun to play with. I like it almost as much as substance designer in terms of just toying around with it. =D
     
  26. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    I am very happy you like Surforge. :)
    Yes, this is possible with some UV planning. You have to leave extra UV space for this effect.
    surforge_UvTiling.png
    Don't forget, that your texture details not tied to UV islands. You could duplicate it with "ctrl+ d", move it, rotate, and uniform scale with native Unity Editor tools.
    You could also change model any time while working on your texture. This could be handy, if you have several models sharing one UV space.
     
    wolfen231 likes this.
  27. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    What I have achieved with your help. Still can't beat the detailing of Substance D, but still pretty darn good for an in unity editor. =)
     

    Attached Files:

    Sergeyv_3d likes this.
  28. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    @Sergeyv_3d I may not have understood the manual well, also couldn't really find anything on this thread. How can I add my own "textures" to the material list? Like you did with your brick example you showed me.

    Edit: Also don't mean like your video. Like how can I get them into the list of textures / maps to use on the side left bar like you did with the bricks.
     
    Last edited: Feb 28, 2018
  29. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Select any material in the Texture View with "ctrl" key, while hoverting it with mouse pointer, and modify it.
    Click "save material" button with an arrow icon.
    Surforge_saveMaterial.png

    Click "reload" button in the Materials tab, to update your material list.
    New material appear at the bottom of material list.
     
    Mark_01 likes this.
  30. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Not quite what I am looking for. I have made this brick wall with 4 separate materials. I want the "whole" brick wall with all those materials to be a material in that list. As if it was one single texture / material I can apply. This method only takes "one" material from the material set.
     
  31. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    There are two different approaches for the thing you are probably looking for.
    The one is to export your result material with all textures as image files with "export" button, then drag-and-drop it back too Surforge and save as single material.

    If you need the combined set of materials, used in your texture scene, but without texture detail objects, you could use "Material Sets" feature. It could be very handy for creating several textures of similar design.

    You could duplicate and export the whole Material Set, similar to single materials. To switch material set, scroll over or select it in dropdown menu with material set name under the Texture Preview. There are duplicate and export buttons near it.

    You could switch material sets any time while working on your texture. All changes in the sets are saved with the scene, so you could have several material designs of the texture at once if needed.
     
    Last edited: Feb 28, 2018
  32. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Yeah, I was mainly looking for the first one which I did. I would just rather it be possible to add that to the list of available textures / materials on the left hand bar. I make something with a material set, export it, assign it to mesh. Got that already. Just wish I could add that material to that list of other materials on the left is all.
     
  33. milox777

    milox777

    Joined:
    Sep 23, 2012
    Posts:
    105
    Will there be a possibility to paint on existing diffuse/albedo textures with Surforge? This would make the tool far useful to me, as I need to create additional skins for my weapons for which I already have good diffuse texture. I tried tools like Substance Painter but they're so absurdly complicated, and doing this in Photoshop isn't that easy either for a non artist graphics noob. Surforge seems easy enough to use.
     
    Mark_01 likes this.
  34. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Thank you very much for your suggestion. I will add it.
    There is already a ability to create Surforge details over imported base normal and occlusion maps.
    For now, you could enable option "export masks - separate", and use exported masks to combine Surforge results with existing albedo texture in image editor.
     
    Mark_01 likes this.
  35. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    908
    Hi I just started experimenting with Surforge. Trying to follow your simple test video. In Poly lasso mode after I draw a line and press press ctrl left click, the line disappears?
     
  36. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Need to make sure you are cutting all the way through the object. Make sure you start outside of the object and end outside of the object.

    It won't work if its not all the way out when using the ctrl click method.
     
  37. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    908
    I watched the video again I see I missed an important step of filling the UV Island so there was nothing to cut.

    Also I was clicking to end then adding a final ctrl click when you just need to end on a ctrk -click
     

    Attached Files:

    Last edited: Mar 13, 2018
    wolfen231 likes this.
  38. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    That would do it to haha.
     
  39. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    908
    Can you edit a object once it is laid down?
     
  40. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    If you mean the poly objects then yes. You can just select it (be sure to disable the lasso tool) and then use regular unity transform tools. Scale, rotate, move all work.
     
  41. ibyte

    ibyte

    Joined:
    Aug 14, 2009
    Posts:
    908
    I was wondering about moving the points. I noticed I can see the points of the object in the inspector but changing them does not seem to update the object.
     
  42. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Hello,
    Thank you very much for your purchase.

    You can't edit control points yet. But it is one of the features, i am working on now, along with NURBS curves.
    upcoming_Nurbs_controlPoints.png
     
  43. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Curious. Could they be probulderized and then edited?
     
  44. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Yes, all Surforge meshes could be ProBuilderized and edited.
     
    ibyte and wolfen231 like this.
  45. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Will there be any updates? I noticed it's gone kind of quiet here.
     
  46. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    The work on updates is going. I'll tell you a bit about what I'm doing right now.

    There are several features, almost ready to be released: the NURBS curves shapes with sharp / smooth / weighted control points and curve mesh deformer.
    Another intensely requested feature i am working on, is an option to choose between specular and metallic workflow.

    But, the thing i have to focus right now is Unity 2018 support. As you know, they changed a lot in Unity 2018.
    There will be a minor update (hopefully at the end of this week) dedicated to compatibility with Unity 2018, bug fixes and usability improvements.
    The major update with new features will be ready later. I hope that it will be ready this spring.

    Perhaps you will be interested to know, that in my spare time I'm working on an brand new asset: mesh based, computer generated floral ornament, and more, based on Michael T. Wong paper.
    In a nutshell: you choose the shape, and it fills it with ornament, respecting the shape edges.
    Best used with Surforge, but also possible standalone. The lot of NURBS features i made for Surforge is also used, which opens up the opportunity to work productively.
    The core algo is already done, you could check the sneak-peek here.
     
    Last edited: Apr 17, 2018
  47. wolfen231

    wolfen231

    Joined:
    Apr 22, 2014
    Posts:
    402
    Thanks for the update!

    Interesting asset indeed. Curious to see where you take it. :)
     
  48. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Good news: Surforge 1.1.1 update is ready and available.

    This minor update is dedicated mostly to Unity 2018 support and fixes.
    Changelog
    One of the useful new features is how Surforge materials list now organized:
    Surforge_folableMaterialCategories.jpg
    Categories are foldable, with handy global "fold/unfold" button.
    The material list is loaded directly from "Surforge/SurforgeMaterials/" folder, so you could add your own categories for your custom Surforge materials.
     
    dineshvr, TS42, coverpage and 7 others like this.
  49. hippocoder

    hippocoder

    Digital Ape Moderator

    Joined:
    Apr 11, 2010
    Posts:
    25,445
    Hello, this looks interesting. Is there support for HDRP ? :)
     
  50. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    300
    Surforge don't support SRP at the moment.
    The exported results, which are sets of textures, are suitable for any shaders and rendering pipelines.