Search Unity

[RELEASE] LineWorks - Vector Graphics - Line Renderer - SVG Importer

Discussion in 'Assets and Asset Store' started by mtalbott, Jan 12, 2016.

  1. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    Introduction
    LineWorks is a vector graphics package designed to be powerful, flexible, and easy-to-use. LineWorks was created specifically for Unity to enable high-performance vector graphics. Use this one plugin as an improved line renderer (similar to Vectrosity), create complex and editable vector artwork direct in the editor (similar to RageSpline), effortlessly create resolution-independent GUIs (fully integrated with the Unity UI), dynamically model 3D paths, roads, fences, rivers, etc. (similar to MegaShapes), or import your SVG vector artwork directly from Illustrator, Inkscape, etc. (similar to SVG Importer or Simply SVG). LineWorks offers a robust feature set with shader assisted high performance and a simple and easy-to-learn Editor interface.

    Asset Store
    Link: LineWorks Vector Graphics

    Features
    • In-editor tools for the creation of vector graphics without scripting.
    • Simple Scripting API for the the creation of dynamic vector graphics at runtime.
    • Fully integrated with the new Unity UI for creating fully resolution independent UI’s.
    • Mesh Modeling options for creating fully editable and interact-able 3D meshes.
    • Shader based anti-aliasing for smooth line edges without using MSAA or FXAA.
    • Shader based dynamic widths and gradients for high performance dynamic lines.
    • Shader based rendering of dynamic 3D lines (lines always face camera) with no CPU overhead.
    • Works with any material (LineWorks material is required only for the shader base features and gradients).
    • A complete replacement for the built-in LineRenderer, TrailRenderer, and other 3rd-party vector solutions.
    • Support for SVG importing (shapes, styles, and transforms are fully supported).
    Video
    (coming soon)

    Demos
    Link: WebPlayer
    Link: WebGL

    Documentation
    Documentation can be found here. It is still a "work-in-progress" but there is plenty to get started. Also, LineWorks comes with a series of examples setup to be easy to dissect and learn from.

    Questions and Feedback
    We'd be happy to answer any LineWorks questions or feedback here in this forum post or by email (mike@plp3d.com). If you think other people might be interested in your question, please post it here so everyone can benefit. As this is the initial release of LineWorks we hope to learn from our users to improve and evolve LineWork to meet the needs of the community.
     
  2. aagocs

    aagocs

    Joined:
    Oct 18, 2012
    Posts:
    15
    Great! I was waiting for this for a long time! Will buy it soon, keep up the good work! :)
     
  3. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    I just picked up the package and started playing around with the features. I was wondering why does the Polyline3D have an extra point at the end? On creation in the editor it gets 3 points, but the last point doesn't seem to affect anything.

    Update: I also tried procedurally creating an LW_Polyline3D between two points, but the line doesn't show up unless I add a third point and move either of the first 2 points in the editor.
     
    Last edited: Apr 28, 2016
  4. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Another question. In the 1_FeaturesDemo scene, I'm playing around with the Linecap setting for a stroke, setting it to Round. I'm setting the Material Properties Joins and Caps Mode from Vertex to Shader and I can see the round cap, but when I switch it back to vertex the line disappears, and I only get it back when I switch the Join and Caps Mode back to Shader. Is this a bug / user error? What's the benefit of using vertex vs keeping it shader?
     
  5. doq

    doq

    Joined:
    Aug 17, 2015
    Posts:
    121
    Ran into another issue, with 1_FeaturesDemo example 9 Textures. I'm not sure what I did, but I was playing with the variable width settings and maybe some other things, and the offset animation stopped working. http://imgur.com/nkRg2O5 What I see is on the right compared to what should be on the left.

    I know this sounds a little crazy, but I tried deleting the package and reimporting, and it still isn't working. I tried creating a new project, deleted the cached package and redownloaded, even tried the freshly downloaded package on another machine and it still isn't animating. In the Visual Studio debugger the value is updating, but the material doesn't update in the inspector. I'm target windows standalone.

    I also tried updating to Unity 5.3.4p5 when I was on 5.3.4f1 previously. I'm stumped. Any idea what could be wrong?
     
  6. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Hello,
    I just purchased and think the basics here are wonderful, it's nice to have a powerful vector solution like this.

    My issue right now is the amount of runtime allocations going on for anything dynamic. I'm afraid this won't scale well to a full game without stutter.

    Are there plans to rework this in a GC friendly way?
     
    Last edited: Jul 3, 2016
  7. FireproofWater

    FireproofWater

    Joined:
    Dec 14, 2011
    Posts:
    12
    Is LineWorks still being supported?
     
  8. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    Yes! LineWorks is still being supported. We receive the majority of questions by email. All of the unanswered questions above we're addressed by email.

    I'd love to move the support to the forums so everyone can benefit from it. I'll try to post more and maybe share some of the most frequently asked questions.

    Support is hard work but we are dedicated to helping our users succeed with LineWorks.
     
    PixelEnvision likes this.
  9. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    Actually, I thought I'd shared emails with @PolyVector but that might have been someone else.

    @PolyVector, we are constantly trying to reduce allocations and I think there is definitely some room for improvement. That said, there are some situations where allocations are going to be very difficult to avoid. eg. increasing the vertex count of the mesh, creating and destroying objects, triangulating fills etc. We recently added a presizeVBO property on the LW_Canvas component to avoid allocations on objects when changing the number of vertices in the final mesh.

    If you have a specific situation where allocations are an issue. please share the specific conditions so I can see if there is anything you should try or anything I could change to help with your situation.
     
  10. PolyVector

    PolyVector

    Joined:
    Dec 24, 2011
    Posts:
    765
    Thanks for the update. I'm happy to hear it's something you're considering, I don't expect it to be perfect and I know how tricky it can be to work out certain allocations. :)

    Cheers,
    Oren
     
  11. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,462
    Very cool package.
    Trying to get some coins together for a purchase. In the mean time, can you notify us when there is a sale.
    Cheers
     
  12. jwvanderbeck

    jwvanderbeck

    Joined:
    Dec 4, 2014
    Posts:
    825
    You might want to look at your webpage, because this looked abandoned to me as well. Your website looks like some placeholder thing with no mention of this tool at all, so it is a bit off putting :(

    Does this work properly in Unity 5.4? I notice most assets say they were build for Unity 5 but yours does not.

    I am looking to draw a lot of circles and arcs and it looks like this might be a good fit.
     
  13. laurentlavigne

    laurentlavigne

    Joined:
    Aug 16, 2012
    Posts:
    6,365
    This looks fantastic.

    • ANIMATION: Could you add this tentacle demo to the webGL demo?It's so useful for 2d characters so I'm very curious about animation performance: if an animator move the spline handles to make a live octopus, what's the cost of the drawing being updated? More expensive than skinmesh/bone? What is gpu accelerated and do you go through the unity mesh API?

    • DLL: As you know if you work on multiple projects, juggling plugins is a pain especially if they contain 10s of .cs files, does the asset store package include zipped .dll that can be used to deploy it on multiple projects?
    • RAMP: how do you make ramps in lineworks? Does it support illustrator ramps? (I don't know if svg support those)
    • SPRITES: sprite support? Do they stay vector (good for zoom) or get rasterized first?
    • LOD: how are they handled? I'd like to zoom really really far back, showing 1000s of objects
    • ANTI ALIAS, I see from the webGL demo that AA doubles the vertex count, in what case does this get more expensive than unity AA?
     
    Last edited: Aug 25, 2016
  14. andreidbz

    andreidbz

    Joined:
    Feb 23, 2014
    Posts:
    3
    Hi. I bought the LineWorks package because I am interested in showing realtime SVG graphics in a WebGL window. I saw that in the documentation there is stated that the parser can be used to parse a SVG in realtime and I would want to try this, but there is no other info about this. How can I do this, import SVG at runtime and not through the editor? Thanks.
     
  15. boxhallowed

    boxhallowed

    Joined:
    Mar 31, 2015
    Posts:
    513
    I need this in my life, why doesn't Unity have this by default? I will be checking this out as well.
     
  16. jGate99

    jGate99

    Joined:
    Oct 22, 2013
    Posts:
    1,945
    Is it dead?
     
  17. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    @JohnGate. No it's not dead. I reply to support questions by email. I get +-1 support question per day that I try hard to respond asap. Most of the questions on this post were also asked via email and have been responded to directly by email. If you have a general question, please ask it here and I'll start responding on the thread.

    As for the future of LineWorks. I should get a small update out soon with just some compatibility fixes for new Unity Version and probably deprecating support for some older Unity versions.

    After that, it's probably time for a major release with some interface and performance improvements.
     
    Last edited: Jan 2, 2017
    ayk likes this.
  18. ayk

    ayk

    Joined:
    Nov 14, 2013
    Posts:
    58
    I'm so glad to see that Lineworks is still alive and supported! It's my favourite of the SVG packages I've bought, well worth the price.
     
  19. AlexHell

    AlexHell

    Joined:
    Oct 2, 2014
    Posts:
    167
    We are finding a tool, which can read svg into inner svg-model in ram (not just convert to mesh and texture), also there is a need to manipulate svg at runtime, for example: change scale (from 1 to 10000), blending and etc, without artefacts and quality lost, like adobe flash. Does this tool do this?
    And how about performance on editing svg and rendering it at runtime (Does the 3d acceleration present? Will there be any lags?)
     
  20. AlexHell

    AlexHell

    Joined:
    Oct 2, 2014
    Posts:
    167
    plus in docs I have read "svg import does not support filters, clipping masks", but does the plugin support dinamically adding clipping masks (by code) and dinamically blending to imported svg?

    and what is "WebGL is producing the occasional issue. We're working on it." ?
     
  21. xqtr123

    xqtr123

    Joined:
    Jun 7, 2014
    Posts:
    20
    Is this asset working in 5.5.2? I have SVG Importer but the creator seems to have abandoned the project. If Lineworks is still alive and working I'll jump on the boat!
     
  22. mitchmeyer1

    mitchmeyer1

    Joined:
    Sep 19, 2016
    Posts:
    32
    Does anyone know about performance with this package?

    Trying to figure out if its right for my game or if I should stick with PNGS!
     
  23. milites

    milites

    Joined:
    Sep 29, 2016
    Posts:
    3
    They don't seem to respond to direct emails. So my assumption is its no longer supported.
     
  24. PhilippBGL

    PhilippBGL

    Joined:
    Oct 7, 2014
    Posts:
    1
    Hi there,
    can this asset import <text> elements from a SVG file as well or will the just be ignored?
     
  25. kirill-shevaha

    kirill-shevaha

    Joined:
    Jan 16, 2017
    Posts:
    1
    Hi, I just bought LineWorks, but i have some problems with quality of images.
    My png files in the same resolution looks better than this "vector".
    Maybe i'm not seting up imported prefabs properly, can you help me to understand what i'm doing wrong?
    Like in the instruction, i'm draging my svg file into the Unity, it's creates prefab automaticly, but just look at the quality (attached screens).
    1 screen: on the top png image, on the bottom svg prefab
    2 screen: in the browser svg file looks perfect.

    So whats the problem? Can you help me?
     
  26. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Hey there, I have just bought Line Works and this looks great, and almost exactly like what I need for our current project.

    However, right after importing the asset for the first time, Unity got stuck at "Hold On - Importing Small assets", for probably 10 or 15 minutes, and then crashed.

    I restarted and played around with some of the example scenes. Everything looked fine except for a NullReferenceException I noticed after playing around in the 3D-example (will properly report if I see it again) and some of the demos requiring Jump and ScrollWheel input being set up.

    Unfortunately, after changing Input and a few things in 9_PerformanceDemo, saving scene and project resulted in Unity doing a little re-import ... and got stuck in "Hold On - Importing Small assets" again. This is a fairly large project but I have never seen anything like this happen until an hour or two ago, so it almost certainly has something to do with Line Works.

    Is this a known issue? Is there some kind of work around?

    EDIT: This is happening on Unity 5.6.3p1.
     
    Last edited: Oct 6, 2017
  27. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    @jashan That is not a bug I'm familiar with. LineWorks is made up of mostly c# scripts so the importing should be pretty straight forward. The example scenes and prefabs were saved in Unity 5.2 so there would be a little refactoring when opening them in a newer Unity but it should be a one-time thing.

    Without knowing what might be causing it, what I suggest is remove the "Examples" folder from your big project. LineWorks will still function and will only be scripts and shaders. If you need to reference the examples you can always import LineWorks into a Blank project.
     
  28. mtalbott

    mtalbott

    Joined:
    Dec 21, 2011
    Posts:
    125
    Also, to everyone else following this thread. LineWorks is on sale for the next two days. I recently submitted an update that addresses the most common issues people have.

    For example: LineWorks uses ScriptableObjects for all graphics and styles. This means that when you Instantiate multiple prefabs, it is still linked to the original ScriptableObject references. So a change to one graphic element would change them all. Because this can be confusing, I added a "copyGraphicsOnAwake" property to LW_Canvas so that new instances can be modified without modifying the original. This is set to true by default.

    I also solved the issue with fills failing on messy path data (ie. concurrent points, and double-backing).

    If you haven't had a chance to check out LineWorks. Now is a great time to give it a try.
     
  29. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Thank you for the quick reply - that's very much appreciated.

    And it turns out I was wrong: The issue was caused by Morph3D which apparently does funky things when other packages are imported and then put itself into an endless re-import loop when handling ContentLibrarySO.asset. I'll update that package and see if they have already fixed the issue. It was mere coincidence that this apparently tipped over when I added LineWorks.
     
  30. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Something else (just a feature / support request):

    I am building paths (based on LW_Path3D) that consist of a wide center line, and an outline left and right. I tried making the start and end point "round" using Linecap (Round) but that doesn't really seem to do the trick. Linecap "Square" seems to do what I would expect ... but a square doesn't help me. Also, the outlines apparently wouldn't quite work with that.

    So what I'm trying now is using actual circles at each end, as a separate object (because those need their own Style / Strokes). Problem is that the "filled" part (between the two outlines) is transparent, so when I add a circle, I still see the hard straight end of the line.

    Would the be a way to do just half a circle, maybe?
     
  31. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Maybe I should look more closely at the logs before posting things. It actually is an issue with LineWorks:

    Code (csharp):
    1. UnityEditor.AssetDatabase:SaveAssets()
    2. LineWorks.LW_SVGPostProcessor:OnPostprocessAllAssets(String[], String[], String[], String[]) (at Assets\LineWorks\Plugins\Support\LW_SVGParser.cs:74)
    So, what seems to be happening is that when you have both, Morph3D and LineWorks in a project, LW_SVGPostProcessor gets a little confused.

    Looking at the code (and knowing there is a problem), it's kind of obvious: The section starting in line 73 is executed regardless of whether svgPaths.Count > 0, in other words, always, in other words: Trouble, even when the project doesn't even have SVG-files.

    Moving this one level up (into the if-block) should fix it.
     
  32. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Apologies for bothering once more during the weekend (I don't except support during weekends - I just happen to have a fairly tight deadline tomorrow):

    I now have results that are fairly close to what I'm looking for, visually. Unfortunately, I'm running into a pretty severe issue with performance.

    I noticed this because creating even just a single path during gameplay resulted in fairly severe hiccups (this is a VR game, so framedrops are extremely noticeable and generally not acceptable).

    For the test, I'm building 20 paths, based on curve data from a file, each path based on one and the same prefab. I have disabled "Copy Graphics On Awake" and instead built my own routine that creates a new, empty LW_Group, grabs the reference to the styles assigns them (so styles are shared), and then, finally creates a new LW_Path3D filled with the relevant points. This does seem to significantly reduce the problem (see last three paragraphs) but by far does not solve it, yet.

    We're not using "Segmentation" (Segmentation = 0) because we have enough points from the original curves, we also don't use Optimize.

    The actual instantiation time is fairly fast (the numbers are ms): Instantiated 20 sliders, min: 1, max: 52, avg: 4.1 | Total Instantiate: 82 | Total Time: 95

    Interestingly, when I use Debug.Break() to pause the Unity editor right after instantiation, and then step forward one frame, I get all my paths showing up correctly, without allocations showing up in the Unity Profiler (but that might be a bug in Unity). However, when I then continue, I get the same performance issue that this is all about:

    Without pausing, what I get is this: On the first frame, which is probably the frame that actually creates the paths (so one frame after they are instantiated), I get a very heavy Canvas.SendWillRenderCanvas(), with 262.8 MB GC Alloc, and 293ms time. There are 412 calls to "CopyChannels", and 67 calls to Mesh.AwakeFromLoad / Mesh.CreateVBO.

    Even in this frame, we also get the issue that then completely breaks performance for 7 or 8 frames, adding up to about 0.4 seconds: "Loading.UpdatePreloading" takes 50ms each frame, in something called "Application.Integrate Assets in Background", with the bad guy apparently being GC.MarkDependencies (47.33ms).

    For reference: When I use "Copy Graphics On Awake" (admittedly, with a fairly heavy LW_Path3D in the original), and run the whole thing without my optimized approach, things are much worse:

    Instantiation time is comparable: Instantiated 20 sliders, min: 2, max: 53, avg: 5.5 | Total Instantiate: 110 | Total Time: 120. Canvas.SendWillRenderCanvas() is almost exactly the same: 262.4 MB GC Alloc, 269ms (so this is actually a little faster in this sample, which probably doesn't mean anything). Loading.UpdatePreloading also starts here, with 52ms in this frame.

    But then, it continues for a whopping 26 frames. So with this, the game basically stops for about 1.3 seconds (or goes down to 20 frames per second during that time).

    Looking at the first frame in the profiler using Deep Profiling, it looks like most of the time is spent in LW_Canvas.UpdateBuffers(), LW_VertexBuffer.Rebuild(); and most allocations occur in LW_Canvas.UpdateGeometry(), when the Capacity is set on the list(s).

    So ... I might be able to fix the issue on the first frame by "pre-warming" those paths. I'll see if this also fixes the other issue then ...

    EDIT: So, I have added a "prewarmer" for the List-pools and possibly fixed a bug; this reduces the allocations in that frame down to 11.2 MB. It also made things a bit faster in that first frame (184ms now, instead of 269 before). But the intense "UpdatePreloading" issues spread across multiple frames is still breaking things.

    EDIT2: Turns out fixing that bug (I'm pretty sure it's a bug) gets us down to 13 MB even without prewarming. That's in LW_Canvas, in UpdateGeometry, around line 1909:

    Code (csharp):
    1. vertexCapacity += vBuffer.positions.Count; // using Capacity here breaks with pooling / prewarming
    I noticed there was a problem here because I wanted to figure out my maximum required vertexCapacity, and every time, my maximum value was the previous capacity I prewarmed with x3. Oh, and I also removed 65534 from the max in line 1911:

    Code (csharp):
    1. vertexCapacity = Mathf.Max(m_VertexCount, vertexCapacity /*, 65534*/); // this might be a bit of a waste!
    Turns out I'm never going above 3000 here (most objects are circles that have 204; the biggest one needs 2616).
     
    Last edited: Oct 8, 2017
    Muckel, Arkade and trenthm like this.
  33. jashan

    jashan

    Joined:
    Mar 9, 2007
    Posts:
    3,307
    Ah ... got it ... it's the calls to Resources.UnloadUnusedAssets(); in particular the one in LW_Canvas.Awake().

    We do this while not rendering to VR while loading scenes. We'd never want to call this during actual gameplay ;-)
     
    Arkade likes this.
  34. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    655
    Hi, just purchased with the hope (from my reading of asset store, docs, etc) that I might be able to create resolution independent UI using Inkscape then import parts and attach appropriate behaviour to the elements. I read the SVG importing section. The bottom section seemed to suggest we get individual GameObjects so it'd probably work OK. Is there specific documentation I've missed for this sort of use-case? (it seems like it'd probably be a pretty common one, nudge nudge ;-) )

    Also how's the timeline for importing SVG text? Alternatively, I imagine there might be some places in the API we can call into to get data that was present in the SVG that isn't yet supported? (to, for example, do a dumb workaround until it's properly implemented.) From an initial skim, it seemed the asset is supplied with full source so even if not, perhaps you might point out where one might start doing something like this?

    TIA
     
  35. juanitogan

    juanitogan

    Joined:
    Aug 18, 2017
    Posts:
    27
    So, great product so far, but I was running into a frustrating situation where my prefabs based on the SVG imports were losing their added components. I was about to report it as some sort of bug when I found this in your latest docs:

    It should be noted that after a SVG file is imported and the prefab has been created. you might want to remove the svg file. This is because if the svg file is reimported due to version control, lost Library directory, or copying directories, any changes you've made to the prefab will be overwritten.​

    Do you have any plan to handle this differently any time soon? I'm having difficulty finding an effective workflow with LineWorks where both the art and the code are under simultaneous development with regular art updates. I've tried everything I can think of to work around this and I'm coming up with nothing. The only thing that somewhat works is creating game objects as two objects with the art as a child to the real game object. But you can't prefab this way -- I've tried, and a parent-child prefab like this loses the graphics one way or another with updates with no easy recovery -- you instead have to keep the two objects in separate prefabs and assemble them manually as you create the game objects. When you have 100 objects to place on screen in the IDE per level and 100 more to instantiate in code, this becomes very tedious and not very workable (plus the added penalty of twice as many objects as needed). And I haven't even gotten to sprite swapping yet.

    Any ideas of how you might work in this workflow? Even a feature to manually copy the graphics from a temp prefab to the real one would help (which would probably require some sort of object renaming to avoid the collision on import).
     
    Last edited: Oct 10, 2017
    Arkade likes this.
  36. Testeria

    Testeria

    Joined:
    Aug 15, 2013
    Posts:
    18
    Just bought Your component and trying it with simple coloring book app - and having 2 problems.

    First: svg file is imported badly, flower petals are square instead of round. Is this a problem with how image was created (inkscape) or some part of svg is not supported?

    Second: for the coloring book I need to find which part was "clicked" by user (LW_Group, LW_circle, etc.). Is it at all possible? Then I could probably find corresponding LW_Styles -> LW_Fill -> LW_Paint and change its color?

    Also I would prefer to import svg dynamically from server but as I understand it is not production ready functionality?

    Thanks,
     

    Attached Files:

    Arkade likes this.
  37. Fourthings

    Fourthings

    Joined:
    Feb 15, 2010
    Posts:
    313
    So I'm building a line programmatically, and when I go to set the point handle positions they are not enabled, and the position is not set. The below code always prints "False, (-1.0, -1.0, -1.0)".

    Am I doing something wrong here or is indeed a bug?

    Code (CSharp):
    1. LW_Point3D newPoint = new LW_Point3D(pencilTip.position);
    2. newPoint.pointType = PointType.Free;
    3. newPoint.handleIn.Set(5f,5f,5f);
    4.  
    5. print(newPoint.hasHandleIn + ", " + newPoint.handleIn);
    EDIT - Ok so a workaround was to set the LW_Point3D before assigning it to the path
     
    Last edited: Dec 21, 2017
  38. trenthm

    trenthm

    Joined:
    Nov 18, 2017
    Posts:
    19

    @jashan Thanks for identifying this! Changing the vertex capacity fixed all the performance spikes I was getting. Much appreciated!!
     
    Last edited: Apr 24, 2018
    jashan likes this.
  39. trenthm

    trenthm

    Joined:
    Nov 18, 2017
    Posts:
    19
    @mtalbott Please look into jashan's findings and update LineWorks.
     
  40. Muckel

    Muckel

    Joined:
    Mar 26, 2009
    Posts:
    471
    hello,
    first respect @jashan for finding the issue!!! and for posting the code here!
    most of users today don't even post... that there is a bug... it's so lame here in the forums this day's...
    well looks like the dev is not here anymore... mail doesn't work too... hmm
    too all who want to fix the issue by them self:

    open the LW_Canvas.cs and change the following lines
    vertexCapacity += vBuffer.positions.Capacity;
    to
    vertexCapacity += vBuffer.positions.Count;

    and
    vertexCapacity = Mathf.Max(m_VertexCount, vertexCapacity, 65534);
    to
    vertexCapacity = Mathf.Max(m_VertexCount, vertexCapacity);

    thats all....
    the rest is working very well on mobile with unity 2018.2.1f1...
    M.:Tiphat:
     
    jashan likes this.
  41. beard-or-die

    beard-or-die

    Joined:
    Jul 12, 2017
    Posts:
    6
    Is this asset compatible with 2018.2 builds? I already bought it but want to make sure before I try importing and relying on it for 2018.2 projects.
     
  42. Roywise

    Roywise

    Joined:
    Jun 1, 2017
    Posts:
    68
    We're experiencing some issues with 2D Paths. We use the 2D Paths for the user to draw in our application which he/she can then save and load again when the user wants.

    The problems arise when we load the data. The lines look fine in the Scene-view but they're distorted and vague in the Game-view. When I flip the X Scale to a negative value it looks as it should but obviously it's mirrored.

    Did anyone have this issue as well? Or anyone got some suggestions about the possible cause?

    Edit: I've found out that Scale, Screen Position and/or Camera Orthographic Size does matter and I can drag the object to a specific position on the screen to show normally.
     
    Last edited: Oct 15, 2018
  43. HakJak

    HakJak

    Joined:
    Dec 2, 2014
    Posts:
    192
    Is it?
     
  44. Arkade

    Arkade

    Joined:
    Oct 11, 2012
    Posts:
    655
    Hi, Not sure if anyone else is still using this asset. It's a shame it was deprecated. Much of it still works fine. (although I'd admit I'm only using it for nice line drawing facilities so nothing terribly heavy ... yet ;-)

    There seem to be problems importing SVG in 2019.3. I'll have to look into that at some point when I need actual SVG functionality. It seems possible the original issues with prefabs being overridden when the SVG changes might be much easier to address with the new prefab system.

    Anyway, in case others are using, here's a little patch to make strokes easier to pick when you have "Use Accurate Raycasting" enabled. It allows you to add a border to the strokes hit zone. I found the need when using a finger on a mobile phone! It doesn't account for DPI yet -- that's on the TODOs but since it's enough for me for now, I thought I'd post a patch (attached). HTH :)
     

    Attached Files: