Thank you very much my friend, now I feel more like playing
Thanks
I just have one problem
Is there a setup for this track?
It's impossible to play on it
02-12-2025, 12:03 PM (This post was last modified: 02-12-2025, 12:09 PM by samsepi0l.)
(09-21-2021, 04:42 PM)Pavel 69 Wrote:
(09-21-2021, 02:29 PM)samsepi0l Wrote:
(04-02-2021, 05:02 PM)Pavel 69 Wrote: .....objects in pit-divide section (like trees in you track) need special manual placing into 3d file. It's better to do it later when work with track will be almost finished.
I think I'm almost finished. I placed the trees in the pit-divide normally with OPE just like I did with all my trees. What is this "special manual placing" you mean?
Oh... that requires some manual editing.
As you can see in track 3d file all tso's can be on the left side or the right side of the track. TSO's are placed into ObjectList LEFT and ObjectList RIGHT. And this lists are drawn after far left and far right wall accordingly. So if you have to walls that devide track from pitlane and want to place TSO object inbetween them then you need to create Object list CENTER. For example TSO3 and TSO4 that should be in the center are part of right side TSO lists:
ObjectList_R0_0: LIST {__TSO3, __TSO263, __TSO264, __TSO235}; ObjectList_R0_1: LIST {__TSO3, __TSO259, __TSO13}; ObjectList_R1_0: LIST {__TSO4, __TSO3}; ObjectList_R2_0: LIST {__TSO4, __TSO17, __TSO18}; ObjectList_R2_1: LIST {__TSO4, __TSO129}; ObjectList_R3_0: LIST {__TSO4, __TSO134, __TSO130, __TSO133}; ObjectList_R3_1: LIST {__TSO4, __TSO132, __TSO135, __TSO131}; ObjectList_R4_0: LIST {__TSO4};
So I make copy of this lists, rename the to C, remove TSO 3%4 from right lists and all other TSO's except for 3&$ from center lists:
ObjectList_R0_0: LIST {__TSO263, __TSO264, __TSO235}; ObjectList_R0_1: LIST {__TSO259, __TSO13}; ObjectList_R1_0: LIST {}; ObjectList_R2_0: LIST {__TSO17, __TSO18}; ObjectList_R2_1: LIST {__TSO129}; ObjectList_R3_0: LIST {__TSO134, __TSO130, __TSO133}; ObjectList_R3_1: LIST {__TSO132, __TSO135, __TSO131}; ObjectList_R4_0: LIST {};
ObjectList_C0_0: LIST {__TSO3}; ObjectList_C0_1: LIST {__TSO3}; ObjectList_C1_0: LIST {__TSO4, __TSO3}; ObjectList_C2_0: LIST {__TSO4}; ObjectList_C2_1: LIST {__TSO4}; ObjectList_C3_0: LIST {__TSO4}; ObjectList_C3_1: LIST {__TSO4}; ObjectList_C4_0: LIST {__TSO4};
Now we need to insert this lists into sections BSP tree. General idea is illustraded on this picture: Center object list is inserted using BSPN function between boundary 1 and boundary 2. But BSPN function uses reverse order of plane definition points from BSPA of boundary 1. So in track section you serch for '% Output BSP for boundary 1' string. 3D file there should look like this:
% Output BSP for boundary 1 BSPA
([< 8595306, -18367078, 921816 >], <- point a
[< 8263815, -18373923, 938009 >],<- point b
[< 8263857, -18373922, 921010 >]),<- point c % Output BSP for boundary 2 BSPA ([< 8596628, -18431065, 921816 >], [< 8265127, -18437911, 942009 >], [< 8265179, -18437909, 921010 >]), DYNO { 2320648, 2652170, -92000, 274000 } ,
Now we insert object list using BSPN function with reversed points order from BSPA.
% Output BSP for boundary 1 BSPA ([< 8595306, -18367078, 921816 >], <- point a [< 8263815, -18373923, 938009 >],<- point b [< 8263857, -18373922, 921010 >]),<- point c BSPN ([< 8263815, -18373923, 938009 >],<- point b [< 8595306, -18367078, 921816 >], <- point a [< 8263857, -18373922, 921010 >]),<- point c ObjectList_C2_0, % Output BSP for boundary 2 BSPA ([< 8596628, -18431065, 921816 >], [< 8265127, -18437911, 942009 >], [< 8265179, -18437909, 921010 >]), DYNO { 2320648, 2652170, -92000, 274000 } ,
Such editing need to be done for every section with object in center. Because of this long manual editing I usually done this at very end when I 100% sure I will not change track layout.
So 4 years later I think I have a drawing problem I might be able to solve at a track by using this "center" method (but I'm not sure). I read it 3 times over again and I'm much further along now than I was 4 years ago, but Pavel - can you explain this a little clearer for me?
The problem I'm having is that I have a tree in the pit island (right side object) which is drawing through the banner (which is a left side object). I tried moving the sections which this turns on- but they are in 2 different lists (one right, one left). I could move the banner to the right, but the pitlane is on the right side here - and I think this would just create the same problems on the other side of the track.
02-12-2025, 03:46 PM (This post was last modified: 02-12-2025, 03:49 PM by Pavel 69.)
Hi,
So banner should be in front of tree? I need to see object lists whre this two objects appear. But I think it will be better to split this banner object into three parts: left - that will be in left side object list, right - that will be in right side object list, and middle - that will be in center object list. If tree and middle banner are in the same track section then you need to join them through BSPN function and placed into center object list. I did something similar thing at my Laguna seca track.
02-13-2025, 04:49 AM (This post was last modified: 02-13-2025, 04:51 AM by samsepi0l.)
Here is the layout. (this is actually belle isle's s/f straight into turn 1)
The arrows are the TSO numbers. Red is right objects, Green is left objects. The banner is 3 objects at the same XYZ.
Here is my objectlist (I have tried a few different things, I normally don't have issues resolving drawing order these days):
Code:
ObjectList_L0_0: LIST {__TSO299, __TSO244, __TSO247, __TSO300, __TSO40, __TSO38};
ObjectList_L0_1: LIST {__TSO246, __TSO1, __TSO298, __TSO245, __TSO244};
ObjectList_L1_0: LIST {__TSO246, __TSO1};
ObjectList_L2_0: LIST {__TSO248};
ObjectList_L2_1: LIST {__TSO189, __TSO249, __TSO248};
ObjectList_L2_2: LIST {__TSO189, __TSO249};
ObjectList_L3_0: LIST {__TSO135, __TSO189};
ObjectList_L4_0: LIST {__TSO135};
ObjectList_L5_0: LIST {__TSO134};
ObjectList_L5_1: LIST {__TSO133};
ObjectList_L6_0: LIST {__TSO251};
ObjectList_L7_0: LIST {__TSO250, __TSO251};
ObjectList_L8_0: LIST {__TSO252, __TSO250};
ObjectList_L8_1: LIST {__TSO34, __TSO253, __TSO252};
ObjectList_L9_0: LIST {__TSO254, __TSO34};
ObjectList_L10_0: LIST {__TSO59, __TSO255, __TSO254};
ObjectList_L10_1: LIST {__TSO286, __TSO61, __TSO60, __TSO58, __TSO59, __TSO255};
ObjectList_L11_0: LIST {__TSO225, __TSO286, __TSO61, __TSO60};
ObjectList_L12_0: LIST {__TSO35, __TSO287, __TSO257, __TSO256, __TSO225, __TSO286};
ObjectList_L13_0: LIST {__TSO37, __TSO35, __TSO258, __TSO287};
ObjectList_L13_1: LIST {__TSO259, __TSO37};
ObjectList_L13_2: LIST {__TSO260, __TSO288};
ObjectList_L14_0: LIST {__TSO260, __TSO288};
ObjectList_L15_0: LIST {__TSO289};
ObjectList_L16_0: LIST {__TSO290, __TSO261, __TSO289};
ObjectList_L16_1: LIST {__TSO291, __TSO262, __TSO120, __TSO290, __TSO261, __TSO289};
ObjectList_L17_0: LIST {__TSO291, __TSO262, __TSO120, __TSO290};
ObjectList_L18_0: LIST {__TSO291};
ObjectList_L19_0: LIST {__TSO268};
ObjectList_L19_1: LIST {__TSO268};
ObjectList_L19_2: LIST {__TSO268};
ObjectList_L20_0: LIST {__TSO126, __TSO268};
ObjectList_L21_0: LIST {__TSO122, __TSO121, __TSO126, __TSO268};
ObjectList_L22_0: LIST {__TSO124, __TSO292, __TSO123, __TSO122, __TSO121, __TSO268};
ObjectList_L22_1: LIST {__TSO125, __TSO95, __TSO124, __TSO292, __TSO123};
ObjectList_L23_0: LIST {__TSO98, __TSO97, __TSO96, __TSO95, __TSO125, __TSO292};
ObjectList_L24_0: LIST {__TSO227, __TSO98};
ObjectList_L24_1: LIST {__TSO232};
ObjectList_L24_2: LIST {__TSO232};
ObjectList_L25_0: LIST {__TSO99};
ObjectList_L25_1: LIST {__TSO102, __TSO101, __TSO100, __TSO99};
ObjectList_L26_0: LIST {__TSO234, __TSO233, __TSO103, __TSO102, __TSO101};
ObjectList_L26_1: LIST {__TSO235, __TSO234};
ObjectList_L27_0: LIST {__TSO7, __TSO6};
ObjectList_L28_0: LIST {__TSO236, __TSO8, __TSO7};
ObjectList_L28_1: LIST {};
ObjectList_L28_2: LIST {};
ObjectList_L29_0: LIST {};
ObjectList_L29_1: LIST {__TSO237};
ObjectList_L30_0: LIST {__TSO239, __TSO305, __TSO238, __TSO306, __TSO237};
ObjectList_L30_1: LIST {__TSO21, __TSO240, __TSO304, __TSO239};
ObjectList_L31_0: LIST {__TSO20, __TSO303, __TSO21};
ObjectList_L32_0: LIST {__TSO24, __TSO301, __TSO23, __TSO22, __TSO302};
ObjectList_L33_0: LIST {__TSO11};
ObjectList_L33_1: LIST {__TSO13, __TSO12};
ObjectList_L33_2: LIST {__TSO25, __TSO27, __TSO15, __TSO26, __TSO14, __TSO13};
ObjectList_L33_3: LIST {__TSO172, __TSO28, __TSO25, __TSO27, __TSO26};
ObjectList_L34_0: LIST {__TSO173, __TSO172};
ObjectList_L35_0: LIST {__TSO174, __TSO173};
ObjectList_L35_1: LIST {__TSO175, __TSO174};
ObjectList_L36_0: LIST {__TSO175};
ObjectList_L37_0: LIST {};
ObjectList_L37_1: LIST {};
ObjectList_L37_2: LIST {};
ObjectList_L38_0: LIST {};
ObjectList_L39_0: LIST {__TSO137, __TSO30, __TSO138, __TSO139};
ObjectList_L40_0: LIST {__TSO137, __TSO30};
ObjectList_L40_1: LIST {__TSO181};
ObjectList_L40_2: LIST {__TSO181};
ObjectList_L41_0: LIST {__TSO181};
ObjectList_L42_0: LIST {__TSO181};
ObjectList_L42_1: LIST {__TSO181};
ObjectList_L43_0: LIST {__TSO183, __TSO182};
ObjectList_L44_0: LIST {__TSO72, __TSO184, __TSO185, __TSO183};
ObjectList_L44_1: LIST {__TSO73, __TSO72, __TSO184, __TSO185};
ObjectList_L44_2: LIST {__TSO146, __TSO75, __TSO74, __TSO73};
ObjectList_L45_0: LIST {__TSO78, __TSO147, __TSO77, __TSO76, __TSO146, __TSO75, __TSO74};
ObjectList_L46_0: LIST {__TSO154, __TSO155, __TSO149, __TSO80, __TSO148, __TSO79, __TSO78, __TSO147, __TSO77};
ObjectList_L46_1: LIST {__TSO151, __TSO152, __TSO153, __TSO154};
ObjectList_L46_2: LIST {__TSO159, __TSO160, __TSO150};
ObjectList_L46_3: LIST {__TSO157, __TSO307, __TSO158, __TSO308, __TSO159};
ObjectList_L47_0: LIST {__TSO156};
ObjectList_L48_0: LIST {__TSO156};
ObjectList_L48_1: LIST {__TSO278, __TSO115, __TSO116};
ObjectList_L49_0: LIST {__TSO113, __TSO114, __TSO278, __TSO115, __TSO116};
ObjectList_L50_0: LIST {__TSO108, __TSO280, __TSO107, __TSO106, __TSO105, __TSO104, __TSO279, __TSO110, __TSO111, __TSO112, __TSO113, __TSO114, __TSO278};
ObjectList_L51_0: LIST {__TSO203, __TSO109, __TSO108, __TSO280, __TSO107};
ObjectList_L52_0: LIST {__TSO81, __TSO207, __TSO203, __TSO109};
ObjectList_L52_1: LIST {__TSO83, __TSO208, __TSO82, __TSO81, __TSO207, __TSO203};
ObjectList_L53_0: LIST {__TSO210, __TSO84, __TSO83, __TSO208, __TSO82, __TSO81};
ObjectList_L54_0: LIST {__TSO212, __TSO211, __TSO206, __TSO209, __TSO210, __TSO84};
ObjectList_L54_1: LIST {__TSO216, __TSO215, __TSO214, __TSO213, __TSO212, __TSO211};
ObjectList_L55_0: LIST {__TSO217, __TSO216};
ObjectList_L56_0: LIST {__TSO205, __TSO204, __TSO217};
ObjectList_L57_0: LIST {__TSO241, __TSO205};
ObjectList_L58_0: LIST {__TSO42};
ObjectList_L58_1: LIST {__TSO242};
ObjectList_L58_2: LIST {__TSO41};
ObjectList_L59_0: LIST {__TSO243, __TSO40, __TSO38};
ObjectList_R0_0: LIST {__TSO297, __TSO187, __TSO39, __TSO186};
ObjectList_R0_1: LIST {__TSO186};
ObjectList_R1_0: LIST {};
ObjectList_R2_0: LIST {};
ObjectList_R2_1: LIST {__TSO127};
ObjectList_R2_2: LIST {__TSO127};
ObjectList_R3_0: LIST {__TSO131};
ObjectList_R4_0: LIST {__TSO129, __TSO130};
ObjectList_R5_0: LIST {__TSO128, __TSO129};
ObjectList_R5_1: LIST {__TSO132};
ObjectList_R6_0: LIST {__TSO67, __TSO119, __TSO136};
ObjectList_R7_0: LIST {__TSO273, __TSO67};
ObjectList_R8_0: LIST {__TSO271, __TSO281, __TSO272, __TSO273};
ObjectList_R8_1: LIST {__TSO66, __TSO270, __TSO282, __TSO33, __TSO32, __TSO269, __TSO271, __TSO281};
ObjectList_R9_0: LIST {__TSO64, __TSO65, __TSO66, __TSO270, __TSO282, __TSO33};
ObjectList_R10_0: LIST {__TSO62, __TSO63, __TSO221, __TSO64, __TSO65};
ObjectList_R10_1: LIST {__TSO55, __TSO54, __TSO62, __TSO63};
ObjectList_R11_0: LIST {__TSO222, __TSO57, __TSO56, __TSO55, __TSO54};
ObjectList_R12_0: LIST {__TSO224, __TSO283, __TSO222, __TSO57};
ObjectList_R13_0: LIST {__TSO36, __TSO284, __TSO223};
ObjectList_R13_1: LIST {__TSO285, __TSO226, __TSO36, __TSO284};
ObjectList_R13_2: LIST {__TSO263, __TSO285};
ObjectList_R14_0: LIST {__TSO264};
ObjectList_R15_0: LIST {__TSO265};
ObjectList_R16_0: LIST {__TSO265};
ObjectList_R16_1: LIST {};
ObjectList_R17_0: LIST {__TSO266};
ObjectList_R18_0: LIST {__TSO266};
ObjectList_R19_0: LIST {__TSO267, __TSO218};
ObjectList_R19_1: LIST {__TSO267, __TSO218};
ObjectList_R19_2: LIST {__TSO267, __TSO218};
ObjectList_R20_0: LIST {__TSO267, __TSO218};
ObjectList_R21_0: LIST {__TSO267, __TSO218};
ObjectList_R22_0: LIST {__TSO267};
ObjectList_R22_1: LIST {__TSO267};
ObjectList_R23_0: LIST {__TSO267};
ObjectList_R24_0: LIST {__TSO267, __TSO228};
ObjectList_R24_1: LIST {__TSO231, __TSO229, __TSO230, __TSO267};
ObjectList_R24_2: LIST {__TSO89, __TSO231, __TSO229, __TSO230};
ObjectList_R25_0: LIST {__TSO85, __TSO89};
ObjectList_R25_1: LIST {__TSO87, __TSO86, __TSO85};
ObjectList_R26_0: LIST {__TSO88, __TSO86, __TSO87};
ObjectList_R26_1: LIST {__TSO4};
ObjectList_R27_0: LIST {__TSO51, __TSO2, __TSO3, __TSO5};
ObjectList_R28_0: LIST {__TSO51, __TSO2};
ObjectList_R28_1: LIST {__TSO52, __TSO10, __TSO9};
ObjectList_R28_2: LIST {__TSO52};
ObjectList_R29_0: LIST {};
ObjectList_R29_1: LIST {__TSO53};
ObjectList_R30_0: LIST {__TSO49, __TSO48, __TSO53};
ObjectList_R30_1: LIST {__TSO50, __TSO49, __TSO53};
ObjectList_R31_0: LIST {__TSO69, __TSO47, __TSO68};
ObjectList_R32_0: LIST {__TSO0, __TSO309, __TSO19, __TSO45, __TSO46};
ObjectList_R33_0: LIST {__TSO0, __TSO17, __TSO310, __TSO18};
ObjectList_R33_1: LIST {__TSO0, __TSO16, __TSO17};
ObjectList_R33_2: LIST {__TSO0, __TSO43};
ObjectList_R33_3: LIST {__TSO0, __TSO179, __TSO44, __TSO43};
ObjectList_R34_0: LIST {__TSO0, __TSO180, __TSO178, __TSO179, __TSO44};
ObjectList_R35_0: LIST {__TSO0, __TSO180, __TSO178};
ObjectList_R35_1: LIST {__TSO0, __TSO177, __TSO180};
ObjectList_R36_0: LIST {__TSO0, __TSO176};
ObjectList_R37_0: LIST {__TSO0};
ObjectList_R37_1: LIST {__TSO71, __TSO70, __TSO144, __TSO145, __TSO0};
ObjectList_R37_2: LIST {__TSO142, __TSO71, __TSO70, __TSO144, __TSO145, __TSO0};
ObjectList_R38_0: LIST {__TSO142, __TSO0};
ObjectList_R39_0: LIST {__TSO141, __TSO31, __TSO29, __TSO140, __TSO143};
ObjectList_R40_0: LIST {__TSO118, __TSO117, __TSO141, __TSO31};
ObjectList_R40_1: LIST {__TSO190, __TSO118};
ObjectList_R40_2: LIST {__TSO190};
ObjectList_R41_0: LIST {__TSO191, __TSO190};
ObjectList_R42_0: LIST {__TSO92, __TSO91, __TSO90, __TSO191};
ObjectList_R42_1: LIST {__TSO94, __TSO93, __TSO92, __TSO91, __TSO191};
ObjectList_R43_0: LIST {__TSO94};
ObjectList_R44_0: LIST {};
ObjectList_R44_1: LIST {};
ObjectList_R44_2: LIST {};
ObjectList_R45_0: LIST {__TSO161};
ObjectList_R46_0: LIST {__TSO164, __TSO162, __TSO163, __TSO161};
ObjectList_R46_1: LIST {__TSO165, __TSO167, __TSO168};
ObjectList_R46_2: LIST {__TSO169, __TSO166, __TSO165};
ObjectList_R46_3: LIST {__TSO171, __TSO170};
ObjectList_R47_0: LIST {__TSO171};
ObjectList_R48_0: LIST {__TSO171};
ObjectList_R48_1: LIST {};
ObjectList_R49_0: LIST {};
ObjectList_R50_0: LIST {};
ObjectList_R51_0: LIST {};
ObjectList_R52_0: LIST {};
ObjectList_R52_1: LIST {__TSO192};
ObjectList_R53_0: LIST {__TSO193, __TSO192};
ObjectList_R54_0: LIST {__TSO198, __TSO197, __TSO196, __TSO195, __TSO194, __TSO193};
ObjectList_R54_1: LIST {__TSO199, __TSO202, __TSO200, __TSO201, __TSO198};
ObjectList_R55_0: LIST {__TSO199};
ObjectList_R56_0: LIST {__TSO274, __TSO219};
ObjectList_R57_0: LIST {__TSO275, __TSO220, __TSO274, __TSO219};
ObjectList_R58_0: LIST {__TSO293, __TSO276, __TSO275};
ObjectList_R58_1: LIST {__TSO295, __TSO296, __TSO277, __TSO276};
ObjectList_R58_2: LIST {__TSO294, __TSO295, __TSO188, __TSO277};
ObjectList_R59_0: LIST {__TSO297, __TSO294, __TSO188, __TSO39};
Ah, now it's more clear what is going on. Track sections are drawn from left side to the right side. So left side objects are drawn first and then right side objects appeared in front of them (along single track section). So solution will be to move middle banner to the right side object list.
02-13-2025, 05:36 AM (This post was last modified: 02-13-2025, 05:55 AM by samsepi0l.)
(02-13-2025, 05:01 AM)Pavel 69 Wrote: Ah, now it's more clear what is going on. Track sections are drawn from left side to the right side. So left side objects are drawn first and then right side objects appeared in front of them (along single track section). So solution will be to move middle banner to the right side object list.
Well... you were right... I can't believe I didn't try that. It just proves I still have a lot to learn!!!!
I thought that if I tried that it would simply create the same problem on the other side. Thank you Pavel.