Search Unity

  1. Calling all beginners! Join the FPS Beginners Mods Challenge until December 13.
    Dismiss Notice
  2. It's Cyber Week at the Asset Store!
    Dismiss Notice

Ferr2D Terrain Tool

Discussion in 'Assets and Asset Store' started by koujaku, Oct 9, 2013.

  1. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    for those who have lots of ferr2d terrains in prefabs and need a quick way to edit them once dropped in a scene, here's the fastest workaround i found :

    - in hierarchy view, click on first terrain within you prefab
    - using keyboard arrows, tap down to select each other terrains one after the other (at this stage nothing should how except the TerrainPaths that get highlighted)
    - hit CTRL+Z until all terrains meshes generate and show

    that's it.
     
  2. saruul34

    saruul34

    Joined:
    Dec 5, 2013
    Posts:
    4
    Hi, We have just purchased ferr2D terrain tool. It's a fantastic tool. We are developing 2D endless running type game.

    But we have a problem with character controller and terrain collider. When our player goes up, he falls through terrain collider.
    When terrain is flat or the player is going down, it works as expected.

    Does anyone have a solution for this problem?
    Thanks in advance.

    I have attached screen shot.
    View attachment 84274
     

    Attached Files:

    Last edited: Jan 28, 2014
  3. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Kojakou :

    Look, I'm pretty patient, I love your tool, I think it's got great potential and is a time saver BUT we're in the midst of a production and adopted Ferr2D more than a month ago. We have deadlines, we're close to pre-prod end and locking features. Basically, we have a project to finish.
    I've been kindly asking for updates for a while, or at least a few words on ETAs because I need to take some decisions regarding our development.

    Will you PLEASE update us on an ETA for the next release or is it too much to ask !?

    You're busy, we're all busy, but dude, I just paid for this tool and had some faith in future releases. Any single asset store dev I have to deal with answers WITHIN HOURS, even on week ends. Even to the dumbest questions from people that didn't read the docs or the forums.

    I'll assume you're a professional, so you should know how fast a mobile game development cycle usually is. If you release updates to Ferr2D every 2 months and are not active on this forum, what is the POINT of releasing that tool on the AssetStore ?
    You have customers, UPDATE on something man ! If you have NO IDEA when you're going to release and support, SAY SO !

    I need to know if I have my programer writing the mesh saving tool or if you're planning on updating us at some point before the end of times.
    I need to know if we're gonna have better randomisation of the terrain borders, because if not I'll have to create MORE ASSETS to break the visual repetitiveness. (I asked this question a week ago)
    I need to know if smoothing will be fixed and in, because if not i'll have to build MORE ASSETS to cover up the broken visuals.

    I don't even hope to have these features or fixes in, I just need to know if they will be in the next release and WHEN will this happen so I can take decisions for our current dev.

    And, yeah, I'm pissed off.

    thanks.
     
    Last edited: Jan 31, 2014
  4. CYBR Labs

    CYBR Labs

    Joined:
    Nov 20, 2013
    Posts:
    1
    @bchevalier :

    2 weeks since his last update that I could find:
    http://t.co/fdA1UJjCry

    That's not actually that bad considering he's an indie developer. Did you see how may projects his company is working on?

    We all would like to hear more about Ferr2D. But because of it's relatively fresh entry onto the asset store, you have to expect there to be some flaws, even possibly large ones. This is exactly what one should watch out for when creating a game expecting profit. Don't depend on early tools/software to be up to speed as quickly as you are. Instead, you should expect workarounds to become the new normal when working with new things.

    With time it will be patched up if we assume the creator of this tool has the plan to maintain and update it.
    (Which I'm pretty confident he does care about this tool, otherwise he wouldn't list it in his twitter description.) :D
     
  5. novello_io

    novello_io

    Joined:
    Nov 22, 2009
    Posts:
    288
    So he replied on this thread like a week ago.

    I too would like to have all the features "nao!" but he's one guy with an incredibly busy schedule.

    Now *personally* Ferr2D looks a lot more interesting to me than the games he is developing at Simbryo - and Nick don't take offence - games are averaging 1 per 1.5 days - quite a feat! And I just have to look at the website and see Microsoft Partner and "Our goal is publishing 100 games in 5 months on 2 platforms: Window 8 and Window Phone" - to help me speculate on the "why?". Alas poor M$ and their mobile market presence....

    But - that is all beside the point. I hope he is able to take some of the knowledge gained during this game blitz and pump it back into Ferr2D when he has time to come up for air.

    Also, it's $30. Seriously - I think the support has been adequate for that, especially with full source available. Companies I've worked for have paid middleware companies in the six-figure range and their support left many things to be desired *cough* BigWorld * cough*.
     
  6. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Hi guys, I tried to be as clear as possible in my rant, I guess I wasn't because I was angry and under pressure > I am really not expecting for any release anymore(I used to for a while), I'm not even pushing for a release, I'm pushing for minimal reaction, a simple answer to simple questions. I just want to know what is going on so I can take some decision that will affect my work and my team's work. And then I'll be able to plan my next sprint. I just need an answer to a few simple questions.
    Does it sound like non sense because the tool is great, inexpensive and the guy is nice ??

    I'm sorry, but it doesn't matter how busy Koujaku is and I don't say that in a mean way. I wish him all the best on his projects.
    But please refer to my older questions and comments, I've been asking really nicely for ETA's for a while and being kindly ignored. I asked by mail as well and got no answer(I got answers about other things, though).

    Regarding the price tag and support, please have a look at Playmaker...
    2dtk, spine are updating on the forums and answering questions every single day on what's going on(I'm not asking for this, but at least more than an intervention a week)
    And who is not indie developer on the Asset Store ? :)

    Guys, really, I understand he's busy and I understand the love for this tool, but whatever the price is, he's got some minimal responsibilities when selling something to somebody. And the minimal responsibility is not much, it's just answering simple questions on this forum.
     
    Last edited: Jan 31, 2014
  7. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,786
    I don't know why they are doing it as the sales for those platforms are not that good and that amount of work required is really not worth it for long time in terms of sales. However Microsoft is known to encourage small companies to do content for those platforms. They are offering some extra visibility in the markets, free devices or tools from MSDN when certain requirements are fulfilled. Like end of last year you could have gotten free Nokia tablet if you made few apps (free or paid) and got some downloads for em in time.

    Ok back to the topic. I fully understand bchevalier and I would also like to see some status and progress updates. I reported a bug with 2d physics materials 2 months and its still not fixed in the asset store version :). For me as programmer it was an easy fix but if some artist or other user uses this and can't handle coding they are unable to use 2d collision with materials at all. There are also some usability issues or other stuff that need some tuning and some been posted here already. I've tweaked the source myself but the problem is that if the updates happen only every few months and contain massive amounts of changes it a mess in case of modifications. Id like to see more small fixes and additions than months of waiting for mega patches.
     
  8. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    If you need a fast response, please remember you can reach me by email or twitter! (@koujaku, support@simbryocorp.com, nick.klingensmith@simbryocorp.com) I love these forums, but I don't get any sort of notification when things update or change here =/

    Due mostly to nightmare clients (in addition to my normal workload), this update is taking a little longer than I hoped it would. I'm still workin' on it! And this next update will be pretty cool, the smoothing stuff is pretty awesome =D I wish I could have more solid ETAs for you guys, but I work weekdays, weekends, and instead of sleeping, so I fit things in where I can.

    @bchevalier, if I had known you were in a rush, I woulda sent some code to you earlier! Please email me if it's a priority (that goes for everyone). I get a lot of email too, so I miss 'em occasionally, feel free to send more than one. Here's some early mesh saving code that should work for you. It's not the best, and might create a few more meshes than it needs to, but that should have no or little impact on the final build. This code will probably be improved significantly by the time I actually submit the next release.

    Put this function at the end of the Ferr2DT_PathTerrainEditor class, and call SaveMesh(); at the end of the OnInspectorGUI method.
    Code (csharp):
    1.  
    2.     void SaveMesh() {
    3.         Ferr2DT_PathTerrain terrain = (Ferr2DT_PathTerrain)target;
    4.         MeshFilter          mesh    = terrain.GetComponent<MeshFilter>();
    5.         string              path    = AssetDatabase.GetAssetPath(mesh.sharedMesh);
    6.  
    7.         if (path.Contains(".assets")) {
    8.             return;
    9.         }
    10.         path = "Assets/Ferr2DTerrainMeshes";
    11.  
    12.         string assetName = "/" + mesh.sharedMesh.name + ".assets";
    13.         if (!Directory.Exists(path)) {
    14.             Directory.CreateDirectory(path);
    15.         }
    16.         AssetDatabase.CreateAsset(mesh.sharedMesh, path + assetName);
    17.         AssetDatabase.Refresh();
    18.     }
    19.  
    Note, if you've added in any mesh recalculation stuff on the Start method of Ferr2DT_PathTerrain, you would want to remove it.
     
  9. Hunk-Stalker

    Hunk-Stalker

    Joined:
    Sep 8, 2012
    Posts:
    3
    I've been using Ferr2D Terrain Tool these days and I am delighted with it. I'm a designer and slow to get to schedule something.

    The question is who has been writing some code and try to compile and I have jumped several mistakes that will not let me compile. He used the latest version of Unity (4.3.4) and thought that was why the fault, so I uninstalled and installed version 4.3. but the fault is still there. Even compiling code Ferr2D Terrain Tool unchanged.

    Leave a screenshot: Monodevolop may be for?

    https://www.dropbox.com/s/nnrdfblrtv3tz2j/Captura%20de%20pantalla%202014-02-01%2000.26.32.png
     

    Attached Files:

    Last edited: Feb 1, 2014
  10. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    @Denis Anfruns, Just replied to your email! This looks like the screenshot I was hoping to see~ It looks like whatever you're compiling to doesn't like the default parameter values. What platform are you compiling to? I haven't seen that sort of thing since compiling to the .NET Compact Framework!

    What I did back then was just remove the default values and create overloads that would pass those default values in manually. Tedious, but effective.

    I'm really curious what platform it is, I might have to go back and change all those, I just always liked default parameters since they're a much more helpful and intuitive feature =/
     
  11. Hunk-Stalker

    Hunk-Stalker

    Joined:
    Sep 8, 2012
    Posts:
    3
    To compile use MonoDevolop, I'm trying to see if earlier because compiler versions. :_D
     
  12. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Koujaku: Thanks a bunch for the code, I just sent it to my programer.

    Good luck with your game projects !
     
  13. GreatBigJerk

    GreatBigJerk

    Joined:
    May 20, 2012
    Posts:
    35
    I sent along an e-mail, but figured I'd post it here in case someone else has already come up with a solution to this...I'm trying to figure out to edit the path vertices of a terrain object at runtime with a script.

    I'm grabbing the the Ferr2D_Path component, and I've tried using getVerts and pathVerts to access and set the X and Y of the verts, but they don't change and don't trace out as anything different.

    Are there any methods exposed for modifying the terrain through code? Or do I have to get into modifying the mesh directly?

    Edit:
    How on earth do I move the transform of a terrain? Moving the transform while the game is running only moves the collider. That seems like a pretty major bug.
     
    Last edited: Feb 5, 2014
  14. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    I replied to this email a while earlier, but I figured I'd post it here too for everyone else =D

    There's actually a demo scene in the project that shows real-time terrain editing =D (5 - ExampleRuntimeEdit) Once you make changes to the path during real-time, you have to re-calculate the meshes with Ferr2DT_PathTerrain.RecreatePath and RecreateCollider. You can find a brief example of these functions in use at Ferr/2DTerrain/Examples/Assets/ProceduralInsert.cs

    Ferr2D Terrain objects default to static! This helps a lot with batching and increases performance, but yeah, if you're trying to move them during runtime, it just doesn't work. Just uncheck static on the object, and you'll be all set!
     
  15. JuanluGC

    JuanluGC

    Joined:
    Jan 31, 2014
    Posts:
    1
    First of all, the extension has a wonderful look!

    We’re thinking buy this extension for unity. Watching videos we look that some “caps” case aren’t considering.

    I.E. If I use the assets that i already have done for my game, I will not be able to do an inner stage because you don’t tell the top/left (when left is higher than top) from the top/left (when left is lower than top).

    $_0003_Group-2.png $_0002_Group-1.png

    or

    $_0001_Group-1-copy.png $_0000_Group-1-copy-2.png

    Are you thinking about enabling the use of different caps when the verticals borders are higher or lower than the horizontal borders?
     
    Last edited: Feb 6, 2014
  16. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    hi there,

    anyone experiencing issues when switching from PC or Android build to iOS build ?
    Everything works just fine using PC or Android, but once I switch to iOS my terrains break.

    I feel like it's resolution related, but I'm not sure what's happening. Could it be that iOS build forces textures to Square ?? my input texture for the borders is 1024*512.

    In the picture, PC/Mac/Android is what it should look like.

    ben

    $FerrIssue.jpg
     
    Last edited: Feb 6, 2014
  17. GreatBigJerk

    GreatBigJerk

    Joined:
    May 20, 2012
    Posts:
    35
    This is pretty useful, but I'm looking to deform the existing terrain by moving around the points that are already there. I pretty much want to be able to move points around the same way that the in-editor point widgets do.

    This is perfect! Thanks!
     
  18. k3pp

    k3pp

    Joined:
    May 2, 2013
    Posts:
    23
    I haven´t tryed yet, but... SURE! it WILL BREAK if your texture isn´t a PoT Square... I´ve complained about that once but koujaku said that maybe it would be somehow tricky to solve... So.... YES... by now, your textures need to be PoT squares... if they are not you shoudn´t be able to build for iOS or use PVRTC textures...
    And one more thing... you can´t switch texture resolution or compression that uses specific aspect ratios on inport settings or your terrains will break too... Sorry to bring bad news! let´s hope koujaku brings good ones soon!
     
  19. bchevalier

    bchevalier

    Joined:
    Feb 13, 2013
    Posts:
    42
    Thanks for your input k3pp, it was definitely because of my textures not being Square.
    I could fix the issue quickly.

    ben
     
  20. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    That is a crazy good idea and pretty much the only thing i can think of that ferr2d is missing atm! Would be great to make those innder corners merge better with the wall that extends from it.

    Koujaku has 50 more games to make:p they just hit 50/100, lets hope he finds the time to update this before they hit 100:p
     
  21. Costinutz96

    Costinutz96

    Joined:
    Oct 3, 2012
    Posts:
    3
    Hi!
    I am curious about jump and idle animations the little Goo has. Can you please explain how you made them ?
    I couldn't find them anywhere or anything in code ( only body.setAnimation("jump"); but i don't want to use it, i want to make one and name it jump2 for example ).

    Thanks!
     
  22. novello_io

    novello_io

    Joined:
    Nov 22, 2009
    Posts:
    288
    Really hoping this doesn't turn into abandonware =/
     
  23. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    802
    I'm planning on buying this REALLY soon so I hope it doesn't...

    No word from the developer for a long time now though.
     
  24. Burletech

    Burletech

    Joined:
    Jul 1, 2010
    Posts:
    73
    Just emailed him about a week ago and had a response in a few hours. So I don't think it's abandoned by any stretch. He most likely just hasn't checked the forums in awhile.
     
  25. rxmarccall

    rxmarccall

    Joined:
    Oct 13, 2011
    Posts:
    302
    I am struggling big time to get create my PSD document and have it setup in the correct way so that my texture will look and work well in Ferr 2D. Would anyone be willing to share their PSD with me? You are fine to watermark it or do whatever, I don't care about the visuals, just can't find the best layout in the photoshop document.... Any help would be greatly appreciated.
     
  26. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    Yeah, I'm not much of a forum person, I just don't get on here a whole lot. I do however spend a bit of time on Twitter! So if you're looking for more frequent updates and such, follow me there @koujaku =D

    I've got a new update coming soon~ I'm trying really hard to get it done this week, but we'll see. In the meantime, here's the latest demo that'll be included with the package! It's a quick example of how to create an infinite procedural terrain, for a runner or something like that. It's got way better/faster triangulation, smooooooth terrain (8-10 path points per terrain object there), and other more subtle things~

    $Ferr2DT InfiniteDemo.png
    Check it out here!


    @Costinutz96, I don't recommend using my animation system, since 4.3 is out now! But if you really want, check the GooPlayer/Visual game object, the Ferr2D_Animator component.

    @rmarccall, It's more about how they're drawn, than the layout of them. Making looping textures can be painful, but a template won't help you too much with that. Do you have a more specific question there?

    @Kelde, @JuanluGC, I do have plans for those corners eventually, but they're probably the toughest feature on my list right now! I probably won't get to it until after my Centurion project is over. Scaling path points on the other hand, could probably make it in soon, those looked really cool, and would probably be easy enough.
     
  27. rxmarccall

    rxmarccall

    Joined:
    Oct 13, 2011
    Posts:
    302
    I guess my issue is not fully understanding which direction my corner caps for walls and bottom should face. Those type of technical details. When I import into unity then I keep having my terrain setup with things facing the wrong direction, etc. So I was thinking a template would be helpful that clearly shows which direction different parts of the terrain texture should be facing in the photoshop document.

    It would be nice to see someones fully functioning PSD so I can understand which direction corner caps go, etc.

    EDIT : Got some help from a friend in the community, thanks!
     
    Last edited: Mar 11, 2014
  28. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    802
    Any idea on which would it be better performance-wise? Having a large terrain or several smaller ones?
     
  29. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    That's an interesting question, and I'm not entirely sure. I don't believe the difference would be significant either way, but I'm gonna go with "It depends" =D One thing my terrain objects still do is create colliders on start. For 3D colliders, it's pretty simple, and shouldn't get any more complicated with larger terrain objects. For 2D colliders, it will probably ramp up a little extra as the terrain gets larger.

    As far as rendering is concerned, if you're using static game objects, and everything is batching properly, it shouldn't matter much. Everything should end up being the same mesh/material anyhow.

    For collision performance, I did some -very- brief reading that might suggest that one large collider might be very slightly faster than a lot of little ones, but I recommend hunting a little further on that topic if it's a big concern.

    HOWEVER, I don't think any of these concerns is going to make a big enough difference to make it a large concern. Make sure your workflow is fast, and modifications are easy! I've always valued ease of use over bleeding performance =D
     
  30. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    802
    I was hoping Unity did some kind of optimisation by not rendering the terrains out of view. Which by using a large one wouldn't be possible.
     
  31. EmeralLotus

    EmeralLotus

    Joined:
    Aug 10, 2012
    Posts:
    1,317
    Cool to know that this asset is still being updated. Awesome.
     
  32. yiliwu

    yiliwu

    Joined:
    Mar 12, 2014
    Posts:
    2
    I made a racing game on mobile phones, but the car run for a long distance Ferr2d Terrain appears the phenomenon of pixels, is that the problem of the gpu, how do I solve?

    $start.jpg $end.jpg
     

    Attached Files:

    Last edited: Mar 12, 2014
  33. k3pp

    k3pp

    Joined:
    May 2, 2013
    Posts:
    23
    I´ve saw this kind of problem when the offset value on material goes at higher values. Since it´s a floating point, if that offset number gets greater, the precision after the dot gets smaller. I believe there´s something to do with precision... if it´s not in the material, maybe there´s something with the relative size of the mesh, UV, or something else...
     
  34. rxmarccall

    rxmarccall

    Joined:
    Oct 13, 2011
    Posts:
    302
    I know Koujaku is very busy, but I wanted to throw out a few feature request that I don't think would be too terrible to add.

    - Display a measurement system of some type when drawing out a terrain vertex point. ( My game features symmetrical levels, so I try to make the two sides of my level identical, its very hard to do without having some way to measure)

    - Add a Grid system that you can snap to when drawing new terrain vertex points. ( Again this would allow more control over creating a clean and well placed terrain )
     
  35. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    I already have a -very- basic version of this in my current build. I don't consider it a "done" feature yet, but it should be quite serviceable for certain situations. It'll be listed under Edit->Preferences->Ferr->Snap Grid Mode as alpha when the update I'm working on is out =D

    The line measurement info one is on my list, I'll probably sneak that in, version after this one.

    I'm not entirely sure what the problem there is, and for some reason, I can't spot what you're referring to in the screenshots either? Think you could elaborate a little more?

    I'm gonna get wayyy more serious on updates come April 15th. That's when our Centurion project will be done (80 games so far!), and I am super excited to get back to Ferr2D Terrain then~ =D
     
  36. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    I hate watching the "how rayman was made" video, what in the buring HELLS is a "smart texture!:p U got any idea Nick? I know uve seen it urself, really wonder how those textures behave like they do. Seem they cant be stretched and squashed in the same way to avolid them looking weird.

    Anyway its great to see u back on here, u guys have been crazy doing all those games!:p
     
    Last edited: Mar 13, 2014
  37. atmuc

    atmuc

    Joined:
    Feb 28, 2011
    Posts:
    1,035
    i just bought this tool and i am trying to learn it. i have a problem like on the image. there is and empty space and wrong triangle that connect to wrong point? did i do something wrong?


    $ferr_001.jpg
     
  38. josessito

    josessito

    Joined:
    Feb 14, 2014
    Posts:
    55
    Hello koujaku. First let me tell you this is fantastic! I'm not much of a programmer and I was going insane trying to figure out how to create a tool that did what ferr2d does, thankfully I decided to check the assets store and there it was! (by the way, you should update your videos, the tool is more powerful and easy to use that what they show, I almost dismissed it, but after reading this forum and learning about the updates I decided to buy it). However I am having a problem. I'm not sure what is going on here and if it is a ferr2d related issue or not, but If you or anyone knows what is going on I would thank you. The problems is with a shader I am trying to use for the terrain materials. (I pasted it here it's a shader I found somewhere and I made some modifications. Honestly I know little to nothing about this subject so maybe there is my problem.)

    Code (csharp):
    1. Shader "Nature/Vegetation Two Pass" {
    2.          Properties {
    3.                  _Color ("Main Color", Color) = (.1, .1, .1, .5)
    4.                  _MainTex ("Base (RGB) Alpha (A)", 2D) = "white" {}
    5.                  _Cutoff ("Base Alpha cutoff", Range (0,0.98)) = .5
    6.                        
    7.          }
    8.          SubShader {
    9.                  // Set up basic lighting
    10.                  Material {
    11.                          Diffuse [_Color]
    12.                       //Ambient [_Colo                  
    13.                  }      
    14.                  Lighting On
    15.                  SeparateSpecular On
    16.                  // Render both front and back facing polygons (Jose changed).
    17.                  Cull Back
    18.                  
    19.                  Fog {
    20.                         Mode Global}
    21.  
    22.                  // first pass:
    23.                  //   render any pixels that are more than [_Cutoff] opaque
    24.                  Pass {        
    25.                          AlphaTest Greater [_Cutoff]
    26.                          SetTexture [_MainTex] {
    27.                                  combine texture * primary, texture
    28.                          }
    29.                  }
    30.  
    31.                  // Second pass:
    32.                  //   render in the semitransparent details.
    33.                  Pass {
    34.                          
    35.                          // Dont write to the depth buffer
    36.                          ZWrite off
    37.                          // Only render pixels less or equal to the value
    38.                          AlphaTest LEqual [_Cutoff]
    39.                          // Set up alpha blending
    40.                          Blend SrcAlpha OneMinusSrcAlpha
    41.                          SetTexture [_MainTex] {
    42.                                  combine texture * primary, texture
    43.                          }
    44.                  }
    45.          }
    46.  }
    47.  

    The result (see the images) behaves erratically, showing some parts of the terrain but not others (that should fall into the spotlight area). Sorry for the noob and lenghty comment.

    PS I can't wait for the new smooth implementation!
    Thanks

    $Weird.png
     
    Last edited: Mar 21, 2014
  39. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    Right now, my recommended solution is to add in a few more path points near problem areas! It is a problem with 1.0.6, however, I do have that completely fixed with the current build, which I'll be publishing shortly after I get back from GDC!

    Yes! That would absolutely be a good idea, I will try and find some time in the near future to do just that, thanks for reminding me =D

    I'm afraid however, I am not familiar with that method of creating shaders, so I can't help you a whole lot there =/

    Also, good news, I did get an up-close and personal look at the UbiArt framework this GDC week, and I figured out a few things about solving certain issues I've been rubbing up against, especially with mesh creation and lighting stuff!
     
  40. rxmarccall

    rxmarccall

    Joined:
    Oct 13, 2011
    Posts:
    302
    Awesome, hope you took extra good notes from looking at UbiArt! Can't wait until you are able to spend most of your time on Ferr 2D again. :D
     
  41. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    Alright, I just submitted the 1.0.7 update to Unity, so you should see it in a few days now! I'll make a post when it gets approved =D

    Here's the changelog:
    Improved smoothed terrain support, it's very useable now =D
    Improved triangulation performance, and no more weird holes!
    Basic snapping features can be found in Edit->Preferences->Ferr->Snap Mode, but it's a little early. I do not promise it's mind-blowing.
    Path Terrain
    -Fixed weird collider generation issues, colliders should now behave far more predictably!
    -Fixed prefab issues, terrain objects now save and load their meshes properly when they are prefab objects! ('Assets->Prebuild Ferr2D Terrain' to force save)
    -Fixed an issue with 2D physics materials not getting assigned correctly.
    -Added smoothSphereCollisions option for 3D colliders. COLLIDERS->Smooth Sphere Collisions
    -Added an edge split option, to reduce texture stretching around corners. VISUALS->Split Middle
    -Added option to create tangents on terrain meshes for normal mapping (warning: very slow in editor only) VISUALS->Create Tangents
    -Added some options for when randomization occurs. Per segment, vs. per quad. VISUALS->Randomize by World Coordinates.
    Path
    -Editing on scaled/rotated path is much improved. Not perfect, but better.

    Here's a quick gif of the new smoothing features in action!
    $Smooth.gif

    You may have seen this one earlier in the thread, but here's another visual addition to reduce texture warping a little!
    $MiddleSPlit.gif

    And here's the new infinite terrain demo as well~
    $InfiniteTerrainSmall.png


    So yeah, some good stuff in there =D If you encounter any problems with it, please let me know ASAP! I'm about to do a few weeks of crunch here on my other projects, but I'll still be accessible for help here or through email!
     
  42. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    802
    Nice update!! ;)
     
  43. cg_destro

    cg_destro

    Joined:
    Aug 13, 2013
    Posts:
    142
    this, sir, is awesome! :D great job! :)
     
  44. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    Awesome stuff Nick, cant wait to test this!
     
  45. atmuc

    atmuc

    Joined:
    Feb 28, 2011
    Posts:
    1,035
    Hi koujaku,

    is there any way to make infinite terrain joining templates like temple run does? assume that game flows horizontally. i have several parts. all have upper and lower part. so on left there are 2 join points and 2 other on the left. before it appear on game window i select 2 parts randomly and join part 1 right nodes to part 2 left nodes so there will be seamless junction point. is it possible?

    Edit: can i move all nodes at the same time? i need it to set my parts for a specific reference point to be able to join them.
     
    Last edited: Mar 28, 2014
  46. atmuc

    atmuc

    Joined:
    Feb 28, 2011
    Posts:
    1,035
    i cannot see gizmos (dot shape) of terrain path. i check gizmos dropdown all are selected. how can i see them?
     
  47. Kelde

    Kelde

    Joined:
    Feb 28, 2012
    Posts:
    629
    maybe they are just REALLY small? goto the ferr2d settings, u might be working with amost invisible handles?
     
  48. atmuc

    atmuc

    Joined:
    Feb 28, 2011
    Posts:
    1,035
    thanks your suggestion solved my problem. this setting should be project dependent.i have to change it for different orth sizes.
     
  49. koujaku

    koujaku

    Joined:
    Aug 28, 2013
    Posts:
    321
    Here's a quick example to get you started, similar idea, but designed with skirt terrain in mind, so only one contact vert per side~ You should be able to see how it would go, or extend it to do whatever =D

    RemovePoint might be in the 1.0.7 update, I don't recall, but the earlier equivalent is just a RemoveAt for currPath.pathVerts, and currTerrain.directionOverrides both.

    As for selecting/moving all points, I don't currently have any sort of multi-edit stuff yet, sorry~ Perhaps further down the line.

    Code (csharp):
    1.  
    2. [RequireComponent(typeof(Ferr2D_Path), typeof(Ferr2DT_PathTerrain))]
    3. public class InfiniteTerrainPrefabs : MonoBehaviour {
    4.     public GameObject    triggerObject;
    5.     public Ferr2D_Path[] terrainChunks;
    6.    
    7.     int   prevIndex    = 0;
    8.     float rightTrigger = 0;
    9.  
    10.     void Start() {
    11.         // make sure it has at least one vert to start with, it makes things easier.
    12.         Ferr2DT_PathTerrain currTerrain = GetComponent<Ferr2DT_PathTerrain>();
    13.         Ferr2D_Path         currPath    = GetComponent<Ferr2D_Path>();
    14.         if (currPath.pathVerts.Count <= 0) currTerrain.AddPoint(Vector2.zero);
    15.  
    16.         AppendNew();
    17.     }
    18.     void Update() {
    19.         // check trigger point for generating new terrain
    20.         if (triggerObject.transform.position.x > rightTrigger) {
    21.             AppendNew();
    22.         }
    23.     }
    24.  
    25.     void AppendNew() {
    26.         Ferr2DT_PathTerrain currTerrain = GetComponent<Ferr2DT_PathTerrain>();
    27.         Ferr2D_Path         currPath    = GetComponent<Ferr2D_Path        >();
    28.         Ferr2D_Path         nextPath    = terrainChunks[Random.Range(0, terrainChunks.Length)];
    29.  
    30.         // remove old verts
    31.         for (int i = 0; i < prevIndex; i++) {
    32.             currTerrain.RemovePoint(0);
    33.         }
    34.         prevIndex = currPath.pathVerts.Count;
    35.  
    36.         // find the offset for all new verts
    37.         Vector2 offset = currPath.pathVerts[currPath.pathVerts.Count - 1] - nextPath.pathVerts[0];
    38.  
    39.         // add new verts
    40.         for (int i = 0; i < nextPath.pathVerts.Count; i++) {
    41.             currTerrain.AddPoint(nextPath.pathVerts[i] + offset);
    42.         }
    43.  
    44.         // rebuild the mesh
    45.         currTerrain.RecreatePath();
    46.         currTerrain.RecreateCollider();
    47.  
    48.         // set a new trigger point!
    49.         rightTrigger = (currPath.pathVerts[prevIndex+1].x + (currPath.pathVerts[nextPath.pathVerts.Count - 1].x - currPath.pathVerts[prevIndex+1].x) / 2) + transform.position.x;
    50.     }
    51. }
    52.  
     
  50. luispedrofonseca

    luispedrofonseca

    Joined:
    Aug 29, 2012
    Posts:
    802
    Latest update is still not on the Asset Store. Did it go something wrong with it?