Langerd Posted June 21, 2016 Share Posted June 21, 2016 Ok so ...https://jkhub.org/topic/6026-bespin-cloud-city-vader-sp-mission-wip/page-8?do=findComment&comment=114020 problem origin from this topic Weird situation..My model didnt use the at_st_side weapon but I fixed it! But in half. The AT_ST_Side works BUT it doesn't comes from the tags. It comes from the weapon_0 tag for some reason :/So i made a little test ! I imported the default normal model of the At_ST and exported it in blender . NO changes at all. Just the export. And i put the model.glm in the new player model folder - atst2. So i made npc (copied whole lines from the default one and just change the name and the model to use .. in this case atst2) And start the game. So it should work right? Yeah... but it also shoots from the middle -Main and Side.Even if the tags are the same, even if the model has the same body parts names and even if everything in the modview looks nice... it doesnt work like that. Even after exporting the default model.Tags are not a problem here ... maybe there is some problem with the name or the vehicle file but i dont ... Link to comment
Ramikad Posted June 22, 2016 Share Posted June 22, 2016 At this point you might as well dismember the ATST2. It's a long shot, but try blasting to dust its *weapon tag: maybe if it can't find the tag it will resort to shooting from the *flash tags? Pure speculation. Link to comment
minilogoguy18 Posted June 22, 2016 Share Posted June 22, 2016 Your modview pictures aren't helping at all. You need to post pictures of the blender hierarchy as well as the VEH and NPC files. Link to comment
Asgarath83 Posted June 25, 2016 Share Posted June 25, 2016 mmm... sure there is not any tag missing? if the tag shooting is missing of got something of wrong, the weapons are shooted by the origin of the model.i've not worked again with not humanoid models, so i really not know how help you much : \ Link to comment
Langerd Posted June 25, 2016 Author Share Posted June 25, 2016 There is no way .. to do this. I dont think that Vehicle file do anything here. I changed it , make with the same name as the model file, change paths (I just copied WHole lines from atst_vehicle.vehicle file and just changed names and paths..)There is no way with missing tags .. As i said before ATST2 which is just new model is exactly the same model as default one.. but because it is called atst2 not atst it doesnt work .. maybe it is because of vehicle file but i dont think so..Also i wanted to make sure 100% .. Even the HD replacment atst that we have in the file section IT has the same issue when i changed paths in skin , vehicle files just to see how it would work.. and yeah .. it worked in the same way :SI managed to make him shooting from cannons that i wanted but .. It worked only when i changed name of the folder to the - atstYeah .. it replace the normal atst model but I wanted this to work separately. Maybe there is still something that i am doing wrong but i am sure that there is NO problem with tags but with the vehicle file OR there is some shitty code line in the game that makes tags work like that ONLY with the model called atst or vehicle file...This is vehicle file : called ugn_vehicle.veh Ugn_veh_vehicle{name Ugn_veh_vehicletype VH_WALKERnumHands 2hideRider 1killRiderOnDeath 1lookYaw 45lookPitch 45length 80width 80height 272centerOfGravity "-0.222 0 0"speedMax 290speedMin -80acceleration 7decelIdle 20strafePerc 0.0bankingSpeed 0.0rollLimit 2pitchLimit 0braking 10mouseYaw 0.003mousePitch 0.01turningSpeed 5turnWhenStopped 0traction 100friction 100maxSlope 0.7mass 400armor 1500toughness 75.0model Ugn_vehskin defaultradarIcon "gfx/menus/radar/atst"explosionRadius 400explosionDamage 1000explodeFX "ships/ship_explosion2"explosionDelay 2450soundOn "sound/chars/atst/atst_hatch_close.mp3"soundOff "sound/chars/atst/atst_hatch_open.mp3"weap1 atst_laserweap1Delay 250weap1AmmoMax 50weap1AmmoRechargeMS 500weapMuzzle1 atst_laserweapMuzzle2 atst_laser//weapMuzzle3 ???weap2 atst_rocketweap2Delay 1000weap2Aim 1weap2AmmoMax 20weapMuzzle4 atst_rocketcameraOverride 1cameraRange 300cameraVertOffset 150//cameraPitchOffset 0cameraFOV 100//This just doesn't work on levels with fog, so... leave it off//cameraAlpha 0.25cameraPitchDependantVertOffset 0} The name of the model folder is Ugn_veh - (just from Ugnaught vehicle)the npc: called ugn_veh.npc ugn_veh{ playerModel ugn_veh weapon WP_ATST_MAIN weapon WP_ATST_SIDE// headModel ugn_veh //torsoModel ugn_veh //legsModel ugn_veh headYawRangeLeft 20 headYawRangeRight 20 headPitchRangeUp 30 headPitchRangeDown 30 torsoYawRangeLeft 0 torsoYawRangeRight 0 torsoPitchRangeUp 0 torsoPitchRangeDown 0 health 2000 reactions 5 aim 4 move 5 aggression 5 evasion 5 intelligence 5 playerTeam TEAM_ENEMY enemyTeam TEAM_PLAYER height 272 width 80// race bot class CLASS_ATST yawSpeed 60 runSpeed 150 walkSpeed 150 hFOV 90 vfov 50 snd atst} The npc_vehicle - called ugn_veh_vehicle.npc ugn_veh_vehicle{ weapon WP_BOWCASTER weapon WP_ROCKET_LAUNCHER weapon WP_EMPLACED_GUN playerModel ugn_veh playerTeam TEAM_FREE enemyTeam TEAM_FREE class CLASS_VEHICLE height 272 width 80 health 3000} Link to comment
Noodle Posted June 26, 2016 Share Posted June 26, 2016 Maybe the answer to your question is on the misc_atst_drivable entity's code? Link to comment
Langerd Posted June 26, 2016 Author Share Posted June 26, 2016 Maybe the answer to your question is on the misc_atst_drivable entity's code? After making another model i found that that ... it is 100% code issue .. Today i was making model that i will use with the mark1 skeleton. I made an npc first but i use the default mark1 model for test. Weird fact this model actually work fine even in Jka. But... i just made the new npc with lower health. I copied whole lines from the default npc and just changed names but IT USES THE SAME GODDAMN MODEL. And... blaster shots are invisible, bowcaster and movements work fine BUT AGAIN.. THERE IS SOMETHING WRONG. I guess that there is some code line that use atst npc or atst called model and give the tags only to that npc or that model.. Atst_class make it walk like atst , shot like it and make it unknockdown able. .. but tags doesnt work with the atst_class When i will came back home i will make final test - npc file with atst_class that use NORMAL atst model. And i will call that npc -atst_fail. If this will not work.. i dont know. Maybe i will just replace the default models with mine (no problem with the mark1 to be honest but with the atst.. i wanted both to work) Link to comment
Noodle Posted June 26, 2016 Share Posted June 26, 2016 After making another model i found that that ... it is 100% code issue .. Today i was making model that i will use with the mark1 skeleton. I made an npc first but i use the default mark1 model for test. Weird fact this model actually work fine even in Jka. But... i just made the new npc with lower health. I copied whole lines from the default npc and just changed names but IT USES THE SAME GODDAMN MODEL. And... blaster shots are invisible, bowcaster and movements work fine BUT AGAIN.. THERE IS SOMETHING WRONG. I guess that there is some code line that use atst npc or atst called model and give the tags only to that npc or that model.. Atst_class make it walk like atst , shot like it and make it unknockdown able. .. but tags doesnt work with the atst_class When i will came back home i will make final test - npc file with atst_class that use NORMAL atst model. And i will call that npc -atst_fail. If this will not work.. i dont know. Maybe i will just replace the default models with mine (no problem with the mark1 to be honest but with the atst.. i wanted both to work) I know that feeling too well I guess only a coder can fix that, or make a custom class for AT-ST like enemies, without having to be an AT-ST. Langerd likes this Link to comment
Asgarath83 Posted June 26, 2016 Share Posted June 26, 2016 I never checked atst AI code of SP, but i did some test with an Custom NPC file and an humanoid model with swords or shootinng weaponsfor tryi how fight the CLASS_ATST.what i learned its. - atst class cannot use the sabers. or can? i not remember in this moment.- atst class shoot ever every weapons bolts by the torso of the model. O_o, not by the r_hand tag.- atst not jump, simply chase the player until smash walking upon jaden- if an enemy with atst crash walk on your jedi or player, he die immediatly. consiederation: i think the origin of muzzle flash and altmuzzleflash fire, and so, also of weapon shoots, is setted by the code for a specific NPC name. maybe there is some qstring parameter related to specific atst setting, exactly like cultist commando, destroyer or galakmech. if is really this, this can be fixed only with a change on this string of code. instead of setting the tag position for a specific npc, setting the tag positin for all the AT_ST class should fix the problem..atst AI code. #define MIN_MELEE_RANGE 640 #define MIN_MELEE_RANGE_SQR ( MIN_MELEE_RANGE * MIN_MELEE_RANGE ) #define MIN_DISTANCE 128 #define MIN_DISTANCE_SQR ( MIN_DISTANCE * MIN_DISTANCE ) #define TURN_OFF 0x00000100//G2SURFACEFLAG_NODESCENDANTS #define LEFT_ARM_HEALTH 40 #define RIGHT_ARM_HEALTH 40 extern void G_SoundOnEnt( gentity_t *ent, soundChannel_t channel, const char *soundPath ); /* ------------------------- NPC_ATST_Precache ------------------------- */ void NPC_ATST_Precache(void) { G_SoundIndex( "sound/chars/atst/atst_damaged1" ); G_SoundIndex( "sound/chars/atst/atst_damaged2" ); RegisterItem( FindItemForWeapon( WP_ATST_MAIN )); //precache the weapon RegisterItem( FindItemForWeapon( WP_BOWCASTER )); //precache the weapon RegisterItem( FindItemForWeapon( WP_ROCKET_LAUNCHER )); //precache the weapon G_EffectIndex( "env/med_explode2" ); // G_EffectIndex( "smaller_chunks" ); G_EffectIndex( "blaster/smoke_bolton" ); G_EffectIndex( "droidexplosion1" ); } //----------------------------------------------------------------- static void ATST_PlayEffect( gentity_t *self, const int boltID, const char *fx ) { if ( boltID >=0 && fx && fx[0] ) { mdxaBone_t boltMatrix; vec3_t org, dir; gi.G2API_GetBoltMatrix( self->ghoul2, self->playerModel, boltID, &boltMatrix, self->currentAngles, self->currentOrigin, (cg.time?cg.time:level.time), NULL, self->s.modelScale ); gi.G2API_GiveMeVectorFromMatrix( boltMatrix, ORIGIN, org ); gi.G2API_GiveMeVectorFromMatrix( boltMatrix, NEGATIVE_Y, dir ); G_PlayEffect( fx, org, dir ); } } /* ------------------------- G_ATSTCheckPain Called by NPC's and player in an ATST ------------------------- */ void G_ATSTCheckPain( gentity_t *self, gentity_t *other, vec3_t point, int damage, int mod,int hitLoc ) { int newBolt; if ( rand() & 1 ) { G_SoundOnEnt( self, CHAN_LESS_ATTEN, "sound/chars/atst/atst_damaged1" ); } else { G_SoundOnEnt( self, CHAN_LESS_ATTEN, "sound/chars/atst/atst_damaged2" ); } if ((hitLoc==HL_ARM_LT) && (self->locationDamage[HL_ARM_LT] > LEFT_ARM_HEALTH)) { if (self->locationDamage[hitLoc] >= LEFT_ARM_HEALTH) // Blow it up? { newBolt = gi.G2API_AddBolt( &self->ghoul2[self->playerModel], "*flash3" ); if ( newBolt != -1 ) { // G_PlayEffect( "small_chunks", self->playerModel, self->genericBolt1, self->s.number); ATST_PlayEffect( self, self->genericBolt1, "env/med_explode2" ); G_PlayEffect( "blaster/smoke_bolton", self->playerModel, newBolt, self->s.number); } gi.G2API_SetSurfaceOnOff( &self->ghoul2[self->playerModel], "head_light_blaster_cann", TURN_OFF ); } } else if ((hitLoc==HL_ARM_RT) && (self->locationDamage[HL_ARM_RT] > RIGHT_ARM_HEALTH)) // Blow it up? { if (self->locationDamage[hitLoc] >= RIGHT_ARM_HEALTH) { newBolt = gi.G2API_AddBolt( &self->ghoul2[self->playerModel], "*flash4" ); if ( newBolt != -1 ) { // G_PlayEffect( "small_chunks", self->playerModel, self->genericBolt2, self->s.number); ATST_PlayEffect( self, self->genericBolt2, "env/med_explode2" ); G_PlayEffect( "blaster/smoke_bolton", self->playerModel, newBolt, self->s.number); } gi.G2API_SetSurfaceOnOff( &self->ghoul2[self->playerModel], "head_concussion_charger", TURN_OFF ); } } } /* ------------------------- NPC_ATST_Pain ------------------------- */ void NPC_ATST_Pain( gentity_t *self, gentity_t *inflictor, gentity_t *other, vec3_t point, int damage, int mod,int hitLoc ) { G_ATSTCheckPain( self, other, point, damage, mod, hitLoc ); NPC_Pain( self, inflictor, other, point, damage, mod ); } /* ------------------------- ATST_Hunt -------------------------` */ void ATST_Hunt( qboolean visible, qboolean advance ) { if ( NPCInfo->goalEntity == NULL ) {//hunt NPCInfo->goalEntity = NPC->enemy; } NPCInfo->combatMove = qtrue; NPC_MoveToGoal( qtrue ); } /* ------------------------- ATST_Ranged ------------------------- */ void ATST_Ranged( qboolean visible, qboolean advance, qboolean altAttack ) { if ( TIMER_Done( NPC, "atkDelay" ) && visible ) // Attack? { TIMER_Set( NPC, "atkDelay", Q_irand( 500, 3000 ) ); if (altAttack) { ucmd.buttons |= BUTTON_ATTACK|BUTTON_ALT_ATTACK; } else { ucmd.buttons |= BUTTON_ATTACK; } } if ( NPCInfo->scriptFlags & SCF_CHASE_ENEMIES ) { ATST_Hunt( visible, advance ); } } /* ------------------------- ATST_Attack ------------------------- */ void ATST_Attack( void ) { qboolean altAttack=qfalse; int blasterTest,chargerTest,weapon; if ( NPC_CheckEnemyExt() == qfalse )//!NPC->enemy )// { NPC->enemy = NULL; return; } NPC_FaceEnemy( qtrue ); // Rate our distance to the target, and our visibilty float distance = (int) DistanceHorizontalSquared( NPC->currentOrigin, NPC->enemy->currentOrigin ); distance_e distRate = ( distance > MIN_MELEE_RANGE_SQR ) ? DIST_LONG : DIST_MELEE; qboolean visible = NPC_ClearLOS( NPC->enemy ); qboolean advance = (qboolean)(distance > MIN_DISTANCE_SQR); // If we cannot see our target, move to see it if ( visible == qfalse ) { if ( NPCInfo->scriptFlags & SCF_CHASE_ENEMIES ) { ATST_Hunt( visible, advance ); return; } } // Decide what type of attack to do switch ( distRate ) { case DIST_MELEE: NPC_ChangeWeapon( WP_ATST_MAIN ); break; case DIST_LONG: NPC_ChangeWeapon( WP_ATST_SIDE ); // See if the side weapons are there blasterTest = gi.G2API_GetSurfaceRenderStatus( &NPC->ghoul2[NPC->playerModel], "head_light_blaster_cann" ); chargerTest = gi.G2API_GetSurfaceRenderStatus( &NPC->ghoul2[NPC->playerModel], "head_concussion_charger" ); // It has both side weapons if (!(blasterTest & TURN_OFF) && !(chargerTest & TURN_OFF)) { weapon = Q_irand( 0, 1); // 0 is blaster, 1 is charger (ALT SIDE) if (weapon) // Fire charger { altAttack = qtrue; } else { altAttack = qfalse; } } else if (!(blasterTest & TURN_OFF)) // Blaster is on { altAttack = qfalse; } else if (!(chargerTest & TURN_OFF)) // Blaster is on { altAttack = qtrue; } else { NPC_ChangeWeapon( WP_NONE ); } break; } NPC_FaceEnemy( qtrue ); ATST_Ranged( visible, advance,altAttack ); } /* ------------------------- ATST_Patrol ------------------------- */ void ATST_Patrol( void ) { if ( NPC_CheckPlayerTeamStealth() ) { NPC_UpdateAngles( qtrue, qtrue ); return; } //If we have somewhere to go, then do that if (!NPC->enemy) { if ( UpdateGoal() ) { ucmd.buttons |= BUTTON_WALKING; NPC_MoveToGoal( qtrue ); NPC_UpdateAngles( qtrue, qtrue ); } } } /* ------------------------- ATST_Idle ------------------------- */ void ATST_Idle( void ) { NPC_BSIdle(); NPC_SetAnim( NPC, SETANIM_BOTH, BOTH_STAND1, SETANIM_FLAG_NORMAL ); } /* ------------------------- NPC_BSDroid_Default ------------------------- */ void NPC_BSATST_Default( void ) { if ( NPC->enemy ) { if( (NPCInfo->scriptFlags & SCF_CHASE_ENEMIES) ) { NPCInfo->goalEntity = NPC->enemy; } ATST_Attack(); } else if ( NPCInfo->scriptFlags & SCF_LOOK_FOR_ENEMIES ) { ATST_Patrol(); } else { ATST_Idle(); } } Link to comment
minilogoguy18 Posted June 26, 2016 Share Posted June 26, 2016 You must be doing something wrong, my AT-ST does not use the same skeleton or have the same mesh hierarchy yet it works fine in both SP and MP. The only thing I took from the original AT-ST were it's tags but I repositioned them since the models aren't exact to one another. I can't be too much help though since you're using blender. Link to comment
Langerd Posted June 27, 2016 Author Share Posted June 27, 2016 (edited) You must be doing something wrong, my AT-ST does not use the same skeleton or have the same mesh hierarchy yet it works fine in both SP and MP. The only thing I took from the original AT-ST were it's tags but I repositioned them since the models aren't exact to one another. I can't be too much help though since you're using blender.I think that Your model work with tags is because it replace the original one...If this would be seperated model the tags would be messed up as well.. I think The Mark1 works fine right now! But only when i replaced the original mark1... When i edited the original npc file - mark1 and make it use the ugn_mark model ... tags where also screwed. And in this case there is no vehicle file.. Now i will check the new npc that use the original atst model but with diffrent name. EDIT: Soooo this is the model thingy ... daymn... Also i think that makers of JKa thought that people will make player models or skins for this game... that is why all player models even if they are new works competely fine. But with these kind of models they used code lines that makes only one model to use tags like this... and model must be called - atst.This npc is called atst2 and use atst model . That is why it works and my models also works when i replace the original ones with them.. i thought that this is just class and npc work.. shit Edited June 27, 2016 by Langerd Ramikad and yeyo JK like this Link to comment
minilogoguy18 Posted June 27, 2016 Share Posted June 27, 2016 I don't think so, you messed up somewhere, probably the naming of the tags. I keep telling you to post your hierarchy in blender. You also scaled down the skeleton to fit your model, when you did that it probably threw everything off. You should be using your own skeleton and animations, it doesn't look like the AT-ST stuff would even work on that model. Link to comment
Noodle Posted June 27, 2016 Share Posted June 27, 2016 I think that Your model work with tags is because it replace the original one...If this would be seperated model the tags would be messed up as well.. I think It does replace the original one, but it uses a different mesh and it also comes with more NPCs with different names, so maybe it's not related to a code issue, but something else like minilogoguy18 says. Link to comment
Langerd Posted June 27, 2016 Author Share Posted June 27, 2016 It does replace the original one, but it uses a different mesh and it also comes with more NPCs with different names, so maybe it's not related to a code issue, but something else like minilogoguy18 says.The npcs with diffrent names because it replace the npc file too. This file has new npc's sure .. but they are using the same model - just diffrent skins. Download it , make Your own npc file that use the same model and the same class ... I don't think so, you messed up somewhere, probably the naming of the tags. I keep telling you to post your hierarchy in blender. You also scaled down the skeleton to fit your model, when you did that it probably threw everything off. You should be using your own skeleton and animations, it doesn't look like the AT-ST stuff would even work on that model.I will check the skeleton but i managed make it to work.. the only thing i had to do is to replace the original atst model with mine. Making new skeleton well.. it is true that i made it easy (lazy to be honest) way for now.. I am making everything by myself - mapping , scripting and modeling ... With mark1 i found out that there is no need but with this model there are some weird stuff going with the legs .. Like You said i should make new skeleton but this model is for test and i dont want to learn how to make the skeleton (and new animations i think..) for now at least. I will come back to this project and if these legs will be problem i will just start to make my own skeleton .. About hierarchy .. i tried to make it very similar to the original atst. Maybe it was stupid decission but i was too much pissed off and i thought that game reads tags only with the model parts.. ehh.. I imported the atst model and i was making my model on the other layer. I was paying attention on the skeleton size and i took all tags from this atst. As i said before it worked when i replaced the atst with mine model. ALL tags worked fine. That is why i think i didnt made anything wrong with the model.. Link to comment
minilogoguy18 Posted June 27, 2016 Share Posted June 27, 2016 See, the thing that I don't get is why does eveyrthing have a "_0" suffix at the end of everything? Is that just how Blender knows that it's the main mesh and not a LOD? The tags as well wouldn't be named the way they are either in a program that would use the dotXSI->carcass->GLM/GLA method. They wouldn't be named "*hips", it would be "bolt_hips" instead and the compiler would convert it. This is why I said I might not be able to help too much considering it's blender and its so different than using Maya/Max/XSI. @@mrwonko maybe can clear some things up. There is literally no info on making NPC's with custom skeletons in blender, it's probably never even been tried before, people just seem to use it to make Frankenstein models. Link to comment
Langerd Posted June 28, 2016 Author Share Posted June 28, 2016 See, the thing that I don't get is why does eveyrthing have a "_0" suffix at the end of everything? Is that just how Blender knows that it's the main mesh and not a LOD? The tags as well wouldn't be named the way they are either in a program that would use the dotXSI->carcass->GLM/GLA method. They wouldn't be named "*hips", it would be "bolt_hips" instead and the compiler would convert it. This is why I said I might not be able to help too much considering it's blender and its so different than using Maya/Max/XSI. @@mrwonko maybe can clear some things up. There is literally no info on making NPC's with custom skeletons in blender, it's probably never even been tried before, people just seem to use it to make Frankenstein models.When i was importing models that is how i learnt from observation. The tags have this "*" and the model roots are like that model_root_0 - models are like this model_part_0 When there is no LOD's the main is the model_root_0 - always. And many player models that I imported and exported ... didnt have any LODS (only model_root_0) but they worked without them. You think that it is the model issue but .. If You have some free time try to make it work with the diffrent npc.. just only try. You are the advanced modeler and You made vehicle models to JK3. But in this situation i am sure that there is something with the code.. Big Cannon(bowcaster bolts) and small gun (this rapid fire shots) I managed to make my Ugnaught vehicle model to work with the mark1_class but it worked only when i replace the mark1 model with this... But all the tags works just fine. And I even managed to place tags on the one side (just as i wanted to do ) and it works!BUT when i made.. for test npc called - mark_test .. copied npc of the mark1 but i changed only the name of it ... it has screwed tags.. the orignal model has screwed tags.(that was before i added my model to the pk3 so it was default , original model) So ... I just think that it is kind of the same situation as the atst... yeyo JK likes this Link to comment
minilogoguy18 Posted June 28, 2016 Share Posted June 28, 2016 I think it's a step you're doing wrong in blender, it doesn't work anything like 3DS Max or Softimage work, none of the methodology crosses over. I'm certain I could make it work in Softimage but I don't have the time to try and troubleshoot models for poeple, I'll be working like 12 hour days most of this week. I've got multiple cars at work that either need new engines installed or the transmissions rebuilt, not much time for modding this week. Link to comment
Asgarath83 Posted June 28, 2016 Share Posted June 28, 2016 @@Langerd , for fix the FX origin position, simply try to rename the tag by *flash to bolt_flash on blender and re export the model"bolt_" should be convert into * when you build the GLM with carcass. Or you're exporting directly on GLM format by blender?if you get some XSI exporter for build the GLM on carcass, try to rename all tags by "*_tagname" to "bolt_"tagname"i do the models on max, and not on blender, but on max i got issues when i export model with *_ instead of bolt_ Link to comment
Ramikad Posted June 28, 2016 Share Posted June 28, 2016 See, the thing that I don't get is why does eveyrthing have a "_0" suffix at the end of everything? Is that just how Blender knows that it's the main mesh and not a LOD? The tags as well wouldn't be named the way they are either in a program that would use the dotXSI->carcass->GLM/GLA method. They wouldn't be named "*hips", it would be "bolt_hips" instead and the compiler would convert it. This is why I said I might not be able to help too much considering it's blender and its so different than using Maya/Max/XSI. @@mrwonko maybe can clear some things up. There is literally no info on making NPC's with custom skeletons in blender, it's probably never even been tried before, people just seem to use it to make Frankenstein models. Yes, the _0, _1, _2, _3 suffix refer to the LOD. I'm not sure the mesh name has some relevance at all though, it is important to pay attention to its Ghoul2 Properties, which are the Name, Shader, and the Tag and Off tick boxes. Link to comment
mrwonko Posted June 28, 2016 Share Posted June 28, 2016 See, the thing that I don't get is why does eveyrthing have a "_0" suffix at the end of everything? Is that just how Blender knows that it's the main mesh and not a LOD?The name of the object does not matter at all for the exporter, but since there are potentially multiple LODs I add _0, _1 etc. to the names because there can't be two objects with the same one. The actual exported name is defined in the ghoul 2 properties in the object tab and must be the same across LODs. When in doubt, just import the original model into Blender, the plugin is built in such a way that it will be set up correctly for immediate re-export. There is literally no info on making NPC's with custom skeletons in blender, it's probably never even been tried before, people just seem to use it to make Frankenstein models.Well, there's a tutorial on a vehicle with a custom skeleton and that's basically the same. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now