fLUnKnhaXYU
Members-
Posts
207 -
Joined
-
Last visited
Content Type
Profiles
Forums
Blogs
Articles
Docs
Gallery
Everything posted by fLUnKnhaXYU
-
Oh , sm = sub mesh , Thanks a lot , Jeff . I,ll give that a try that with the v3.10 then
-
No , I had not edited the source file . I believe that would do the trick though . Thank you , Jeff .
-
Thank you for your suggestions Duion .
-
so, this may be just redundant but heres a comparison of 3.9 (Left)and .310 (Right) . These are using the 137 bone original version of the armature , with a cam and eye added These are using the exact same folders for all of the art which are placed in each executables folder . besides the issue with the dragons rendering I am a little curious as to why the same color settings are so different in appearance . I only really noticed after i ran the sectors package in the 3.9 folder .
-
Sorry , Jason , its been a little while since I started messing with that file and I had only used it in ver 3.9 until this .I believe Duion is correct , I use blender and exported the DAE using the baked animations file . So this is from todays further look into it . As Jason suggested I checked the nodes in the shape editor . I have a current source code so i looked and fount this tsShape.CPP line 62. U32 TSShape::smMaxSkinBones = 70 ; Some numbers from the dragon model ; number of bones in Rig = 137 number of bones in feet = 66 70 'ish so I deleted the 66 foot bones plus a few head bones and relaced the feet bones with just 4 bones . this picture shows the result . just a little messed up though . So , I guess its the bone limit then ?
-
here is a link to the model https://free3d.com/3d-model/black-dragon-rigged-and-game-ready-92023.html
-
Thank you Duion , Here is an image in Pacific Demo , the same file during flying animation seen in the 3.10 image .
-
this is the static model as it appears in the pacific demo and v 3.9 this is an image from v. 3.10 its the same DAE file in both folders .
-
@Hodo33 , Its all possibly quite contrary yet i believe that the rayleigh scattering is responsible for dimming things considerably in this case . I think 999999 was as high as I could go . @Duion I just played around with this because I agree that an orangish star would look nice , so those numbers produced the largest and darkest scatterSky sun that i could manage without super lighting the sky.background . also I really do like the visual affect on the scene's lighting .
-
the scripts/server/aiPlayer.cs is the best place to find the functions related to aiPlayers / . The Torque3d manual 3.5.1 covers aiPlayer and spawnSpere methods and things , I highly reccomend the manual its available at readthedocs.com . Study the spawnShere and aiPlayer relationship . with the spawnScript you can execute commands relative to the Bot spawned at that particular spawnSphere such as goto obj or goto path , set animation threads kind of things plus re-spawning control . The spawned object ID is saved as $spawnObject which can be used in the script . The spawn script has a limit of 255 characters . Youll need paths and waypoints and a couple of finickey little things will come with that . You might need to learn how to make a path . It involves grouping a set of waypoints into a path object . something like that .They have to be numbered . Setting a bot to a path with the argument -1 for the path marker to proceed to will result in a constant loop of the path . heres a little test path . you might have to adjust the Z values , maybe just snap to terrain . new Path(path1) { isLooping = "1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; new Marker() { seqNum = "0"; type = "Normal"; msToNext = "1000"; smoothingType = "Spline"; position = "-741.996 -541.291 233.284"; Rotation = "1 0 0 0"; scale = "1 1 1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; }; new Marker() { seqNum = "1"; type = "Normal"; msToNext = "1000"; smoothingType = "Spline"; position = "-763.352 -545.388 233.079"; Rotation = "1 0 0 0"; scale = "1 1 1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; }; new Marker() { seqNum = "2"; type = "Normal"; msToNext = "1000"; smoothingType = "Spline"; position = "-781.852 -530.86 234.705"; Rotation = "1 0 0 0"; scale = "1 1 1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; }; new Marker() { seqNum = "3"; type = "Normal"; msToNext = "1000"; smoothingType = "Spline"; position = "-763.724 -509.504 235.157"; Rotation = "1 0 0 0"; scale = "1 1 1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; }; new Marker() { seqNum = "4"; type = "Normal"; msToNext = "1000"; smoothingType = "Spline"; position = "-732.683 -525.893 233.416"; Rotation = "1 0 0 0"; scale = "1 1 1"; locked = "1"; canSave = "1"; canSaveDynamicFields = "1"; }; }; Once you've spawned your bot be sure to type in objectID.dump(); in the console for a list of the available methods and things objID.dump(1); will give more details . spawnSpheres , Paths , wayPoint Markers , Triggers , all seem pretty much fundamental . Some nifty aI oriented GUI might seem a natural progression .
-
well, I tried t0 figure things out about the 360 deg scanning and was thouroughly frustrated . My efforts lead me to rotating the entire model around the z axis 70 or so degrees at a time . That provide a 360 degree scan . And thats all I could do to make to deployable turret scan 360 degrees , I tried adding nodes , switching nodes , reorienting nodes etc, even mounting the turret to a rotating model would still only scan ahead along the y axis . This , I guess I might start and stop using schedules at onAdd/onRemove time , keep the turret weapon hidden until a target is detected , maybe swap out a static model for while there is no target because i had to rotate the entire origin . In the deployable turret datablock I put a field - rotateZ = "0 0 1 0" ; to be used by the function . So , just call the function , pass in the client and object id and in this case it rotates 70 degrees , I guess . If you find my coding funny and/or weird and/or ridiculous , feel free to share the humor . It needs a little tidying up though . such as maybe using this instead of obj.GetDataBLock but you get the picture . //function serverCmdRotateScanner(%client, %obj, %Rot, %timeMS) function rotatescanner(%this, %obj) { %vec = %obj.getdatablock().rotationZ; //echo("\c1VECTOR pt1 = " @ %vec); %word3 = getword(%vec,3); %word3 +=70; if (%word3 >= 360){ %word3 -=360; } //echo("\c4GETWORD3 pt1 = " @ %word3); %vec = setword(%vec, 3, %word3); %obj.setfieldvalue(rotation,%vec); //echo("\c3VECTOR NOW = " @ %vec); %obj.getdatablock().setfieldvalue(rotationZ, %vec); //echo("\c1DATABLOCK.ROTATION = " @ %obj.getdatablock().rotationZ); }
-
I think I get what youre saying now . Theres a little on sunColor in both the scatterSky.CPP and the timeOfDay.CPP maybe youll see something there . Seems that putting a corona at the point in time of day would do it , then you could reduce the size for the scattersky sun to 0 and just use the corona and lighting settings . I found that slightly dimly lit look quite appealing . Im having a little trouble in finding some useful range for the MIE Scattering value , I cant see any change in the lighting . heres another setting if you'd care to try it , its basically the same , with an orange light all the way across . new ScatterSky(testSSky) { skyBrightness = "0.6"; sunSize = "100000"; colorizeAmount = "80"; colorize = "0.388235 0.388235 0.968628 1"; rayleighScattering = "0.5"; sunScale = "0.996 0.996 0.988 1"; ambientScale = "0.302 0.302 0.298 0.184"; fogScale = "0.976471 0.984314 0.996078 1"; exposure = "999999"; zOffset = "0"; azimuth = "0"; elevation = "35"; moonAzimuth = "0"; moonElevation = "45"; castShadows = "1"; staticRefreshFreq = "8"; dynamicRefreshFreq = "8"; brightness = "1"; flareType = "NullLightFlare"; flareScale = "2"; nightColor = "0.0313726 0.0313726 0.0313726 1"; nightFogColor = "0 0 0 1"; moonEnabled = "1"; moonMat = "Moon_Glow_Mat"; moonScale = "0.02"; moonLightColor = "0 0 0 1"; useNightCubemap = "1"; nightCubemap = "NightCubemap"; attenuationRatio = "0 1 1"; shadowType = "PSSM"; texSize = "512"; overDarkFactor = "2000 1000 500 100"; shadowDistance = "100"; shadowSoftness = "0.15"; numSplits = "4"; logWeight = "0.91"; fadeStartDistance = "0"; lastSplitTerrainOnly = "1"; representedInLightmap = "1"; shadowDarkenColor = "0.301961 0.313726 0.207843 0"; includeLightmappedGeometryInShadow = "0"; position = "-11.431 6.11889 100.864"; Rotation = "1 0 0 0"; scale = "1 1 1"; canSave = "1"; canSaveDynamicFields = "1"; mieScattering = "0.0008";//----------this might be weird but Im not seeing much affect from changes to this setting };
-
I couldn't find anything on a corona color for the scattersky sun . All I can figure is that scatters the colors from a point which is the center of a sun . IDK , I couldnt see where it adds a sun object , just generates the sky coloring using the rayleigh setting . you might try these settings sunSize = 50 rayleighScttering = 0.2 meiScattering = ??? - I think this is more for objects in the sky (maybe something like 0.0045) flareType = null - you can add you own flare , any color . i used a medium blue color for colorize . you should get a sun area that is mostly the colorize color with a small amount of bright or scattered color . If it doesnt make sense Im probably just not expressing it well . Torque 3D documentation release 3.5.1 at readTheDocs page 82 Scatter Sky .
-
I think that it might be that it uses the file art/lights/corona.PNG , which is white .
-
practicing01, In the console , just using %obj.setvelocity("0 0 10"); works with the defaultPlayer datablock settings for mass(120) , density(1.3) and drag(1.1) and the gravity mod of the physical zone set to 0 . I didnt bind a key to it but you could try it . Of course , you can change that z value(10) to whatever . 10 seemed fairly quick . Code_Man As for the Crouch animation just using %obj.setActionThread(pistol_crouch_root , 0 , 0); in the console did fine The bot would move in the crouch position from this point . I was having a bit of trouble selecting the bot , I dont know why , made me imagine of some way to access bots or groups of bots from a list of bots added using the NavMesh and possibly assigning animations to multiple bots .
-
My "custom" version , mentioned in the last post , seems to be scanning in 360 deg. . There's a bit in the turret source that says scanPoint = -1 aimPoint = -1 In the datablock I added strings in place of the -1 , I don't really know what is expected to be in this field or if it actually is the reason for the change in behavior . scanPoint = -"scanPoint" aimPoint = "aimPoint" there seems to be some sort of pitch problem , but its definitely scanning 360 degrees . The weapon isnt following the target . or moving at all . just firing .
-
Strange thing , you can set up you turret with a wide scan field and walk straight up to it , as long as you're not exactly in the center . If you stand off to the side , it doesnt detect you . While in world editor , use the rotate tool and just nudge the object around very slightly and suddenly its scanning within the defined field and will detect you very nicely , up to 180 heading not 360 , so far . These DAE's files show that all of the nodes "scanPoint ,aimPoint , heading , pitch" are in the model , however i cant find them when I import it to Blender 2.76 . I haven't determined what exactly is necessary for the scanning and aiming animations . Theres no "base" object in mine just a column-like object with all other nodes parented to it . its ugly and simple for testing /learning .
-
Torque 3D Documentation Release 3.5.1 available at readthedocs.com page 529 AiTurretShape Shape file nodes scanPoint node If the scanPoint node isn't present within the shape file then the turret's world transform is used . aimPoint node If the aimPoint is not found on the turrets shape then the pitch node will be used . page 618 turretShape shape file nodes heading - pitch - says both nodes are controlled by the turretShape code and shouldnt be animated by the artist , nor should it have anything but its default transform applied to it . p. 621 Turret Optional Animation Sequences "heading" and "pitch" will be played as the turret rotates . And mentions , may be used for animating wheels or gears during the rotation . I imported the DAE's into Blender and I didnt see any of the nodes mentioned here in the turret_head or Turret_legs DAE files in the art/shapes/weapons/Turret folder . -------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------- Doesnt exactly clear it all up , but Id expect that you could probably animate the the scanPoint node or its parent like with the eye node being animated throught moving the head node in a player model. maybe 90 degrees right and left might achieve 360 degrees . but really it seems that scanning from the turrets world transform while using the terrain type mask sounds like potential problem and it "appears" that that is what is being done .
-
BEGINNER - Advanced lighting shadows causing ugliness .
fLUnKnhaXYU replied to fLUnKnhaXYU's topic in Rendering
Well , not so fast , todays experimenting has left me quite optimistic about the use of lights and shadows even in my case . new PointLight() { radius = "90"; isEnabled = "1"; color = "1 0.603922 0 1"; brightness = "0.6"; castShadows = "1"; staticRefreshFreq = "64";//<------------------------THIS WAS THE SLOWEST I COULD USE 128 WAS TOO JITTERY dynamicRefreshFreq = "8"; priority = "3"; animate = "1"; animationType = "FireLightAnim"; animationPeriod = "1"; animationPhase = "1"; flareScale = "1"; attenuationRatio = "0.0001 100 0.0001";//<-----WHAT MIGHT BE SOME SENSIBLE RANGE FOR THESE VALUES ? THESE ALL SHOWED SOME AFFECT shadowType = "DualParaboloidSinglePass"; texSize = "128";//<------------------------------------WOULD WORK FOR ME DOESNT LOOK REAL , JUST TRICKS THE EYE A BIT OLD SCHOOL (LIKE IT) overDarkFactor = "16 12 8 4"; //<-----------------JUST THINKING AROUND THE 40 UNIT DISTANCE OF THIS OBJECTS SHADOW DISTANCE shadowDistance = "20";//<--------------------------WELL IT WAS 40 MUST'VE CHANGED IT , OK 20 HERE THEN, shadowSoftness = "0.4";//<-------------------------TRYING TO KEEP IT SOFT , JUST ENOUGH TO TRICK THE EYE . numSplits = "1"; logWeight = "1"; fadeStartDistance = "16";//<------------------------THINKING IT MIGHT BE OK FOR THE 20 UNIT SHADOW DISTANCE . lastSplitTerrainOnly = "1";//<------------------------NOT SURE THIS MEANS ANYTHING IN THIS CASE WHERE PSSM IS NOT AN OPTION representedInLightmap = "0";//<-------------------? DOESNT SEEM LIKE A GOOD IDEA TO LEAVE AT FALSE , CHANGE TOMORROW shadowDarkenColor = "0 0 0 -1"; includeLightmappedGeometryInShadow = "0";//<-? DOESNT SEEM LIKE A GOOD IDEA TO LEAVE AT FALSE , CHANGE TOMORROW position = "-805.831 -689.131 251.896"; Rotation = "1 0 0 0"; canSave = "1"; canSaveDynamicFields = "1"; }; Of course this is all tinkering around and many of the settings might make little sense as it was just a trial and error session of a noob . If I were to ask anything here it might be concerning the variables "representedInLightMap" and includeLightMappedGeometry InShadow" both of which are false by default , and how they might would correspond with the , mysterious , workings of the "dualParaboloidSinglePass" . Also , something which would clarify "attenuationRatio" . With all of the post effects doing something , using scattersky , 3 frefabs with particles and point lights , couple of spotlights , shining through walls , My AMD A6 quadcore GeForce GT 610 (2GB) achieving 10'ish + FPS , CPU(WINDOWS7) around 18% RAM DDR3 8GB) around 18% . nothing to write a volume about but looks and plays just fine .I'll probably be moving back toward the beginner section now . I appreciate your help and your work in this area , -
BEGINNER - Advanced lighting shadows causing ugliness .
fLUnKnhaXYU replied to fLUnKnhaXYU's topic in Rendering
Thought Id go ahead and continue adding to this , hope not to waste your time .increasing the point light diameter has helped with the flashing problem . I was using 5 - 10 units while it kept flashing in and out . At 40 it becomes very stable . This also helped with the appearance of the cubes using the cubeProjection , at a radius of 500 and a texSize of 128 I couldnt see the cube pattern . If i walked close to a shadow then I could see the pattern . The dualParaboloidSinglePass was the best performer for me however none of the shadows at this time seem usable , be it for my lack uderstanding how to set it up or with my current equipment . which isnt very powerful in gaming or video editing , say , using DaVinci Resolve 14 , you know the free one , it'll run it but its not a very encouraging experience . So i guess I agree with Duion and that highly effective touch of realism might just have to wait . switchcing to the paraboloid selection tends to crash my program but not every time . Thanks again . Shadows are very nice . -
BEGINNER - Advanced lighting shadows causing ugliness .
fLUnKnhaXYU replied to fLUnKnhaXYU's topic in Rendering
Very kind of you to bother , just as you said the cubeprojection was selected. Also the texture size was 512 , default , i think , I certainly didnt set it at that for any clear reason . changing it to 1024 made a significant difference in the smoothness of the small cubes , what I was calling checkereds , I tried 2048 but seemed to start lagging quite severely , I couldnt sect PSSM , IDK why SO go with what you know . the parabaloid choices seemed to look nice , and to me , it looked VERY nice , very dramatic enhancement to the scene , very desirable even for a old school mentality . The now VERY nagging issue for me is with the flashing in and out of the light . Again , I Dont Know why it happens , I played around with the settings and nothing seemed to help with that issue . Could this be solely a hardware/performance issue ? The overDarkFactor is something I havent had much luck with in trying to dial in in some nice hilly terrain . I saw it there but couldnt really imagine its effect on a small point light , but as you have suggested , I will have a go at downing that parameter . Really appreciate your time and help . -
I have a situation when I use a point light near other objects , static items , the soldier character model and character models I've made using make human . When shadows is enabled on the point light it makes a checkered pattern where the light is hitting the objects , when shadows are off then no such problem , This happens on objects with a relatively high poly count and doesnt affect nearby low poly items including trees . I dont know much at all about lighting but advanced is enabled and my settings are all high though I get quite a low frame rate , 20'ish , Also , this point light just disapperars depending on where I'm standing a very common occurrence for me using spot or point lights , I rotate around and they disappear , always while I am facing a certain location , any thoughts ? My equipment is not considered to be high end . 8GB DDR3 , GeForce GT 610 2GB
-
OK , this was necessary too . See the lifetime field . Its necessary for projectile covering longer distance . datablock ProjectileData( TurretBulletProjectile ) { projectileShapeName = ""; directDamage = 500;//default = 5//<-------------THIS HELPS , 1 hit is 500 DMG radiusDamage = 0; damageRadius = 0.5; areaImpulse = 0.5; impactForce = 1; damageType = "TurretDamage"; // Type of damage applied by this weapon explosion = BulletDirtExplosion; decal = BulletHoleDecal; muzzleVelocity = 120; velInheritFactor = 1; armingDelay = 0; lifetime = 5000;// 992;//<----------------------at 992 the projectile only exists for a couple hundred meters , //,---------------------- 5000 seems to be 800 meters , give or take . fadeDelay = 1472; bounceElasticity = 0; bounceFriction = 0; isBallistic = false; gravityMod = 1; }; The lead velocity seems a bit tricky with weird things happening close to the turret even turning away as i would walk forward in front of it . So, Im playing around with that now , as it seems quite useful for AI . Anyway , these couple of changes were quite effective , I think , and the turret turned out to be quite a bit more fun .
-
I think that one of things to be sure and do is point the aiturret in the direction it is to guard against else , as in my case , you could walk right up behind it . Leads me to believe that it isnt scanning 360 degrees . Maybe the idea is so not to have it turn against its own team . Remember the datblock names where these fields are found , they can be refered to as TurretBulletProjectiloe.directDamage and AiTurretHeadImage.projectileSpread , should you wisht to access them in scripts . *unless Im mistaken of course . you could try these few edits to some default datablocks below . Everything is in the one file mentioned below . I'd like to add that the easiest way is to create a new datablock in the datablock editor , Then you can hack away at whatever you like without worry of messing up the original file . You can then assing your AI turret the new datablock , but in my case it created a new object with the new datablock name which i can add through the world editor , ..neato . // ./art/datablocks/weapons/turret.CS //--------------------------------------- datablock ProjectileData( TurretBulletProjectile ) { projectileShapeName = ""; directDamage = 500;//default = 5//<-------------THIS HELPS , 1 hit is 500 DMG radiusDamage = 0; damageRadius = 0.5; areaImpulse = 0.5; impactForce = 1; damageType = "TurretDamage"; // Type of damage applied by this weapon explosion = BulletDirtExplosion; decal = BulletHoleDecal; muzzleVelocity = 120; velInheritFactor = 1; armingDelay = 0; lifetime = 992; fadeDelay = 1472; bounceElasticity = 0; bounceFriction = 0; isBallistic = false; gravityMod = 1; }; //------------------------------------------------ datablock AITurretShapeData(AITurret) { // Rotation settings //JUST EXPERIMENT WITH THESE AND DONT GET DISCOURAGED //The numbers to the right of the remarks are defaults minPitch = 90;//15//<------------------------- maxPitch = 90;//80//<------------------------- maxHeading = 180;//90//<---------------------- headingRate = 359;//50//<--------------------- pitchRate = 359;//50//<----------------------- // Scan settings maxScanPitch = 90;//10//<--------------------- maxScanHeading = 180;//30//<------------------ maxScanDistance = 300;//20//<----------------- trackLostTargetTime = 2; maxWeaponRange = 300;//30//<------------------ weaponLeadVelocity = 0; accufire = 1;//-------------------------------not so sure what it is //======================================== YOU CAN EXPERIMENT WITH THESE TO SEE //======================================== HOW YOU CAN ASSIGN DIFFERENT WEAPON //======================================== DATABLOCKS TO THE MOUNT/S PLACED IN //======================================== THE MODEL // //THIS ONE IS THE DEFAULT AITURRET WEAPON // weapon[0] = AITurretHead; // weaponAmmo[0] = AITurretAmmo; // weaponAmmoAmount[0] = 10000; // // maxInv[AITurretHead] = 1; // maxInv[AITurretAmmo] = 10000; //tHIS WILL MOUNT THE LURKERGRENADELAUNCHER maxInv[LurkerGrenadeLauncher] = 1; maxInv[LurkerGrenadeAmmo] = 10; weapon[0] = LurkerGrenadeLauncher; weaponAmmo[0] = LurkerGrenadeAmmo; weaponAmmoAmount[0] = 10; //-============================================= datablock ShapeBaseImageData(AITurretHeadImage) { // Basic Item properties shapeFile = "art/shapes/weapons/Turret/Turret_Head.DAE"; emap = true; // Specify mount point mountPoint = 0; // Add the WeaponImage namespace as a parent, WeaponImage namespace provides some hooks into the inventory system. class = "WeaponImage"; className = "WeaponImage"; Projectiles and Ammo. item = AITurretHead; ammo = AITurretAmmo; projectile = TurretBulletProjectile; projectileType = Projectile; projectileSpread = "0.005";//0.02//<---------------- THIS HELPS ACCURACY //YOU CAN EVEN MAKE IT //ZERO //=========================================================== This is a really nice fun engaging Item for levels with lots of potential for good game play . I havent even tried out the turret like the one mounted on the cheetah , Have to try my hand at building a nice vehicle for just that .
-
The scanning seems a bit difficult to set up reliably . Im having trouble setting it up to where i cant just walk up to it . I am not a coder , i just use the editor and scripts as best I can .
