Jump to content

Having an issue importing/exporting Enemy meshes


Maclimes

Recommended Posts

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 by Maclimes
Link to comment
Share on other sites

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 by Maclimes
Link to comment
Share on other sites

  • 9 months later...

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 made

but 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

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...