Jump to content


  • Content Count

  • Joined

  • Last visited

  • Medals

  • Medals

Community Reputation

1221 Excellent

About x3kj

  • Rank
    Warrant Officer

Profile Information

  • Gender
    Not Telling

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. vehicle driving in a curve ("banana"), even when you are not steering (esp. pronounced at low speeds)
  2. The config parameters latStiffX, latStiffY and longitudinalStiffnessPerUnitGravity can lead to this. Their purpose is a bit hard to explain, to tell the truth I recommend reading nvidias "programmers" tuning guide for physx vehicles - its not 100% identical to BI's stuff but lets say 95% - the names are also not matching 1:1 but you should get the idea https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/3.3.4/Manual/Vehicles.html#tuning-guide frictionVsSlipGraph array can also be cause of this (if defined) / can mitigate it somewhat, but can have unintended sideffects ("banana drive bug")
  3. x3kj

    Flight instruments?

    you dont find anything because animating cockpit instruments is exactly the same as animating flaps or rudder. You simply define the animation in model.cfg (e.g. a rotation), give it an axis in the model via memory point (e.g. the center of a dial), and assign a selection in view pilot LOD (e.g. the indicator on a dial). Then you select an appropriate animation source that drives the animation, and done.
  4. Another Head Gear Concept, Plasmalauncher WIP
  5. fantastic, much appreciated
  6. Idk if it's of use to anyone, but i made a python script to convert greyscale images to .asc format for importing into terrain builder. I use it to convert 16bit .tif images out of substance designer to .asc, because L3DT and TB dont like the format that much / require manual twiddling everytime You can also try other image formats (the library supports a plethora of other formats) - just change myheightmap.tif to myheightmap.png or whatever. I have only tested it for my particular use case however and i'm no expert on that library or python in general (in fact, this is my first ever python script). How to execute? If you are a dummy like me and dont know how to Python or sudo - install anaconda distribution, it has all the necessary libraries, then launch spyder tool (that comes with it) and open the file, then run it with F5. Yes it's overkill but its single click... edit the user inputs as applicable to your use case Notes: Sea level is 0 meter min/max elevation are the 0% and 100% grey value in the image format. It doesnt auto-level the image. Image resolution doesnt have to be square or 2^n - wether TB or other tools like it or not i have no idea Conversion on 4k maps takes a while (wait until "###Conversion done###" appears in the console) use at own risk... import numpy as np from pathlib import Path import imageio as io ### user inputs ### filepath = Path("""P:/myheightmap.tif""") outputpath = Path ("""P:/output.asc""") #attention - any existing file with same name is overwritten hmax = 1000.0 #Input max Elevation (in meter) hmin = -200.0 #Input min Elevation (in meter) twidth = 2000.0 #Input mapsize (width in meter) limit = 2**16 #max grey value of file (16bit-> 2**16, 8bit-> 2**8) ########## load image ################ arr = io.imread(filepath) arr = np.array(arr, np.float32) adim = arr.shape # dimension of array - returns [Height, Width] cellsize = float(adim[1]/twidth) print ('Image Resolution:'+str(arr.shape)+' Cellsize:'+str(cellsize)) ########## write to file ################ file = open(outputpath,'wt') # wt - write mode, text mode. Overwrites any existing file ###file header file.write('ncols '+str(adim[1])+'\n') file.write('nrows '+str(adim[0])+'\n') file.write('xllcorner 200000.0\n') file.write('yllcorner 0.000000\n') file.write('cellsize '+str(cellsize)+'\n') file.write('NODATA_value -9999\n') ###body for y in range (0, adim[0]): # -1 is not necessary because in case adim[0]= 3 then range is [0,1,2] -> 3 is not in the range line =str() # empty string for x in range (0, adim[1]): arr[y,x] = round (hmin + (arr[y,x] / limit) * (hmax - hmin), 2) # note: numpy arrays are [y,x] whereas default python is [y][x] line+='{:.2f}'.format( arr[y,x] ) #format string to show 2 decimals if (x < adim[1]-1): line+=' ' line+='\n' file.write(line) ## file end file.close() print ('### CONVERSION DONE ###') Cheers, X3KJ
  7. The description for this situation is "intersecting geometry". If the angle between the plates that penetrate each other is 90° its usually no problem. If the angle is small however, z-fighting (flickering) can occur at the edge
  8. x3kj

    AI Discussion (dev branch)

    Found a player exploit... Upon receiving Artillery / Long Range weapons fire from an enemy unit (player/ai), AI will go into dangermode, their knowsAbout value will be >0 and time of "lastDanger" will have a value ("lastSeen" is negative). However, if the player is the gunner and exits the vehicle before the shells have landed, the enemy AI will not go into dangermode and will not know about the artillery vehicle that shot the shells. (edit: The condition is that the player/AI exits, and no one else is left in the vehicle)
  9. Yes infantry damage system is just damage - means extra hitpoints, hit / armor are the most relevant. Soldiers have very similar firegeometry (basically just parts that are meat material, or meat+bones material etc) - and armor does not influence the fire geometry. Therefore caliber is mostly irrelevant - EXCEPT when the caliber is sufficient to completely penetrate (see Case A in Damage vs. Penetration in the damage description) - in which case the described reduction of damage is observed. Pass through is for global armor (global health). If global health is 0, the vehicle/soldier dies. Contribution of individual hitpoints to global armor is determined by passthrough of the soldier hitpoint config, modified by passthrough of the armor. Problem is - it is highly unpredictable what happens due to the combination of issues. See direct damage description in https://feedback.bistudio.com/T120542 Based on my tests i have 0 confidence in global health mechanic, because i observed weird oddities even with passthrough set at 0 for everything. So take away this - Infantry damage is imperfect. If you want to improve it you have to trial and error a lot and base all decisions on ingame tests. Unfortunately. The issues can be somewhat remedied by a complete rebalance... Muzzle velocity is defined in magazine class, can be modified (or overruled) by weapon https://community.bistudio.com/wiki/CfgMagazines_Config_Reference#initSpeed.3D900
  10. type of sound environment used depends on ground texture if im not mistaken - redefining/replacing all forest related sound classes to not have forest sounds would be the clean solution.
  11. First texture pass on custom Centaur pattern. Some things are missing still (e.g. tracks)
  12. To be clear, i only meant the patents of Salvatore Cezar Pais. The ones listed on that site from John Quincy St. Clair seem like utter rubbish - the assignee isnt the united states government either.
  13. Found this patent text mentioned on the web somewhere: "HIGH FREQUENCY GRAVITATIONAL WAVE GENERATOR" I have no idea if it is legit... at least the amount of patent-lingo-bullshit checks out 😄 Its very intriguing, seeing they made videos of "flying tic tac" public not too long ago. (for reference https://www.youtube.com/watch?v=tf1uLwUTDA0 ), there have also been claims of a navy contractor to have witnessed the observation of "USO" (unidentified submarine object) onboard a submarine that move way too fast to be of any known.vessel (https://www.youtube.com/watch?v=PcDwHxTbGTk ). The observations match the movement abilities that are adressed by the patent(s) as being possible due to some vacuum generated around the vessel, which allows it to pass trough any medium without resistance. With trillions of $ disappearing in government funding i wouldnt be shocked if they are trying to build a fleet of these "ufo". here are other patents with us navy as assignee (with the purpose of license-free manufacturing and usage of vessels using those inventions) https://patents.google.com/patent/US10144532B2 Craft using an inertial mass reduction device https://patents.google.com/patent/US20180229864A1 Plasma Compression Fusion Device https://patents.google.com/patent/US20190058105A1 Piezoelectricity-induced Room Temperature Superconductor edit: i found some site that gives info on the inventor listed for those patents https://hyperspace.engineer/ edit2: (note, i would disregard all of the other patents from other authors on that site... they just seem like gibberish rubbish)
  14. Thats what i also partially meant with my youtube comment: For an existing asset, the algorithm could do its magic. If we have a manual way to save the output, it just has to be loaded again the next time the building is used (or in next mission)- so the calculations can be more complex if necessary. This means someone (not a buildingmaker) could pre-generate the stuff manually - in a batch, and write it in a custom config or a function or something. A buildingmaker could also do this directly. Especially information thats not so trivial to retrieve could be very usefull to manually fine tune either by someone (mission maker/scripter/etc) checking ingame, or directly pre-specified by the buildingmaker himself. The only thing thats not possible to precalculate on per-building-class level is, when obstacles are placed inside buildings - this still has to be checked "on demand", at least once per mission. To make better AI that behaves more like a human it needs to receive more information about its surrounding. In case of building overabundance (urban environment/ crazy user mission) it would be best from FSM perspective to first check if a building is suited for a purpose or not based on some summary of detail-data - and only then decide if to enter at all, and then perform calculations on pathing. With dynamic calculation you would have to first calculate every building there is, retrieve summary data, and then find the suitors you might want to enter. If detail-data was already partially pre-specified you would only have to check on buildings that didn't have data. e.g. task - setup defense against expected enemy -> occupy buildings. There are many buildings, so a player would decide based on several criteria: How many firing positions does it have, which directions can they cover How many access points does it have, where are they located How well covered are the firing positions (giant window in a shop is worse than tiny embrasure in bunker) - and from which direction (e.g. a medieval wall only provides cover in one direction, and has no overhead cover). How strong is the protection (wallthickness and materialtype, wooden shack vs. concrete pillbox - data from firegeometry) How durable is the building against collapse (collected data from hitpoints class and hitpoint LOD) I am making a fortification system (pillboxes, fort-like walls, towers and other things) with proper embrasures, machicolations, vehicle firing emplacements and all that. As it stands i would have to 'glue' AI in place by invisible fire-from-vehicle turrets (which is a poor bandaid) for defense. Attack would be a hilarious catastrophical failure. Due to the restrictive firing angles and complex shapes that can appear, i'm not sure if an algorithm could handle all the data in reasonable time I think it would be best to have a "manually overwride"/pre-specifications for "difficult" buildings or areas - esp. infantry & vehicle embrasures, so that AI know which position to take / defend against enemy from direction xyz. And most FSM thus far dont deal well with buildings at all. They'd rather occupy a windowless wooden shack 20m away than a concrete pillbox 150m away. here's some inspirational pictures, perhabs https://media.moddb.com/images/mods/1/35/34680/cornerfuse.jpg https://abload.de/img/gatesys6yece9.jpg https://media.moddb.com/images/mods/1/35/34680/towerb_combo1.jpg https://media.moddb.com/images/mods/1/35/34680/towerb_combo2.jpg https://media.moddb.com/images/mods/1/35/34680/20190217223006_1.jpg https://forums.bohemia.net/forums/topic/209157-wip-samarsk-uprising-a-w40k-total-conversion/?do=findComment&comment=3323730
  15. if you dont find a solution, try another path for approach - check how weapon collision is done for infantry - if its a seperate geolod, or just transformed base lod. If its seperate lod, give the crocodile a weapon with high length maybe.