Search Unity

Surforge 1.4.5 - 3D rendered PBR texturing in Unity

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

  1. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Ah ok I see. :) yeah a grep returned nothing. FYI, this is Projeny https://github.com/modesttree/Projeny

    Projeny unpacks assets into a folder and let's you setup symlinks, so assets only have to be extracted once and can be used on multiple projects. So Surforge unpacks into a top level folder named Surforge and the Surforge and Example models folder are inside that folder. It's also possible for the top level folder to be moved into the Plugins folder.

    Like this:
    Code (CSharp):
    1. Assets
    2.     Plugins
    3.         Projeny
    4.     Surforge
    5.         Surforge
    6.         SurforgeExampleModels
     
  2. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    @Sergeyv_3d I'm getting an error when trying to Export maps

    TypeLoadException: Could not load type 'UnityEngine.ImageConversion' from assembly 'SurforgeCore'.
    Surforge.c8dd59d5648cb05a46850d0d2efa00c18 ()
    SurforgeInterface.OnGUI ()
    System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222)

    This is in a clean project Unity version 5.6.0p3
     
  3. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    I checked the logged method in the dll, and im afraid this is still issue connected with a path.
    The "UnityEngine.ImageConversion" used there is regular .EncodeToPNG method, and follwing file save code is closely related to paths.

    Coudn't you please try to close Suforge window, close Unity, create new project, make new clean Surforge install from package (not by moving files), without any project organizing assets, and try if it works. Please let me know if it helps.
    Please treat with understanding, that Surforge in current version was not designed for working with project, organized by third party tools.
     
    Last edited: May 5, 2017
    Mark_01 likes this.
  4. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Sorry, my mistake. I thought because the Surforge window appeared things were working. I recreated the project and things are working now. Thanks!
     
  5. adventurefan

    adventurefan

    Joined:
    Jan 17, 2014
    Posts:
    230
    Yes, indeed which is nice with the booleans. I imagine all the editor modeler programs will work like this? It's pretty helpful I find to have one that can edit and make stuff in unity.
     
    doq likes this.
  6. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,325
    @Sergeyv_3d can you show the new transparency? Can you make UI with it?
     
  7. vivredraco

    vivredraco

    Joined:
    Jan 19, 2016
    Posts:
    22
    Hi, Surforge looks pretty powerful, but I have a few questions about how it can be used. Sorry if any of these have been asked before, the thread is too long to read through the entire thing.

    1. All the promotional material talks about creating materials from scratch, which is cool, but honestly I can't see myself using it that way very often. Most of the time, I think I'd want to start from an existing generic material as a base, then use Surforge to add unique detail. Can Substances (or at least standard PBR materials) be imported into Surforge with all their maps, then edited to add detail such as wear, greebling, etc? This is probably how I would want to use it most of the time, so I think this is an essential feature.

    2. What license applies to textures created using Surforge that may contain elements from Surforge's kitbash and decal library? Is the end result fully owned by the user, and thus could be resold (either bundled with a model, or even as part of a texture pack)?
     
  8. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    I am going to record a transparency feature demo video.
    Yes, you can make UI with it. But, this requires "material-to-texture baking", to make result material export to single "unlit/baked light" texture.

    Material-to-texture baking feature is planned in Surforge, probably in the next release. The transparency was the main step in this direction.

    For now you could use this third party free material-to-texture baking script.
    I tested it, and it works (need auto api update), although not very convenient and have some issues. You need to copy Surforge exported alpha from albedo texture to baked map.

    Ability to import existing Standard materials (including substance based) is already in todo list.
    This is certainly an excellent feature, but it is really hard to implement, because of the way GPU works: the maximum number of texture samplers is 16 in Shader Model 3.
    I'm looking for an elegant solution how to get around this limit.

    Sure! Surforge is a tool. Things, that you created with Surforge is your intellectual property.
    You could sell your textures, share it, use any way you like.
     
    laurentlavigne likes this.
  9. Deleted User

    Deleted User

    Guest

    With what kind of materials does this come?

    Can I import all materials from Quixel Suite to Surforge?
    Have a look at 5:10 in this YouTube video.
     
  10. ocimpean

    ocimpean

    Joined:
    Aug 10, 2013
    Posts:
    128
    Does it work with the free version of ProBuilder?
     
  11. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    I am afraid you can't just import Quixel materials to Surforge.
    Surforge materials has its own format, allowing to fit into the limit of maximum number of texture samplers is 16 in Shader Model 3.

    As you could see, Surforge Composer, where you mix your different materials by material ID's, actually a shader. Being GPU based, this gives handy opportunities, like realtime tweaking of all material properties, and Material Sets realtime switching and shuffling. But, being GPU based, it is subject to hard restrictions of 16 texture samplers per shader.

    Dispite this limitation, Surforge material system is handy and powerfull, and allows you to have such effects like worn edges, dirt, mask-based paint layers with custimizable noise, labels, specular/glossiness features fine-tune, transparency, emission, all tweakable in real time.

    Yes, Surforge works with free version of ProBuilder. Just tested it.
    The free version of ProBuilder have no UV editor, it's full version feature. With free version of ProBuilder you are limited to square textures, or you could export your ProBuilder mesh as .obj and create UV layout in Blender.
    You could still preview your Surforge composer material on ProBuilder objects (the same way as in Archimatix video).
    You could also preview your ProBuilder meshes in Surforge Texture preview.
     
    Deleted User and ocimpean like this.
  12. ocimpean

    ocimpean

    Joined:
    Aug 10, 2013
    Posts:
    128
    Thank you for the answer. I'll watch the Archimatrix video asap. So if I understand correctly, I will not be able to apply and/or edit UVs inside Surforge, only apply textures and decals once the correct UV mapping is done in an outside application?
     
  13. TS42

    TS42

    Joined:
    Nov 7, 2013
    Posts:
    13
    Hey!

    I love Surforge + ProBuilder! As a simple developer, I can create my own simple objects and textures now ^_^

    https://gfycat.com/GrizzledSillyBasilisk

    Any tips on how to improve the emission light effects?



    Here is a simple script to control the emission light:
    Code (CSharp):
    1. using System.Collections;
    2. using System.Collections.Generic;
    3. using UnityEngine;
    4.  
    5.  
    6. public class PulseEmission : MonoBehaviour {
    7.  
    8.     public Color color = Color.white;
    9.     public float intensityLow = 5.0f;
    10.     public float intensityHigh = 20.0f;
    11.  
    12.     public float pulseTime = 3f;
    13.     protected float pulseTimer = 0f;
    14.  
    15.     protected Renderer rend;
    16.     protected Material material;
    17.  
    18.     public enum PulseStyle {
    19.         LowToHigh,
    20.         HighToLow,
    21.         Pulsing
    22.     };
    23.  
    24.     public PulseStyle pulseStyle = PulseStyle.Pulsing;
    25.  
    26.     protected float pulseDirection = 1f;
    27.  
    28.     void Start () {
    29.         rend = GetComponent<Renderer>();
    30.         material = rend.sharedMaterial;
    31.  
    32.         if( pulseStyle == PulseStyle.HighToLow ) {
    33.             pulseDirection = -1f;
    34.         }
    35.     }
    36.    
    37.     void Update () {
    38.  
    39.         pulseTimer += Time.deltaTime * pulseDirection;
    40.  
    41.         if( pulseDirection > 0f ) {
    42.             if( pulseTimer > pulseTime ) {              
    43.                 if( pulseStyle == PulseStyle.Pulsing ) {
    44.                     pulseDirection = -1f;
    45.                 } else {
    46.                     pulseTimer = 0.0f;
    47.                 }
    48.             }
    49.         } else {
    50.             if( pulseTimer < 0f ) {
    51.                 if( pulseStyle == PulseStyle.Pulsing ) {
    52.                     pulseDirection = 1f;
    53.                 } else {
    54.                     pulseTimer = pulseTime;
    55.                 }
    56.             }
    57.         }      
    58.  
    59.         float setIntensity = Mathf.Lerp( intensityLow, intensityHigh, pulseTimer / pulseTime );
    60.  
    61.         material.SetColor( "_EmissionColor", color * setIntensity );
    62.         DynamicGI.UpdateMaterials( rend );
    63.         DynamicGI.UpdateEnvironment();
    64.  
    65.     }
    66. }
    67.  
     
    ocimpean likes this.
  14. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    You can't create or edit UVs in Surforge.

    You can preview your UVs, snap Poly Lasso to it, double click fill it, set symmetry axis to the center of UV island bounding box (which opens up handy UV based symmetry for right angle aligned UV islands).

    Surforge automatically adds glow effect around the emissive areas of your emission map.
    In most cases, this is a handy effect, which makes your emission maps looks better without any additional post processing.

    I can see on your screenshot, the effect is much affected by image compression.
    You could try different emission intensity in Surforge and in the exported material at different ratio.
    You could also try to change compression settings of your emission map.

    If you dont like this effect and want to completely remove it, you could edit "addGlowPost.shader" in "Surforge/GPURender/".
    Just uncomment the line "resultColor = emissionTex;"
     
    ocimpean likes this.
  15. Deleted User

    Deleted User

    Guest

    Now is Surforge "complete" or are there some features "missing" compared to other solutions (like Substance Live and Quixel Suite)?
     
  16. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    I'm not sure it should be compared.

    Quixel and Substance are complete solutions. It is closely related to sculpting, high poly baking, hand painting. This techniques are time consuming and require professional skills.

    Surforge was designed for fast, easy, and convenient texturing of simple things, like items, and level elements.
    With Surforge, you don't need the high poly modelling and object-to-object baking. This could save you huge amounts of time.
    Surforge is easy to use, and could be used by everyone, not only pro 3d artists.

    For its tasks, Surforge could be very effective. But it is not suitable for super complex things, like organics and human characters.
     
  17. JacobFast

    JacobFast

    Joined:
    Apr 29, 2014
    Posts:
    47
    Could you provide example for rubber/plastic materials combined with metal, for example a car tire? All videos are dedicated to shiny metal surfaces and pretty much repeat each other, its like the right name for the tool is metalforge since there are no other surfaces.

    Oh and mouse controls broken on OSX. Left click resets the camera.
     
    Last edited: May 11, 2017
  18. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    I like how AO is being baked according to the height of the objects above the work space plane. However, sometimes when you use decals or other lasso objects that crosses half way in between uv edges, you need to raise the other objects in the other uv shells to avoid the other decals and objects cross into the uv area. This does work, but if those uv shells are close enough, AO bleeds into other shell area anyway. This means, uv spacing can't be as tight as I normally would like them to be.

    Even if I don't use decals placed halfway crossing , the other normal lasso tools creates objects that are a lot larger than the uvshells if double click fill is used or traced along the uv edges. it can bleed into the other areas. We can't always create them perfectely fit into the uvshell areas because of the obvious reasons.

    So, what I am thinking is that this tool is in need of some how rendering the pixels of the uvshells that actually matters in turn , only rendering the objects that supposed to affect it. I am not sure what method we can use yet..
     
  19. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    basicCarWheelSurforge.jpg
    Simple car tire example.
    Modeled it in Blender, and textured with Surforge.

    There is a issue with Texture Preview reset with doubleclick, there is no "timer" between clicks at the moment.
    It will be reseted with two consecutive clicks even with long pause, if no "click-and-drag" performed in between.
    I am sorry for the inconvenience, this will be fixed.

    Yes this could occur in rare cases. The best workaround for now is to fill neighbour islands. Sloping geometry edges will cross in between and produce sort of a padding.
    You could also tweak height, offset, and profile scale of poly lasso objects, or make UVs little less tight.
    I will try to improve this somehow in the future.
     
  20. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    This is especially problematic when you want to use large decal that is placed on the edge of uv because decals can't be cut, and they crosses into other uv areas. So in order to hide this decal, I have to fill in the neighbour islands and raise it up. I am fine with filling and raising it, but it casts AO shadow over the other neighbour islands, which is the only issue at the moment. I absoultly don't mind filling and then rasing the island if it fixes the problem. This can get further complicated when your uv islands both wants to use the large decals crossing each other. In this case, there is no way to hide one decals from another, because well,... basically they both wants to be hidden.. :(

    While I was thinking about this issue, perhaps this can be solved by able to associate the decals and lasso objects to the islands so that each island knows which objects it needs to use to render itself.

    Or, even better, have layer system, so that each layer does not interfere with each other during rendering. Have the rendering process work per selected layer and then merge them using the uv masks. Then we can select which layer we are working with so all the objects or decals are associated with that layer. With this system, there can be no interference of bleeding of any kinds and we can even view the working set limited per layer making the whole thing even cleaner and faster with much more freedom on how we place our objects. To define the masks for each layer, we could use uv island info or we can even probably draw one using lasso tool :D
     
    Last edited: May 12, 2017
  21. Deleted User

    Deleted User

    Guest

    So will this be possible in the future or not?

    And what are you working on right now for the next update, is there any roadmap for Surforge? Since I am not a 3D modeling professional I would like to use ProBuilder in combination with Surforge but would like to use good looking materials from Substance and Quixel and others.
     
  22. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    We can really do with shader model 5 , dx 11 is pretty much standard nowdays. Because surforge is tool to make the game, not the actual game itself, imposing such limit is perfectly understandable. I can't imagine someone making game that is basing the prb texturing that doesn't have dx11 compatible graphics card.. if someone needs to fork out a cheap dx 11 card to use surforge at its best , then one should go and get one. If that improves productivity , buying dx 11 card is the cheapest investment of all.
     
  23. elbows

    elbows

    Joined:
    Nov 28, 2009
    Posts:
    2,502
    Dont forget mac users. Unity 5.6 onwards and macs that support metal can handle what Unity are calling pragma target 4.5 in Unity, but I cannot say what proportion of Unity mac users are not on metal-capable machines.
     
    chelnok likes this.
  24. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    True.. mac.. sigh..perhaps some compatibility mode to fall back to current version ? :p
     
  25. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    The same way, how Surforge materials working now, with realtime material props tweaking, it will be not possible.
    16 texture samplers is a hard limit, and the amount of texture samplers in SM5 is still the same as in SM3. Therefore, it makes no sense to change shader model.
    There is not much could be done here.

    But there are some possible future workarounds:
    1. To assign materials to game objects, not material ID mask, then render all at once.
    2. To sacrifice some of the existing material features, unfortunately many, to free extra samplers for Standard material maps.

    Both requires rewrite the entire material system from scratch. Both have drawbacks, which I haven't yet found how to get around.
    Something in this direction may be done in the future, in major version update, like 2.0

    I am now working on material-to-texture baking, to export unlit/baked textures. This is great for mobile and UI graphics, well complement the newly added transparency.
    New assets. And issue fixes of course.
     
    Mark_01, doq and Deleted User like this.
  26. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
  27. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    Hello @Sergeyv_3d - I'm watching the Surforge / Archimatix video, but having trouble. This is with the latest versions of both assets in Unity 5.6. When I get to the lasso step and split the UV map into three section and then go back to the Surforge window, it doesn't change at all like in the video. I still see the skybox image no matter what I pick in the texture dropdown. I selected each different lasso section and assigned a different material mask to each and did a render after that. I also tried dragging textures from the materials, but I can't drop them on the texture preview anywhere. I'm not sure I am understanding the process correctly, but it definitely doesn't look like what's happening in the video. I'm doing all this on a new Archimatix object I created from one of the AX videos (the arch type object).

    After I did a save of the scene, the main arch part of the object, where I've been trying to texture, has disappeared completely. Am I missing a step, or can you recommend things to try? Thanks.
     
  28. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    Well, I restarted Unity and now I can assign textures to the different UV areas! Not sure what was going wrong, as there were no messages in the Console. So things are now working much better. I do have a question about the skybox - is it only there to provide a working backdrop, or does it affect anything in the texturing?

    One more question: Can I drag and drop the UV areas that I created with the lasso, or resize them?
     
  29. M-P-F

    M-P-F

    Joined:
    Apr 22, 2015
    Posts:
    12
    You can manipulate them like any other viewport object - translate, scale, rotate, using the normal Unity controls (W, E, R keys or dragging the gizmo with the mouse). You can also use shrink and expand from the Surforge panel - depends on the shape and what you're trying to do.
     
  30. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    Hello,
    I am happy it works now. Please don't forget to Render (Space hotkey) after you create new geometry with lasso and add detail, or assign material ID's to it (1-8 hotkeys).

    Surforge allow you to save all texture work progress with the scene, including geometry and material settings. It also saves changes in all material sets (selected with dropdown menu), that allows to have different color designs saved with the scene at the same time.
    AX should save its objects too. Maybe something went wrong with it in that case.

    Skyboxes are for preview. They don't affect the exported maps.

    Yes, you can move the geometry, created with the poly lasso, rotate it and uniform scale. The UV islands are for the reference, allow quick fill and snapping. Poly Lasso objects not tied to UVs.
    You could continue cutting it with Poly Lasso after transform, shrink/expand it, and it will be updated correctly.

    I will check it, thank you.
     
  31. JacobFast

    JacobFast

    Joined:
    Apr 29, 2014
    Posts:
    47
    Are there any plans to implement any meaningful material manager, because i am sorry in current state is just a piece of garbage. I am calling its a piece of garbage because i had a lot of frustration with it and i confused how it could survive in this state for so long. Obvious solution would be something like in attached image. Right now i have to manually keep some kind of list of materials and presets they belong and trial and error is the only way to work with the current system.

    Also there is too much different kind of rusty metals setups but very little of anything else. Before going in I had an illusion that surforge has different kind of surfaces right from the box but i am very dissapointed with the actual set. The tool is perfect to design some kind of sci fi rusty garbage container but brings a lot of pain when trying to do something with many smooth surfaces and materials combined (glass, plastic, rubber, metal), like new car which has to be observed from close range. I spend a lot of time and the car was still look like trash with ridged edges all over place and generated texture had some kind of dirt leaking from surrounding planes on windshield when in preview window everything was looking clean. I dont even want to mention all kinds of errors the tool is spitting out all the time like "Null reference object" , periodical unity crashing and very long loading times.

    I would expect much better quality from $50 software which should actually allow me to do job instead of pushing me down into frustration.

    if the price was $15 i would probably give this 3 stars but for $50 it deserves none.
     

    Attached Files:

    Last edited: May 15, 2017
  32. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    Thank you very much for your feedback. I am very sorry that Surforge make you frustrated.
    If Surforge is not suited for your tasks, i can make a refund. Please don't worry your money not lost.

    Surforge is best suited for detailed, worn looking materials. Materials of this kind are widely applied in game development. This kind of materials also harder to create without special tools like Surforge, than clean materials.

    Cars texturing a quite specific task. Сreating a realistic car texture - not exactly for what Surforge was designed. But if you could provide your model, i can try to create an example. Did you check the combined rubber/metal tire example? I could make other material examples if needed.

    You can drag-and-drop your materials from the list to Surforge texture preview. The drag-and-drop in opposite direction, as you showed on your scheme, is already in todo list. This will be improved.

    I am very sorry that you facing issues with "Null reference" and other errors. If you encounter such issues, probably something went wrong. I will do my best to fix it, if you could provide more information.
    Couldn't you please check, that Surforge folder was not renamed or moved after the installation. Could you please try "Window - Layouts - Revert Factory Settings". This may be needed in rare cases.
     
    Last edited: May 15, 2017
  33. Deleted User

    Deleted User

    Guest

    So will Surforge always be best suited only for "detailed, worn looking materials" or will it have all sort of things like Substance and Quixel? Yes I am repeating myself but what I personally want is to use ProBuilder with Surforge while ProBuilder would "replace" a 3D modeling suite like Maya LT or Blender and Surforge something like Substance/Quixel.
     
  34. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    Surforge is fast developing, and material library will be improved.
    If you don't need worn materials you could just lower or completely remove worn edges, dirt, and worn paint effects in Surforge material editor.
     
    Deleted User likes this.
  35. Deleted User

    Deleted User

    Guest

    Will consider buying when Surforge has materials in every category like you see in this video from Quixel. Of course not as many or as high quality as Quixels but not only metal like how it is in Surforge now (at least it looks like mainly focused on metal). Have a look at Quixel/Substance and make stock up your material library, then instant-buy! :)
     
  36. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    Thanks @Sergeyv_3d. Now I'm working with the Detail mode, and at first it was working well. I added a couple of the detail patterns you have included with Surforge, but now when I go to add more left click doesn't place the detail. Instead it goes into rotation mode, which is normally click drag. I restarted Unity several times, and it started to work again, but now it's back to not working. Is there some trick to making this work consistently?
     
  37. SantaKlaus

    SantaKlaus

    Joined:
    Mar 3, 2013
    Posts:
    11
    Hi @Sergeyv_3d,
    thanks for making Surforge, what a sexy tool!

    But, and this is my urgent question, isn't there an API to write editor scripts against Surforge, at least to do basic automation (like f.e. (re-)exporting maps for a number of scenes without the need to click through the GUI for each one...)
    I looked in the UserGuide and tried to find c# sources to expose relevant methods, but couldn't find what I need.

    Best regards.
     
  38. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    This problem was already encountered by one of the users.
    It seems that the issue could occur with the large number of tabs open in Unity Editor. It could lead to issues in rare cases.
    It should be fixed by "Window - Layouts - Revert Factory Settings". Couldn't you please try it?
    Please let me know if it helps. Couldn't you please provide your system details: OS, Unity and Surforge version, and your screen resolution.
    Are you using Surforge alone or with other assets?

    Hello. Thank you very much for using Surforge. I am happy you like it.
    I am afraid there is no API yet. I will check what could be done in this direction.
     
  39. kiranmaya

    kiranmaya

    Joined:
    May 27, 2010
    Posts:
    218
    Do we get baked material with transperency for ui in next update?
    Wiki's baked matarial works. But no transparency.i have added alpha from exported map into baked texture and created new texture .but results are not that sharp. Getting some border unclean cut black lines.
     
  40. capnbubs

    capnbubs

    Joined:
    Jan 26, 2009
    Posts:
    85
    Here's the finished robot guy I've been texturing with this!

    2017-05-17 01_08_18-.png
     
    frbrz, Mark_01, nxrighthere and 6 others like this.
  41. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    Awesome work!

    Yes. I am working on it now.
     
    Mark_01 and laurentlavigne like this.
  42. hoodoo

    hoodoo

    Joined:
    Oct 19, 2012
    Posts:
    154
    I have only Surforge and Archimatix active in the scene, and a couple other minor assets in the project.

    I reverted the layout to factory, then changed it a bit the way I like it. Detail placement was working fine, until I assigned emission mask, and after that I again had trouble placing new detail objects. I have 2 scene windows, 1 with the UV plane and one showing the Archimatix object I am texturing. I found that if I hide the second scene window or close it, then detail placement works. I bring the scene window back and detail placement again stops working. So not sure why 2 scene windows displayed simultaneously can cause an issue, but that definitely seems to be the source of the problem.
     
  43. TS42

    TS42

    Joined:
    Nov 7, 2013
    Posts:
    13
    Hey Sergeyv_3d,
    thanks for your answer. I lowered the emission from 0.9 to 0.3 for export and it looks way better.

    I love Surforge ... and after doing some stuff... it's feedback time!

    Hotkeys
    Starting with Surforge is not easy, because you'r using Unity Standard Hotkeys. WASD (+Shift) is for movement (even if you should not use it because of the centered Y view) and QER for pan rotate scale - don't touch it! I guess you set placing objects and the mirror function on some of the keys... it bugs me every time and in the beginning I didn't know what I did.

    Creating Texture Workflow
    As long as you can not save all the texture data (mesh, materials and objects) in a list, we have to create a new scene for every texture, it's okay, that's the workflow. I guess the rendering size is not saved, starting the export location at the scenes folder would be nice too. I would love to see a Texture-name and Revision field in the export tab. The default Texture-name is something like "$SCENE$_$REV$", to use the scenes name and the value from revision field by default.

    Materials Editor
    Yeah... as mentioned before, it could use some work. I would not say a complete redesign, it's good but not very transparent and if you play with material settings, you often get lost and don't know where you come from.... so creating a new scene to get everything back to normal and start new, is not kind of nice.

    Show material names
    So first of all, I would suggest to display the material names. If you switch materials in the Set, the drop down menu should display:
    - Material 1: CleanGreyMat
    - Material 2: OrangeStripeMat
    ....
    And display the names in the the left material overview panel as well. This will make clear what material you use and starts from.

    Edit materials

    If you add/set a material to the Material-Set, store a copy of the material with an reference to the original.
    If the user changes any of the values:
    - add a * to the name to indicate there are unsaved changes
    - enable the save button and a "Restore Defaults" button
    Make sure to not overwrite data without the users permission (message box: yes - cancel).
    Same for Material-Set.

    Import materials and sets on scene load
    I love to save and organize my stuff. Currently new custom materials are just loaded if you start a new scene. Please load custom data on scene load or add a import/reload custom data button. Or is there a button I have missed?

    You'r doing a great job! Keep on hacking :D
     
  44. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    Confirmed. Thank you very much for finding it!
    Never tried to open two scene windows at a time. Finally the reason found. I will fix this asap.
    Edit: Done. Will be fine in the next version.

    Thank you very much for your feedback. Very reasonable and detailed.
    Most of this is already in todo list, and will be improved with time. Thank you very much for new ideas.

    For now, if you feel a bit lost with materials settings and reverting it back, please check "duplicate material set" button above material id dropdown.
    You could create many copies of your material sets in the scene, and switch it any time.

    This brings the ability of working on different versions of your color design or different separate color designs in one scene. You could also rename a set with a right click on material set dropdown.
     
    Last edited: May 18, 2017
    Mark_01 and pixelsteam like this.
  45. castor76

    castor76

    Joined:
    Dec 5, 2011
    Posts:
    2,517
    We should really be able to undock the preview window or have the material window below the preview window to be able to dock left or right of the preview window. When I drag to enlarge the preview window, it makes the material window vertically smaller so it becomes very fiddly to work with.
     
  46. TS42

    TS42

    Joined:
    Nov 7, 2013
    Posts:
    13
    I'm using the duplicate function all the time, but didn't know I could rename material sets... I always renamed the prefab file :rolleyes:

    Is there already a way to reload the custom materials and sets? This would be very useful.

    Exporting different color schemes for one texture is very nice and I'm using it too.... so here is another nice to have request: in the rendering tab, add a "export Material-Set list" which contains (material set + texture name) and a "export with all assigned material sets" button, to batch build all the color textures on one click :D:D:D

    There is so much room to improve the usability (not negative, I really like that and can't wait for it).

    Again, Surforge is awesome and it works !
     
    Mark_01 likes this.
  47. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    I will improve the way saved Materials and Material Sets update. Hope in the next version.

    For now you could use this way to add your saved material sets to the previously saved scene:
    There is a "settings" object in your scene, where all Surforge current settings of the current scene exposed in Inspector tab. There is a "Scene Materials" list. Please don't be confused, this list is for Sets, not separate materials.
    Drag-and-drop your custom saved material sets from "Surforge\CustomPresets\MaterialSets" to this list.
    If it have unique name (rename asset if needed), it will be added to Material Sets dropdown menu of active scene.

    Thank you for kind words. I am very happy you like Surforge :)
     
    Last edited: May 19, 2017
    red2blue, TS42 and Mark_01 like this.
  48. PhilatovMA_

    PhilatovMA_

    Joined:
    Oct 18, 2014
    Posts:
    8
    Sergey, can you add suppot for non-square textures ? I am using atlses textures, for example 512x2048.
     
    hopeful likes this.
  49. Sergeyv_3d

    Sergeyv_3d

    Joined:
    Jan 27, 2017
    Posts:
    414
    It can be added in the future, but it's not simple to implement.
    Non-square textures are less friendly for some gpu and shader features, such as supersampling, image convolution, and ambient occlusion capture.

    For now, there is possible way to create a non-square texture in Surforge, is to edit your UVs to fit center part of the textue space, and then cut away the excess parts of exported maps.
     
    PhilatovMA_ likes this.
  50. jermaine88

    jermaine88

    Joined:
    Apr 15, 2013
    Posts:
    10
    First off great tool!

    Just having bit of annoying issue.

    I'm getting a Null Reference Exception. And a blank Grey sceneview .

    It typically goes away if I make a new scene otherwise I can't do anything.

    I think this is a Surforge as it the only thing I have in this project..
    I have attached a screenshot.

    Any solutions?
    Thanks for any help
    :)
     

    Attached Files: