- UID
 - 4359
 
- UCC
 -  
 
- 声望
 -  
 
- 好评
 -  
 
- 贡献
 -  
 
- 最后登录
 - 1970-1-1
 
 
 
 
 
 
 | 
 
Soase确实是可好游戏,可惜由于引擎过于陈旧,不支持一些新的画面效果,而且内存占用似乎有限制,达到2G左右就很容易跳出,真心希望Stardock开发soase2代。 
最近捣鼓softimage,算是把模型转换的问题大体搞清楚了,写个简单转换流程算是对这个月折腾结果的小结吧。 
 
SOASE MOD模型的制作有两种方式。Stardock官方论坛推荐的MOD模型工具是SOFTIMAGE,将制作完成的模型导出为.XSI格式,然后利用官方MOD工具ConvertXSI可以快速的转换为.MESH格式。另一种方式是利用玩家制作的3DS脚本SOASE_Maxtool,流传的版本主要有1.1,2.0、Rebellion三个版本,操作教程吧里也有。 
两种方式的差别: 
1、3DS MAX操作简便,比较适合初学者制作模型,但是SOASE_Maxtool转换脚本存在太多问题:1.1版可以正常导入/导出,但只能转换单材质模型,比如你给飞船加上炮塔,分别使用贴图文件就无法转换为.mesh了。2.0版说明文件提到支持多材质模型了,却又无法正常工作。反叛版更改了模型点位(武器点、引擎点等)为骨骼加蒙皮绑定,但是导出依然无法工作,但是可以将SOASE的.mesh格式文件导入到3DS,无论哪个版本,导出过程都是非常的慢,一个12M的模型导出需要几个小时(E3-1230) 
2、SOFTIMAGE和3DS MAX一样是AUTODESK旗下的软件,以前是免费软件,最新也是最后的版本是SOFTIMAGE 2015,以后将不再更新,需要资源的自行百度一下就有。 
SOFTIMAGE操作远不如3DS便捷,AUTODESK明显对免费的软件不伤心。但是有SOASE官方MOD工具支持,导出模型的转换过程极其迅速,支持多材质模型的导出,设置武器、引擎、特效点位和方向也很方便,最新版本加上AutoDesk 的CrossWalk2013套件,可以支持SOFTIMAGE、3DS、MAYA3个软件之间的互相转换。 
        所以最合适的流程就是用3DS完成模型和贴图UVW,导出为.3ds格式(.obj..max应该也可以),再打开SOFTIMAGE2015导入模型,设置好贴图和点位,导出为.XSI格式,最后用官方MOD工具ConvertXSI转换为游戏可用的MESH格式。 
3DS的部分这里就不说了,也不太了解模型制作技术,主要说说完成的模型或其他游戏导出的模型如何转换为SOASE可以使用的格式。需要注意的是,导出的3ds或者其他格式务必要有模型贴图UVW,这样在SOFTIMAGE里贴图就不会错乱了。另外使用其他游戏的模型需要注意版权问题。 
一、        SOFTIMAGE界面简介 
  
与调整、转换相关的常用工具已在图中标出。Softimage XSI 2011中英文菜单对照手册 
http://wenku.baidu.com/view/997ff966783e0912a2162a5d.html 
  
一、导入模型 
 
 
在file菜单中找到crosswalk->importFBX选择相应的文件类型和文件所在目录,然后打开,这里是.3ds,出现的对话框不用改,确定就好。船体模型导入后,同样方法再导入武器模型,此时导入的模型都是在坐标原点,会被挡住。 
按“快捷键8”打开管理器。下面2个分别是船体和武器模型,点开+号,将shape重命名(F2)以便于识别,然后把武器和船体shape文件都拖到其中一个根目录下(这里选择“adr”),剩下的Fbx_Root都删掉,再把空的“武器名”目录删掉。 
  
  
二、模型调整和贴图 
 
2.1重新点击船体模型shape,发现在一系列转换后,右边模型比例变成2.54,全部改成1.再点击武器模型shape作同样修以改统一比例。分别选择飞船和武器shape在Transform里把模型中心点重置一下,作为后续的“旋转、移动”等操作的参考点。窗体右上方可更改显示模式,这里更改为Textured。 
 
  
   
  
注意飞船模型的朝向是否正确,比如这里导入的无畏舰需要X轴旋转+90度才是正确的方向,然后继续用右边的位移、选择、比例调整工具将第一个武器挪到合适的武器位上。 
  
2.2 
 
左边工具栏更改为RENDER选择Materrials打开材质管理器,这里已经有几个转换时产生的材质文件,选择新建材质,然后把飞船的3个材质文件(.cl/.da/.nm)拖进来,如果需要多材质贴图,则先将第一组材质拖进来。然后将.cl材质的蓝点拖到右边链接phone,链接类型为漫反射(diffuse),.nm同样链接为ambient,.da是specular。 
重命名材质(F2)便于识别。继续新建一组材质,同样方法把飞船的第二组材质放进去并链接,武器材质是同样方法处理。 
 
材质链接完成后点击飞船模型,在材质管理器左上方切换到scene,下面显示出飞船模型各个部分的子shape,点击这些会在窗口中显示模型对应的元素,将飞船的第一组材质拖到shape0上,旋转窗口视角观察贴图是否正确,错误的话就继续将第二…X组贴图拖到shape上,下面的几个元素也是同样方法贴图,直到飞船全部贴图完成,武器的贴图同上。如果觉得高光贴图(.da)难看的红绿色影响观察, 可以先取消其链接,待最后检查时再重新恢复。最后检查一下飞车和武器是否都已经正确贴图,然后删掉没用的材质文件。 
  
这样就完成了飞船和第一个武器的贴图,如果同样武器有多个,选择第一个武器然后Ctrl+v克隆一个实例,用位移、旋转工具把全部武器移动到正确的位置上。 
  
检查完成的飞船及其武器模型是否都已调整、贴图正确。然后在管理器(快捷键8)中选择全部模型再Transform->Freeze Akk Transforms冻结,完成模型部分的工作。 
 
   
3、mesh point 设置 
  
SOASE中,武器、技能、推进器位置和发射方向等都是用一组坐标来表示的,各种点位的定义参考这个页面: 
http://gamergate.ca/SoaSE/Meshpoints.html 
我们可以在softimage中方便的对这些点位进行设置。 
  
get->Primitive->Null,得到一个空点,这时可以在管理器中(8)看到,选择这个点,Ctrl+V再复制4个。 
分别命名(F2)为Root,P001-Above,P001-Center,P001-Aura,P001-Exhaust。后面4个全部拖到Root里。 
Convertxsi时,在root下的点位才会被转换,且前5个字符会被删除(即“P001-”)。然后点位非常小,不利于调整操作,需要做一些外观设置。选择并双击P001-Exhaust,把外观改为盒子、箭头、设置大小及颜色,然后用位移工具把P001-Exhaust移动到正确的引擎喷口位置。这时会发现,箭头是朝向飞船前方的,将Y轴旋转180度,方向就正确了。其他引擎喷口就Ctrl+V然后调整位置就可以了,注意!引擎点位最多只能10个,超过的在游戏中无法显示! 
  
  
接下来继续设置武器点位,增加空点,重命名为P001-Weapon-0,拖到Root里。最好改一下颜色便于识别。然后把空点移动到正确的武器发射口,再旋转到正确的发射方向,注意!这里的方向,最好设置轴角度为+90,-90等,其他斜向角度似乎会有问题,在游戏中出现武器发射方向错误。我是把武器发射方向设置为朝正前、左、右、上、下,然后最后再手工编辑.mesh文件来实现斜向发射的(例如导弹)。 
P001-Flair-Flair_是一些附加粒子效果,例如海盗飞船后面的海盗旗效果,闪烁的航行灯、机库隔离力场等, 
官方文件限制为10种效果,不过关于这一定义,我觉得似乎有问题,因为遇到过只使用一种闪灯Particle效果,设置了30多个,在游戏中只有10多个显示出来,换了另外一个模型又可以。对于点位设置的限制,暂时还没搞清楚。 
其他的技能发射点、机库发射点的设置就容易多了,完成后做最后检查,在材质管理器中重新连接.da贴图,在场景管理器(8)中检查点位都在Root里,复制的点位自动加了数字后缀,需要转换后手工修改。然后DeselectAll取消选择。File->Export->doXSI导出,默认设置不用改。 
  
4、XSI转换Mesh 
把导出的模型.XSI文件和ConvertXSI放在同个目录,例如C:\ConvertXSI 
运行CMD打开命令行,cd C:\ConvertX切换到目录工作,然后convertxsi xxx.xsi xxx.mesh,转换很快就完成了,得到文本格式的模型xxx.mesh文件,可以直接用UE、notepad等编辑 
  
打开这个文件检查材质是否正确,缺失的自行补上,然后检查下面的点,把Exhaustxx全部改为Exhaust 
武器组做相应修改,Weapon-0对应第一个武器,Weapon-1是第2个,Ability-0对应第一个技能,依次类推。 
P001-Flair-Flair_Blink1,2,3。。。等,全部改为所使用的Particle文件名,例如这里是“Flair_Blink”。如果点位的数量与NumPoints 计数不符,打开游戏时正常,但在使用相应的模型时(建造飞船,读档等)会跳出。BoundingRadius,模型的半径(星球的半径一般6000)。如果飞船大小需要调整,可以用soase_resizetool无损转换。 http:// pan.baidu.com /s/1kTkSwxL  密码: ejsf 
保存,把.mesh文件复制到mod/mesh/,说使用的材质文件复制到mod/Textures/,粒子效果文件复制到/mod/Particle/,这样模型导出完成,后面就可以在飞船定义文件.ENTITY中使用这个模型。 
最后再游戏中看看最终的效果是否满意。 
  
转换文档参考http://gamergate.ca/SoaSE/Export.html#Convert_XSI 
Forge Tools 3 MOD工具包资源:http://stardock.cachefly.net/ForgeTools3.rar 
BIN格式与TXT格式互转:http://gamergate.ca/SoaSE/Convert_Data.html 
 
更详细的资料参考官方MOD论坛 http://forums.sinsofasolarempire.com/376221/page/1/#2604565 
 
SOASE官方提供的MOD相关限制说明 
http://forums.sinsofasolarempire.com/363233/page/1/ 
enum { MaxNumWeaponBanks = 4 }; 
enum { MAX_NUM_MESHES = 400 }; 
enum { MAX_NUM_FILE_TEXTURES = 1000 }; 
enum { MAX_NUM_FILE_CUBE_TEXTURES = 10 }; 
 
enum { MAX_SOUNDDATA = 2000 }; 
enum { MAX_SOUNDIDS_PER_TYPE = 6 }; 
 
static const int MAXNUMALTERNATES = 4; //sound alternates 
 
enum { MAX_NUM_ICONS = 2000 }; 
 
enum { MaxNumSegments = 20 };  //exhaust trails 
enum { MaxNumTrails = 4 }; //exhaust trails 
 
struct MaxNumLinearPathEffects{enum {Value = 1000};}; 
struct MaxNumBeamEffects{enum {Value = 1000};}; 
struct MaxNumAttachedWeaponFireEffects{enum {Value = 2000};}; 
struct MaxNumAttachedWeaponHitEffects{enum {Value = 2000};}; 
struct MaxNumAttachedWeaponCriticalEffects{enum {Value = 200};}; 
struct MaxNumAttachedPersistentDamageEffects{enum {Value = 200};}; 
struct MaxNumAttachedBuffEffects{enum {Value = 1000};}; 
struct MaxNumAttachedExhaustEffects{enum {Value = 1000};}; 
struct MaxNumAttachedExplosionEffects{enum {Value = 200};}; 
struct MaxNumShieldEffects{enum {Value = 1000};}; 
struct MaxNumMissileEffects{enum {Value = 1000};}; 
struct MaxNumTrailEffects{enum {Value = 250};}; 
 
enum { MAX_NUM_PARTICLES = 6000 }; 
enum { MAX_NUM_PARTICLE_SIMULATIONS = 2000 }; 
enum { MAX_NUM_EMITTERS_PER_SIMULATION = 10 }; 
enum { MAX_NUM_AFFECTORS_PER_SIMULATION = 15 }; 
 
enum { MAX_NUM_RESEARCH_TIERS = 8 }; 
enum { MAX_NUM_RESEARCH_TRACK_SIZE = 8 }; 
enum { MAX_NUM_BUFF_LEVELS = 3 }; 
enum { MAX_NUM_EXPERIENCE_LEVELS = 10 }; 
 
enum { CapitalShipMaxFlairEffectCount = 10 };限制附加特效不超过10种不同的粒子效果 
enum { FrigateMaxFlairEffectCount = 10 }; 
enum { PlanetModuleOrbitMaxFlairEffectCount = 10 }; 
enum { StarBaseMaxFlairEffectCount = 25 }; 
enum { CannonShellMaxFlairEffectCount = 1 }; 
enum { StarMaxFlairEffectCount = 1 }; 
enum { PlanetMaxFlairEffectCount = 10 }; 
enum { SpaceMineMaxFlairEffectCount = 1 }; 
 
enum {MaxNumWeapons = 3}; 
enum {MaxWeaponPointCount = 20}; //per weapon per bank (so 3 * 4 * 20 = 240 total) 
 
enum {MaxNumPersistentDamageEffectDefinitions = 6}; 
 
enum {MaxBuffEffectMeshPointsPerAttachPoint = 25}; 
 
enum {MaxStageCount = 10}; (Starbase Upgrades) 
enum {MaxStageCount = 10}; (Planet Upgrades) 
 
enum{MaxNumAbilities = 5}; 
enum{MaxBombEffectPointCount = 10}; 
enum{MaxNumBuffInstantActions = 5}; 
enum{MaxNumBuffPeriodicActions = 2}; 
enum{MaxMeshNames = 12}; 
enum{MaxNumSpecificDebris = 2}; 
enum{MaxNumPersistentDamageEffectsPerDef = 10}; 
enum{MaxNumSquadTypes = 4}; 
enum{MaxNumHangarPoints = 10}; 
enum{MaxSkyboxMeshNames = 10}; 
enum{MaxNumUpgrades = 9}; //starbase upgrades 
enum{MaxSpawnShipsRandomEntityCount = 5}; 
enum{MaxNormalPlayerCount = 10}; 
enum{MaxAvailablePlayerColorCount = MaxNormalPlayerCount}; 
enum{MaxFleetSubjectLevels = 9}; 
enum{MaxPlanetAsteroidCount = 500}; 
enum{MaxTextures = 4}; //dust clouds 
enum{MaxParticlesPerTexture = 200}; //dust clouds 
enum{MaxNumFarStarPointGroups = 3}; 
enum{MaxNumFarStarPoints = 40}; 
enum{MaxNumHalos = 10}; 
enum{MaxNumPlanetElevatorConnections = 5}; 
enum{MaxNumClusters = 50}; //planet elevators 
enum{MaxNumElevators = MaxNumClusters * NumElevatorsPerCluster}; 
enum{MaxNumStars = 50}; //background stars 
enum{MaxNumStarTextures = 10}; //background stars 
enum{MaxNumExhaustPoints = 10}; //exhaust trails  限制引擎点不超过10 
enum{MaxNumEffects = 200}; //exhaust trails 
enum{MaxNumUniqueTextures = 2}; //exhaust trails 
enum{MaxSubExplosionCount = 12}; 
  
点位命名参考: 
8) The different meshpoint types—including naming conventions— are as follows: 
Note: Meshpoint names are case-sensitive. 
 
a) Buff Points - common to all ships and modules in the game and must have no rotation value 
P001-Above 
P001-Center 
P001-Aura 
 
b) Weapon Points (directional) 
 
 
P001-Weapon-0 
P001-Weapon-1 
P001-Weapon-2, etc. 
 
c) Ability Points 
P001-Ability-0 
P001-Ability-1 
P001-Ability-2, etc. 
 
d) Exhaust Points (directional) 
P001-Exhaust 
 
e) Hangar Points (directional) 
P001-Hangar 
 
f) Bomb Points (directional) 
P001-Bomb 
 
g) Flair Points 
P001-Flair-Flair_Blink 
P001-Flair-Flair_Blink_Small 
P001-Flair-Flair_Doubleblink 
P001-Flair-Flair_Doubleblink_Small 
P001-Flair-Flair_Bowtiespin 
P001-Flair-Flair_Lighthouse 
 
h) Other Particle Effect Points: 
P001-(particlename) 
 
 |   
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册  
 
×
 
 
评分
- 
查看全部评分
 
 
 
 
 
 |