Maclimes Posted March 14, 2016 Share Posted March 14, 2016 (edited) So, I'm attempting to make a minor mesh edit to the Viper. In the UDK, the Viper Skeletal Mesh (SM_Viper) shows the Viper in a T-pose, and the Rifle floating in front of her. But when I export the FBX, the Rifle is gone. If I re-import, the Rifle remains missing. It otherwise works fine, but her weapon is invisible/nonexistant. THEORY: I suspect that the mesh doesn't actually include the weapon, and the UDK is simply displaying it as a combined mesh. (When previewing in the UDK, it is pulling two meshes: the Viper and the Rifle). But after re-importing, the Rifle mesh no longer shows up/becomes disconnected. (This is supported by the fact that the only Material applied to SM_Viper does not include textures for the weapon, so they're obviously not part of the model). Anyone know what's going on here? Edited March 14, 2016 by Maclimes Link to comment Share on other sites More sharing options...
Maclimes Posted March 16, 2016 Author Share Posted March 16, 2016 (edited) For anyone curious, this is solved. The weapon (and other effects) is attached to the base mesh via "sockets". Here's a great article explaining them: https://udn.epicgames.com/Three/SkeletalMeshSockets.html What happens is, sometimes when re-importing a mesh the sockets will become broken or missing. This applies to multiple mesh types, but for this example we'll use the Viper. Here are the steps to fix the problem: * Assumption: You have created a copy of the skeletal mesh (we'll call it "SM_Viper_Copy"), exported the mesh, made some edits, and then re-imported. * First, locate the original skeletal mesh ("SM_Viper"). Right-click, and choose the "Edit" option. It should read something like "Edit with AnimViewer" or similar (I don't have it in front of me to verify). * Click the Socket Manager button (looks like an arrow pointing down to a half circle, should be the 7th icon). * Click the "Copy Sockets" button. (looks like a pair of scissors) * Close the Socket Manager and the AnimViewer. * Locate your edited skeletal mesh ("SM_Viper_Copy"). Choose Edit and open the Socket Manager. * Delete any existing entries (if there are any). * Click the "Paste Sockets" button. (looks like a clipboard) * Close and save. That's it! You won't immediately see the Rifle re-appear on the mesh, but it will function normally in-game. Edited March 16, 2016 by Maclimes Link to comment Share on other sites More sharing options...
bluegun222 Posted December 23, 2016 Share Posted December 23, 2016 On the unlikely chance you see this. I have exported SM_Viper "Minor edit to make her look more,,,human" then reimported it. i then copied the viper gameunit pawn archetype to my upk and replaced the Skeletal Mesh with mine. when i did this the Viper doesn't change in game at all. So i used some code Moomany used to replace Shen with his own custom skeletal mesh no idea if you know anything about this? The gist of it is delete the default archetype for Shen then additem the archetype you have madebut this has a config file worked so that you can have two options with true or false.i'm comfortable with this as I've used it to make my own replacer for Shen, however when i use it for the viper below it deletes the viper archetype fine but doesn't add my replacement. when debugging it says Character template Viper does not have a valid pawn archetype specified: then it points to My_Viper.Archetype.ARC_GameUnit_ViperNips the thing is its just a copy of the vipers original but with my Skeletal Mesh Dont surpose you ever ran into anything like this? if you did it competly differently explain please. // This is an Unreal Script//---------------------------------------------------------------------------------------// FILE: XComDownloadableContentInfo_My_Viper.uc // // Use the X2DownloadableContentInfo class to specify unique mod behavior when the // player creates a new campaign or loads a saved game.// //---------------------------------------------------------------------------------------// Copyright © 2016 Firaxis Games, Inc. All rights reserved.//--------------------------------------------------------------------------------------- class X2DownloadableContentInfo_My_viper extends X2DownloadableContentInfo config(NipsOrNot); var config bool Do_Vipers_Have_Nips; /// <summary>/// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the /// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was/// create without the content installed. Subsequent saves will record that the content was installed./// </summary>static event OnLoadedSavedGame(){} /// <summary>/// Called when the player starts a new campaign while this DLC / Mod is installed/// </summary>static event InstallNewCampaign(XComGameState StartState){} static event OnPostTemplatesCreated() { local X2DataTemplateManager CharManager; local array<X2DataTemplate> DataTemplates; local X2DataTemplate DataTemplate; local X2CharacterTemplate CharTemplate; CharManager = class'X2CharacterTemplateManager'.static.GetCharacterTemplateManager(); CharManager.FindDataTemplateAllDifficulties('Viper', DataTemplates); foreach DataTemplates(DataTemplate) { CharTemplate = X2CharacterTemplate(DataTemplate);if ( CharTemplate != none ) { CharTemplate.strPawnArchetypes.length = 0; // delete all existing archetypes // add your new ones //CharTemplate.strPawnArchetypes.AddItem("GameUnit_HeadEngineer.ARC_Unit_HeadEngineer");if (default.Do_Vipers_Have_Nips == false) { CharTemplate.strPawnArchetypes.AddItem("My_Viper.ARC_GameUnit_ViperDontHaveNips");}if (default.Do_Vipers_Have_Nips == true) {CharTemplate.strPawnArchetypes.AddItem("My_Viper.Archetype.ARC_GameUnit_ViperNips");} } }} Link to comment Share on other sites More sharing options...
Recommended Posts