Thread: [J.A.C.K.-only (atm)] How to arc almost everything (easy curved pipe)

Results 1 to 3 of 3
  1. #1
    Registered User Kirito's Avatar
    Join Date
    Jan 2016

    Post [J.A.C.K.-only (atm)] How to curve/bend/arc almost everything (easy curved pipe)

    WARNING: This technique will generate off-grid-coordinates. You will need an editor and a compiler that can handle these (Don't even dare to try this in HAMMER. At the moment it seems to work only in J.A.C.K.). You may get a lot of warnings at compiling. Also VIS has some trouble with this. So if you want to use it for brushwork, you may want to do VIS yourself in this areas using HINT-Brushes.

    BUT: With this technique you can create perfect arcs out of almost any type of hallway or object that repeats itself on one axis, in under 5 minutes. Even considering the extra time it may take to fix missing faces and VIS, this is much faster than any known way to do this to date.

    How it works:

    1. We will use a tube as an example, as it's normally very complicated to arc.
    So we want to connect this two tubes:

    2. Create two copies of the tube and put them side by side. Make sure that you only selected the tubes and not any connected walls. The object you arc must repeat itself on one axis.
    Flip one of them, so that they are mirrored.
    The distance determines how narrow or wide the arc becomes.
    The arc will go from one tube to the other. So in this example we have to use the distance from one tube to the other x 2. (Check out Tipps for further information.)

    3. Mark only that two tubes, align them at a line so that you know where the mid is. Then rotate them clockwise by 7.5 degrees(Strg + M).

    4. Cut them both exactly at the mid-line. Keep both sides.

    5. Rotate them counterclockwise 15 degrees (Alt + M) and cut them again exactly at the mid-line.
    (I use 15 degree chunks in this example. But every number that fits in 360 would have worked. Check out Tipps for further information.)

    6. Rotate them clockwise again by 7.5 degrees. You end up in the original position. (Check out Tipps for why this step is important.)

    7. Now remove the outer parts. You end up with two chunks.

    8. Copy them and select "Paste Special". Paste 11 times and rotate by 15 degrees, also check the "Start at center of original"-box.

    9. You get a perfect circle. Cut this circle two times exactly through the mid and you can use the corners you need.

    10. The copys are no entities anymore, so you have to retie them if you use func_detail. Done!

    (11.) It's good if it looks good in the editor, but now we have to compile it without breaking it. Check the Compiling-Section below for further information.
    I use func_detail in this tutorial for the tube, surrounded by a worldbrush. That worldbrush is very simple, so even that I cut the worldbrush too, it worked right away.

    The compiling:

    I use J.A.C.K. and the Tools from the Sven Co-op SDK(VHLT 3.4 and up should work). It works fine with them.
    I tested this in HAMMER and it does NOT work. It already breaks in the editor.
    I tested this in sledge and it does NOT work. It generates LEAKS.

    I found two ways to compile off-grid-coordinates:

    1. Use zhlt_clipnodedetaillevel 1
    Add zhlt_clipnodedetaillevel 1 to any func_ entity and it will use off-grid-coordnitates. You can add zhlt.fdg and use func_detail, wich uses this as default.
    You can't use this for worldbrushes.

    2. Use -cliptype precise
    Run csg with -cliptype precise and off-grid-coordinates will be used. You have to use this for worldbrushes, but it could impact the rest of your map or affect the compile-speed. In fact this made the compiling faster in my tests, but I did not test it with large maps.


    - Step 6 is important, because by doing it you go sure that it alignes with the original brushes. I had LEAKS sometimes when I skipped this. So if you want a 45 degree arc, I recommend to use a division that gives you a chunk at 45 degrees that you can cut.

    - Do textures befor you arc something, as it is really painful to texture it afterwards. Also remember to enable every texture lock your editor has.

    - Use texlights for lightning if possible.

    - I used carving in this tutorial. The only problem with carving seems to be off-grid-coordinates, so this is no problem in this case.

    - This does work with almost everything. Here I tried it with a somewhat complex hallway. Just remember to mirror one of the copys.

    - You create a circle with this technique. The degree you use to turn determines the count of chunks this circle is made of. The more chunks, the more smooth it will look, but it will cost performance. Here are some examples:
    360/4 = 90 = 45 degree right & left = 1 time paste special                     360/8 = 45 = 22.5 degrees right & left = 3 times paste special

    360/12 = 30 = 15 degrees right & left = 5 times paste special                 360/36 = 10 = 5 degrees right & left = 17 times paste special

    - I recommend not to do too narrow arcs, as the small faces will cause problems.

    - If you get a weird offset circle after paste special, restart J.A.C.K. and try again. It is a bug.

    PS: This is my first tutorial and english is not my main language. I hope it is understandable Please correct me if I have done something wrong or if I could do something better!
    Also this technique has some technical science behind it I don't really understand myself xD I tested it a lot, but I'm sure I didn't cover everything. I only tested this in Sven Co-op. So you find out something, tell me. I'll try to update this tutorial.
    Last edited by Kirito; 16-09-2018 at 03:37 PM.

  2. #2
    Administrator Hezus's Avatar  
    Join Date
    Aug 2001
    The Netherlands

    Re: [J.A.C.K.-only (atm)] How to arc almost everything (easy curved pipe)

    That's a nice trick you've discovered! I've done something simular in the past but this way is much easier and also makes texturing the curves a lot easier. Nice job!

    One thing I would like to add though is a performance issue. The inner corner of the tube can suffer horribe face subdivision cuts, as you can see here:

    To fix this, make sure all inside faces of these brushes are covered with the SOLIDHINT texture (from zhlt.wad). This will greatly improve the face subdivision cuts:

    Gone from 301 to 219 wpolies, nearly a 30% reduction Definatly worth the effort.

    I see you've also used the same technique for the solid backwall. I've created a simpler backwall, that only roughly follows the curve. This makes VIS calculation a bit faster and the best part: it gives me a straight on-grid 45 degree corner. This is perfect to pull a HINT/SKIP brush across the curved part.

    Without HINT/SKIP brush:

    With HINT/SKIP brush:

    Now everything beyond the curve will always be unrendered. Saves me about 50% of wpolies from this angle
    Last edited by Hezus; 16-09-2018 at 10:08 AM.

  3. #3
    Advanced Leveldesigner SourceSkyBoxer's Avatar
    Join Date
    Apr 2011

    Re: [J.A.C.K.-only (atm)] How to arc almost everything (easy curved pipe)

    Hello @everyone,

    I will explain you how do I resolve problem like micro-leak?

    Please do not forget for important texture SOLIDHINT for func_detail fixes of bevel-lines like un-snapping lines like example:

    You know how do you create 2 triangle-able pyramids than both brushes should group.

    Build simple hollowed room ( 2 x wall and floor and ceiling ) and copy and past to other side.

    Copy and past same and move to coordination.

    It should get help coordination
    -> -> ->


    Fix since check problem dialog cause textures make sketch or invalid
    -> ->

    Make group and select help brushwork and move out. ( Do not delete it because we need it. )

    And check problem - wooow it has nothing any problems Juhuuu!

    Now customize your wall, floor and ceiling

    It looks is ready to compile. Don't worry! I think it is best method if you like that?

    Compiling ... 1 ... 2 ... 3 ... 4 ... 5 ... 6 ... 7 ... 8 ... 9 ... SUCCESS!

    That is another method of me is better than your non-snapping arch tool but - Please remember use SOLIDHINT for non-snapping lines.

    If you don't use my method than you use method of PMKirito than you need apply connected brushwork with "SOLIDHINT" Because TWHL mappers suggest me. Thanks! I wish help you without problem.
    Hello guys, Svencoop. I am sorry Please respect me! I am deaf. Thanks, Sven-Coop Forum!

    Please do not share to shit dropbox! Please share only!
    Muhahaha, Facebook crashed!

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts