https://wiki.beyondunreal.com/w/api.php?action=feedcontributions&user=Solarsys&feedformat=atom Unreal Wiki - User contributions [en] 2017-11-18T03:41:39Z User contributions MediaWiki 1.25.1 https://wiki.beyondunreal.com/User:Solarsys?diff=46048 User:Solarsys 2014-08-08T17:20:38Z <p>Solarsys: Blanked the page</p> <hr /> <div></div> Solarsys https://wiki.beyondunreal.com/User:Solarsys?diff=46047 User:Solarsys 2014-08-08T17:20:29Z <p>Solarsys: /* My Maps */</p> <hr /> <div>UT3 Player Name:<br /> Solarsys<br /> <br /> UTxx:<br /> I got all PC Unreal games:<br /> &lt;li&gt;Unreal 1 (+gold)&lt;/li&gt;<br /> &lt;li&gt;Unreal 2&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2003&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2004&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 3&lt;/li&gt;</div> Solarsys https://wiki.beyondunreal.com/User:Solarsys?diff=46046 User:Solarsys 2014-08-08T17:20:21Z <p>Solarsys: /* UT3 Converter */</p> <hr /> <div>UT3 Player Name:<br /> Solarsys<br /> <br /> UTxx:<br /> I got all PC Unreal games:<br /> &lt;li&gt;Unreal 1 (+gold)&lt;/li&gt;<br /> &lt;li&gt;Unreal 2&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2003&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2004&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 3&lt;/li&gt;<br /> <br /> === My Maps ===<br /> Unreal Tournament 99:<br /> None but mainly map/fixes updates (AS-BigAsteroidV3)<br /> <br /> Unreal Tournament 2004:<br /> &lt;li&gt;AS-7Co-TheEgyptianPyramid (first map)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-Trials (aka AS-7Co-Trials)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-DeepMines (test map with karma actors)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-TheMayanTemple (unfinished)&lt;/li&gt;<br /> &lt;li&gt;a lot of map fixes/improvements (assault maps mainly)&lt;/li&gt;<br /> <br /> Unreal Tournament 3:<br /> VCTF-TheBigDam (unfished)</div> Solarsys https://wiki.beyondunreal.com/UE1:LevelInfo_(UT)?diff=43634 UE1:LevelInfo (UT) 2010-07-11T07:37:55Z <p>Solarsys: /* VisibleGroups */</p> <hr /> <div>{{infobox class<br /> | package = Engine<br /> | parent1 = ZoneInfo<br /> | parent2 = Info<br /> | parent3 = Actor<br /> | parent4 = Object<br /> }}<br /> {{autogenerated}}<br /> LevelInfo contains information about the current level. There should<br /> be one per level and it should be actor 0. UnrealEd creates each level's<br /> LevelInfo automatically so you should never have to place one<br /> manually.<br /> <br /> The ZoneInfo properties in the LevelInfo are used to define<br /> the properties of all zones which don't themselves have ZoneInfo.<br /> <br /> ==Properties==<br /> ===Property group 'Audio'===<br /> ====CdTrack====<br /> '''Type:''' [[byte]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' const<br /> <br /> Default CD track for level.<br /> <br /> '''Default value:''' 255<br /> <br /> ====PlayerDoppler====<br /> '''Type:''' [[float]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Song====<br /> '''Type:''' {{cl|Music}}<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' const<br /> <br /> Default song for level.<br /> <br /> ====SongSection====<br /> '''Type:''' [[byte]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' const<br /> <br /> Default song order for level.<br /> <br /> ===Property group 'LevelInfo'===<br /> ====Author====<br /> '''Type:''' [[string]]<br /> <br /> Who built it.<br /> <br /> ====bCheckWalkSurfaces====<br /> '''Type:''' [[bool]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bHumansOnly====<br /> '''Type:''' [[bool]]<br /> <br /> Only allow &quot;human&quot; player pawns in this level<br /> <br /> ====bLonePlayer====<br /> '''Type:''' [[bool]]<br /> <br /> No multiplayer coordination, i.e. for entranceways.<br /> <br /> ====bNeverPrecache====<br /> '''Type:''' [[bool]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Brightness====<br /> '''Type:''' [[float]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> '''Default value:''' 1.0<br /> <br /> ====DefaultGameType====<br /> '''Type:''' [[class]]&lt;{{cl|GameInfo}}&gt;<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====IdealPlayerCount====<br /> '''Type:''' [[string]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' localized<br /> <br /> Ideal number of players for this level. I.E.: 6-8<br /> <br /> ====LevelEnterText====<br /> '''Type:''' [[string]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' localized<br /> <br /> Message to tell players when they enter.<br /> <br /> ====LocalizedPkg====<br /> '''Type:''' [[string]]<br /> <br /> Package to look in for localizations.<br /> <br /> ====RecommendedEnemies====<br /> '''Type:''' [[int]]<br /> <br /> number of enemy bots recommended (used by rated games)<br /> <br /> ====RecommendedTeammates====<br /> '''Type:''' [[int]]<br /> <br /> number of friendly bots recommended (used by rated games)<br /> <br /> ====Screenshot====<br /> '''Type:''' {{cl|Texture}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====TimeDilation====<br /> '''Type:''' [[float]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> '''Default value:''' 1.0<br /> <br /> ====Title====<br /> '''Type:''' [[string]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' localized<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> '''Default value:''' &quot;Untitled&quot;<br /> <br /> ===Internal variables===<br /> ====AIProfile====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Static arrays|Array size]]:''' 8<br /> <br /> TEMP statistics<br /> <br /> ====AvgAITime====<br /> '''Type:''' [[float]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bAggressiveLOD====<br /> '''Type:''' [[bool]]<br /> <br /> frame rate is well below DesiredFrameRate, so make LOD more aggressive<br /> <br /> ====bAllowFOV====<br /> '''Type:''' [[bool]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bBegunPlay====<br /> '''Type:''' [[bool]]<br /> <br /> Whether gameplay has begun.<br /> <br /> ====bDropDetail====<br /> '''Type:''' [[bool]]<br /> <br /> frame rate is below DesiredFrameRate, so drop high detail actors<br /> <br /> ====bHighDetailMode====<br /> '''Type:''' [[bool]]<br /> <br /> Client high-detail mode.<br /> <br /> '''Default value:''' True<br /> <br /> ====bLowRes====<br /> '''Type:''' [[bool]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' config<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bNextItems====<br /> '''Type:''' [[bool]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bNoCheating====<br /> '''Type:''' [[bool]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====bPlayersOnly====<br /> '''Type:''' [[bool]]<br /> <br /> Only update players.<br /> <br /> ====bStartup====<br /> '''Type:''' [[bool]]<br /> <br /> Starting gameplay.<br /> <br /> ====ComputerName====<br /> '''Type:''' [[string]]<br /> <br /> Machine's name according to the OS.<br /> <br /> ====Day====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Day of month.<br /> <br /> ====DayOfWeek====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Day of week.<br /> <br /> ====DefaultTexture====<br /> '''Type:''' {{cl|Texture}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> '''Default value:''' {{cl|Texture}}'Engine.DefaultTexture'<br /> <br /> ====EngineVersion====<br /> '''Type:''' [[string]]<br /> <br /> Engine version.<br /> <br /> ====Game====<br /> '''Type:''' {{cl|GameInfo}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Hour====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Hour.<br /> <br /> ====HubStackLevel====<br /> '''Type:''' [[int]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====LevelAction====<br /> '''Type:''' {{tl|ELevelAction}}<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Millisecond====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====MinNetVersion====<br /> '''Type:''' [[string]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Minute====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Minute.<br /> <br /> ====Month====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Month.<br /> <br /> ====NavigationPointList====<br /> '''Type:''' {{cl|NavigationPoint}}<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' const<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====NetMode====<br /> '''Type:''' {{tl|ENetMode}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====NextSwitchCountdown====<br /> '''Type:''' [[float]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====NextURL====<br /> '''Type:''' [[string]]<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Pauser====<br /> '''Type:''' [[string]]<br /> <br /> If paused, name of person pausing the game.<br /> <br /> ====PawnList====<br /> '''Type:''' {{cl|Pawn}}<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' const<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Second====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Second.<br /> <br /> ====SpawnNotify====<br /> '''Type:''' {{cl|SpawnNotify}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====Summary====<br /> '''Type:''' {{cl|LevelSummary}}<br /> <br /> &lt;!-- enter variable description --&gt;<br /> <br /> ====TimeSeconds====<br /> '''Type:''' [[float]]<br /> <br /> Time in seconds since level began play.<br /> <br /> ====VisibleGroups====<br /> '''Type:''' [[string]]<br /> <br /> Set which actors with this groupname will be displayed in UnrealEd. If set to &quot;&quot;, no actors will be visible within UnrealEd.<br /> <br /> '''Default value:''' &quot;None&quot;<br /> <br /> ====Year====<br /> '''Type:''' [[int]]<br /> <br /> '''[[Variables#Modifiers|Modifiers]]:''' transient<br /> <br /> Year.<br /> <br /> ===Default values===<br /> {| class=&quot;list defaults&quot;<br /> ! Property<br /> ! Value<br /> |-<br /> | {{tl|bHiddenEd||Actor properties}}<br /> | True<br /> |}<br /> <br /> ==Enums==<br /> ====ELevelAction====<br /> &lt;!-- enter enum description --&gt;<br /> ; LEVACT_None : &lt;!-- enter enum value description --&gt;<br /> ; LEVACT_Loading : &lt;!-- enter enum value description --&gt;<br /> ; LEVACT_Saving : &lt;!-- enter enum value description --&gt;<br /> ; LEVACT_Connecting : &lt;!-- enter enum value description --&gt;<br /> ; LEVACT_Precaching : &lt;!-- enter enum value description --&gt;<br /> <br /> ====ENetMode====<br /> &lt;!-- enter enum description --&gt;<br /> ; NM_Standalone : Standalone game.<br /> ; NM_DedicatedServer : Dedicated server, no local client.<br /> ; NM_ListenServer : Listen server.<br /> ; NM_Client : Client only, no local server.<br /> <br /> ==Functions==<br /> ===Native functions===<br /> ====GetAddressURL====<br /> {{code|native simulated function [[string]]&amp;nbsp;'''GetAddressURL''' ()}}<br /> <br /> &lt;!-- enter function description --&gt;<br /> <br /> ====GetLocalURL====<br /> {{code|native simulated function [[string]]&amp;nbsp;'''GetLocalURL''' ()}}<br /> <br /> &lt;!-- enter function description --&gt;<br /> <br /> ===Events===<br /> ====ServerTravel====<br /> {{code|event '''ServerTravel''' ([[string]]&amp;nbsp;'''URL''', [[bool]]&amp;nbsp;'''bItems''')}}<br /> <br /> &lt;!-- enter event description --&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35490 Legacy:T3D StaticMesh 2009-10-19T07:24:48Z <p>Solarsys: ucc cmd fix</p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It creates one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:&lt;br&gt;<br /> &lt;uscript&gt;ucc batchexport myPackage StaticMesh T3D&lt;/uscript&gt;<br /> <br /> <br /> Sample File: Some basic triangle in Unreal Editor<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000 //Unknown effect<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]&lt;br&gt;<br /> T3D Brush data:&lt;br&gt;<br /> &lt;uscript&gt; Vertex -00128.000000,+00128.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00000.000000<br /> Vertex +00128.000000,+00128.000000,+00000.000000&lt;/uscript&gt;<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]<br /> <br /> <br /> <br /> == Converting T3D StaticMeshes to ASE file ==<br /> These T3D files can be used and converted as ASE (3D Ascii Scene) files in order to convert staticmeshes to UT3 as the UT3 editor<br /> allows to import .ase files.<br /> <br /> Here is the algorithm to use (.ase file data):<br /> &lt;uscript&gt;<br /> *3DSMAX_ASCIIEXPORT 200<br /> *MATERIAL_LIST {<br /> *MATERIAL_COUNT 1 //Always 1<br /> *MATERIAL 0 {<br /> *MATERIAL_NAME &quot;Default Material&quot;<br /> *MATERIAL_CLASS &quot;Multi/Sub-Object&quot;<br /> *MATERIAL_AMBIENT 1.0000 1.0000 1.0000<br /> *MATERIAL_DIFFUSE 1.0000 1.0000 1.0000<br /> *MATERIAL_SPECULAR 1.0000 1.0000 1.0000<br /> *NUMSUBMTLS 1 //Num of unique different textures used in the staticmesh<br /> *SUBMATERIAL 0 {<br /> *MATERIAL_NAME &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MATERIAL_AMBIENT 1 1 1<br /> *MATERIAL_DIFFUSE 1 1 1<br /> *MATERIAL_SPECULAR 1 1 1<br /> *MAP_DIFFUSE {<br /> *MAP_NAME &quot;Map #0&quot;<br /> *MAP_CLASS &quot;Bitmap&quot;<br /> *MAP_SUBNO 1<br /> *MAP_AMOUNT 1<br /> *BITMAP &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MAP_TYPE Screen<br /> *UVW_U_OFFSET 0.000000<br /> *UVW_V_OFFSET 0.000000<br /> *UVW_U_TILING 1.000000<br /> *UVW_V_TILING 1.000000<br /> *UVW_ANGLE 0.000000<br /> *UVW_BLUR 1.000000<br /> *UVW_BLUR_OFFSET 0.000000<br /> *UVW_NOUSE_AMT 1.000000<br /> *UVW_NOISE_SIZE 1.000000<br /> *UVW_NOISE_LEVEL 1<br /> *UVW_NOISE_PHASE 0.000000<br /> *BITMAP_FILTER Pyramidal<br /> }<br /> }<br /> }<br /> }<br /> *GEOMOBJECT {<br /> *MESH {<br /> *TIMEVALUE 0<br /> *MESH_NUMVERTEX 3 //Num of vertices in the staticmesh<br /> *MESH_NUMFACES 1 //Num of triangle in the staticmesh (normally equals to NUMVERTEX/NUMTRIANGLES)<br /> *MESH_VERTEX_LIST {<br /> *MESH_VERTEX 0 128.0 -128.0 0.0 //V1x(Triangle) -V1y V1z (axis Y direction in unreal editor is from top to bottom)<br /> *MESH_VERTEX 1 -128.0 128.0 0.0 //V2x(Triangle) -V2y V2z<br /> *MESH_VERTEX 2 -128.0 -128.0 0.0 //V3x(Triangle) -V3y V3z<br /> }<br /> *MESH_FACE_LIST {<br /> *MESH_FACE 0: A: 0 B: 1 C: 2 AB: 1 BC: 0 CA: 1 *MESH_SMOOTHING 1 *MESH_MTLID 0 (=material id given in SUBMATERIAL section)<br /> //*MESH_FACE 1: A: 1 B: 2 C: 3 AB: 1 BC: 0 CA: 1 *MESH_SMOOTHING 1 *MESH_MTLID 0 for triangle 2 ... <br /> }<br /> *MESH_NUMTVERTEX 3 //Num of triangles*3<br /> *MESH_TVERTLIST {<br /> *MESH_TVERT 0 1.0 -0.0 1 //Triangle 1: UV Values of Vertex 1: Uv1 -Vv1 1<br /> *MESH_TVERT 1 0.0 1.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> *MESH_TVERT 2 0.0 -0.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> }<br /> *MESH_NUMTVFACES 1 // Num of triangles<br /> *MESH_TFACELIST {<br /> *MESH_TFACE 0 0 1 2 //0,1,2 for triangle 1 <br /> //*MESH_TFACE 1 3 4 5 // for triangle 2 ... <br /> }<br /> }<br /> *MATERIAL_REF 0 //Do not change this<br /> }&lt;/uscript&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35487 Legacy:T3D StaticMesh 2009-10-17T07:10:14Z <p>Solarsys: </p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It creates one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:&lt;br&gt;<br /> &lt;uscript&gt;ucc batchexport myPackage T3D StaticMesh&lt;/uscript&gt;<br /> <br /> <br /> Sample File: Some basic triangle in Unreal Editor<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000 //Unknown effect<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]&lt;br&gt;<br /> T3D Brush data:&lt;br&gt;<br /> &lt;uscript&gt; Vertex -00128.000000,+00128.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00000.000000<br /> Vertex +00128.000000,+00128.000000,+00000.000000&lt;/uscript&gt;<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]<br /> <br /> <br /> <br /> == Converting T3D StaticMeshes to ASE file ==<br /> These T3D files can be used and converted as ASE (3D Ascii Scene) files in order to convert staticmeshes to UT3 as the UT3 editor<br /> allows to import .ase files.<br /> <br /> Here is the algorithm to use (.ase file data):<br /> &lt;uscript&gt;<br /> *3DSMAX_ASCIIEXPORT 200<br /> *MATERIAL_LIST {<br /> *MATERIAL_COUNT 1 //Always 1<br /> *MATERIAL 0 {<br /> *MATERIAL_NAME &quot;Default Material&quot;<br /> *MATERIAL_CLASS &quot;Multi/Sub-Object&quot;<br /> *MATERIAL_AMBIENT 1.0000 1.0000 1.0000<br /> *MATERIAL_DIFFUSE 1.0000 1.0000 1.0000<br /> *MATERIAL_SPECULAR 1.0000 1.0000 1.0000<br /> *NUMSUBMTLS 1 //Num of unique different textures used in the staticmesh<br /> *SUBMATERIAL 0 {<br /> *MATERIAL_NAME &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MATERIAL_AMBIENT 1 1 1<br /> *MATERIAL_DIFFUSE 1 1 1<br /> *MATERIAL_SPECULAR 1 1 1<br /> *MAP_DIFFUSE {<br /> *MAP_NAME &quot;Map #0&quot;<br /> *MAP_CLASS &quot;Bitmap&quot;<br /> *MAP_SUBNO 1<br /> *MAP_AMOUNT 1<br /> *BITMAP &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MAP_TYPE Screen<br /> *UVW_U_OFFSET 0.000000<br /> *UVW_V_OFFSET 0.000000<br /> *UVW_U_TILING 1.000000<br /> *UVW_V_TILING 1.000000<br /> *UVW_ANGLE 0.000000<br /> *UVW_BLUR 1.000000<br /> *UVW_BLUR_OFFSET 0.000000<br /> *UVW_NOUSE_AMT 1.000000<br /> *UVW_NOISE_SIZE 1.000000<br /> *UVW_NOISE_LEVEL 1<br /> *UVW_NOISE_PHASE 0.000000<br /> *BITMAP_FILTER Pyramidal<br /> }<br /> }<br /> }<br /> }<br /> *GEOMOBJECT {<br /> *MESH {<br /> *TIMEVALUE 0<br /> *MESH_NUMVERTEX 3 //Num of vertices in the staticmesh<br /> *MESH_NUMFACES 1 //Num of triangle in the staticmesh (normally equals to NUMVERTEX/NUMTRIANGLES)<br /> *MESH_VERTEX_LIST {<br /> *MESH_VERTEX 0 128.0 -128.0 0.0 //V1x(Triangle) -V1y V1z (axis Y direction in unreal editor is from top to bottom)<br /> *MESH_VERTEX 1 -128.0 128.0 0.0 //V2x(Triangle) -V2y V2z<br /> *MESH_VERTEX 2 -128.0 -128.0 0.0 //V3x(Triangle) -V3y V3z<br /> }<br /> *MESH_FACE_LIST {<br /> *MESH_FACE 0: A: 0 B: 1 C: 2 AB: 1 BC: 0 CA: 1 *MESH_SMOOTHING 1 *MESH_MTLID 0 (=material id given in SUBMATERIAL section)<br /> //*MESH_FACE 1: A: 1 B: 2 C: 3 AB: 1 BC: 0 CA: 1 *MESH_SMOOTHING 1 *MESH_MTLID 0 for triangle 2 ... <br /> }<br /> *MESH_NUMTVERTEX 3 //Num of triangles*3<br /> *MESH_TVERTLIST {<br /> *MESH_TVERT 0 1.0 -0.0 1 //Triangle 1: UV Values of Vertex 1: Uv1 -Vv1 1<br /> *MESH_TVERT 1 0.0 1.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> *MESH_TVERT 2 0.0 -0.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> }<br /> *MESH_NUMTVFACES 1 // Num of triangles<br /> *MESH_TFACELIST {<br /> *MESH_TFACE 0 0 1 2 //0,1,2 for triangle 1 <br /> //*MESH_TFACE 1 3 4 5 // for triangle 2 ... <br /> }<br /> }<br /> *MATERIAL_REF 0 //Do not change this<br /> }&lt;/uscript&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35486 Legacy:T3D StaticMesh 2009-10-17T07:06:56Z <p>Solarsys: Adding some info to convert T3D SM to .ASE Files</p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It creates one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:&lt;br&gt;<br /> &lt;uscript&gt;ucc batchexport myPackage T3D StaticMesh&lt;/uscript&gt;<br /> <br /> <br /> Sample File: Some basic triangle in Unreal Editor<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000 //Unknown effect<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]&lt;br&gt;<br /> T3D Brush data:&lt;br&gt;<br /> &lt;uscript&gt; Vertex -00128.000000,+00128.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00000.000000<br /> Vertex +00128.000000,+00128.000000,+00000.000000&lt;/uscript&gt;<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]<br /> <br /> <br /> <br /> == Converting T3D StaticMeshes to ASE file ==<br /> These T3D files can be used and converted as ASE (3D Ascii Scene) files in order to convert staticmeshes to UT3 as the UT3 editor<br /> allows to import .ase files.<br /> <br /> Here is the algorithm to use (.ase file data):<br /> &lt;uscript&gt;<br /> *3DSMAX_ASCIIEXPORT 200<br /> *MATERIAL_LIST {<br /> *MATERIAL_COUNT 1 //Always 1<br /> *MATERIAL 0 {<br /> *MATERIAL_NAME &quot;Default Material&quot;<br /> *MATERIAL_CLASS &quot;Multi/Sub-Object&quot;<br /> *MATERIAL_AMBIENT 1.0000 1.0000 1.0000<br /> *MATERIAL_DIFFUSE 1.0000 1.0000 1.0000<br /> *MATERIAL_SPECULAR 1.0000 1.0000 1.0000<br /> *NUMSUBMTLS 1 //Num of unique different textures used in the staticmesh<br /> *SUBMATERIAL 0 {<br /> *MATERIAL_NAME &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MATERIAL_AMBIENT 1 1 1<br /> *MATERIAL_DIFFUSE 1 1 1<br /> *MATERIAL_SPECULAR 1 1 1<br /> *MAP_DIFFUSE {<br /> *MAP_NAME &quot;Map #0&quot;<br /> *MAP_CLASS &quot;Bitmap&quot;<br /> *MAP_SUBNO 1<br /> *MAP_AMOUNT 1<br /> *BITMAP &quot;256x256&quot; //Name of the texture used (without group and package info)<br /> *MAP_TYPE Screen<br /> *UVW_U_OFFSET 0.000000<br /> *UVW_V_OFFSET 0.000000<br /> *UVW_U_TILING 1.000000<br /> *UVW_V_TILING 1.000000<br /> *UVW_ANGLE 0.000000<br /> *UVW_BLUR 1.000000<br /> *UVW_BLUR_OFFSET 0.000000<br /> *UVW_NOUSE_AMT 1.000000<br /> *UVW_NOISE_SIZE 1.000000<br /> *UVW_NOISE_LEVEL 1<br /> *UVW_NOISE_PHASE 0.000000<br /> *BITMAP_FILTER Pyramidal<br /> }<br /> }<br /> }<br /> }<br /> *GEOMOBJECT {<br /> *MESH {<br /> *TIMEVALUE 0<br /> *MESH_NUMVERTEX 3 //Num of vertices in the staticmesh<br /> *MESH_NUMFACES 1 //Num of triangle in the staticmesh (normally equals to NUMVERTEX/NUMTRIANGLES)<br /> *MESH_VERTEX_LIST {<br /> *MESH_VERTEX 0 128.0 -128.0 0.0 //V1x(Triangle) -V1y V1z (axis Y direction in unreal editor is from top to bottom)<br /> *MESH_VERTEX 1 -128.0 128.0 0.0 //V2x(Triangle) -V2y V2z<br /> *MESH_VERTEX 2 -128.0 -128.0 0.0 //V3x(Triangle) -V3y V3z<br /> }<br /> *MESH_FACE_LIST {<br /> *MESH_FACE 0: A: 0 B: 1 C: 2 AB: 1 BC: 0 CA: 1 *MESH_SMOOTHING 1 *MESH_MTLID 0<br /> }<br /> *MESH_NUMTVERTEX 3 //Num of triangles*3<br /> *MESH_TVERTLIST {<br /> *MESH_TVERT 0 1.0 -0.0 1 //Triangle 1: UV Values of Vertex 1: Uv1 -Vv1 1<br /> *MESH_TVERT 1 0.0 1.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> *MESH_TVERT 2 0.0 -0.0 1 //Triangle 1: UV Values of Vertex 2: Uv2 -Vv2 1<br /> }<br /> *MESH_NUMTVFACES 1 // Num of triangles<br /> *MESH_TFACELIST {<br /> *MESH_TFACE 0 0 1 2 //0,1,2 for triangle 1 <br /> //*MESH_TFACE 0 3 4 5 // for triangle 2 ... <br /> }<br /> }<br /> *MATERIAL_REF 0 //Do not change this<br /> }&lt;/uscript&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35482 Legacy:T3D StaticMesh 2009-10-15T09:03:11Z <p>Solarsys: T3D sample Brush data added</p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It creates one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:<br /> ucc batchexport myPackage T3D StaticMesh<br /> <br /> Sample File: Some basic triangle in Unreal Editor<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]&lt;br&gt;<br /> T3D Brush data:&lt;br&gt;<br /> &lt;uscript&gt; Vertex -00128.000000,+00128.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00000.000000<br /> Vertex +00128.000000,+00128.000000,+00000.000000&lt;/uscript&gt;<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35481 Legacy:T3D StaticMesh 2009-10-15T08:59:54Z <p>Solarsys: </p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It creates one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:<br /> ucc batchexport myPackage T3D StaticMesh<br /> <br /> Sample File: (some basic triangle)<br /> Triangle in Unreal Editor:<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35480 Legacy:T3D StaticMesh 2009-10-15T08:58:53Z <p>Solarsys: Fixing images not aligned</p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It created one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:<br /> ucc batchexport myPackage T3D StaticMesh<br /> <br /> Sample File: (some basic triangle)<br /> Triangle in Unreal Editor:<br /> <br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> <br /> T3D Brush Drawing:&lt;br&gt;<br /> [[File:T3DSM_BrushDraw.png]]<br /> <br /> T3D StaticMesh Drawing:&lt;br&gt;<br /> [[File:T3DSM_Draw.png]]</div> Solarsys https://wiki.beyondunreal.com/File:T3DSM_Draw.png?diff=35479 File:T3DSM Draw.png 2009-10-15T08:57:41Z <p>Solarsys: How the vertices are ordering for a simple T3D Triangle staticmesh.</p> <hr /> <div>== Summary ==<br /> How the vertices are ordering for a simple T3D Triangle staticmesh.<br /> == Licensing: ==<br /> {{Unknown}}</div> Solarsys https://wiki.beyondunreal.com/File:T3DSM_BrushDraw.png?diff=35478 File:T3DSM BrushDraw.png 2009-10-15T08:57:13Z <p>Solarsys: How the vertices are ordering for a simple T3D Triangle brush</p> <hr /> <div>== Summary ==<br /> How the vertices are ordering for a simple T3D Triangle brush<br /> == Licensing: ==<br /> {{Unknown}}</div> Solarsys https://wiki.beyondunreal.com/File:T3DSM_TriangleUED.png?diff=35477 File:T3DSM TriangleUED.png 2009-10-15T08:56:14Z <p>Solarsys: Some basic triangle created with the UT2004 Unreal Editor</p> <hr /> <div>== Summary ==<br /> Some basic triangle created with the UT2004 Unreal Editor<br /> == Licensing: ==<br /> {{Unknown}}</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_StaticMesh?diff=35476 Legacy:T3D StaticMesh 2009-10-15T08:55:21Z <p>Solarsys: Adding T3D Staticmesh fileformat info</p> <hr /> <div>T3D Staticmeshes files are generated with the UCC command in order to export all StaticMeshes data from package or level.<br /> It created one .t3d file for each unique staticmesh found in the package.<br /> They are exported using this command:<br /> ucc batchexport myPackage T3D StaticMesh<br /> <br /> Sample File: (some basic triangle)<br /> Triangle in Unreal Editor:<br /> [[File:T3DSM_TriangleUED.png]]<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin StaticMesh Name=TriOriginal<br /> Version=2.000000 BoundingBox.Min.X=-128.000000 BoundingBox.Min.Y=-128.000000 BoundingBox.Min.Z=0.000000 BoundingBox.Max.X=128.000000 BoundingBox.Max.Y=128.000000 BoundingBox.Max.Z=0.000000<br /> Begin Triangle<br /> Texture SMTest.Tex.256x256 //Texture applied to the triangle<br /> SmoothingMask 0 //Unknown effect<br /> Vertex 0 128.000000 128.000000 0.000000 1.000000 0.000000 //Vertex Coordinates (x,y,z)+ Texture U,V data<br /> Vertex 1 -128.000000 -128.000000 0.000000 0.000000 -1.000000<br /> Vertex 2 -128.000000 128.000000 0.000000 0.000000 0.000000<br /> End Triangle<br /> End StaticMesh<br /> &lt;/uscript&gt;<br /> <br /> The vertices are ordered differently from the last one to the first one if we compare with T3D brush.<br /> T3D Brush Drawing:<br /> [[File:T3DSM_BrushDraw.png]]<br /> <br /> T3D StaticMesh Drawing:<br /> [[File:T3DSM_Draw.png]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_Brush?diff=35475 Legacy:T3D Brush 2009-10-15T08:35:54Z <p>Solarsys: Adding extra info about PanU,PanV</p> <hr /> <div>A T3D Brush is geometry information contained into [http://wiki.beyondunreal.com/Legacy:T3D_File[T3D Files]].<br /> <br /> The following actors used as brushes in T3D files:<br /> *[http://wiki.beyondunreal.com/Legacy:Brush[Brushes]]<br /> *[http://wiki.beyondunreal.com/Legacy:Mover[Movers]] (only in Unreal 1 and Unreal Tournament)<br /> <br /> === Actor structure ===<br /> &lt;uscript&gt;Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Rotation=(Yaw=49152)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor&lt;/uscript&gt;<br /> <br /> *MainScale: scales up or down current brush before make it rotate.<br /> *PostScale: scales up or down current brush after make it rotate.<br /> *TempScale: unknown effect<br /> *Location: where the brush is located in the map<br /> *Rotation: contains up to 3 values<br /> **Roll: X axis rotation<br /> **Pitch: Y axis rotation<br /> **Yaw: Z axis rotation<br /> *Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> **Texture: texture applied to the current polygon with formatted string.<br /> ***[TextureName] for Unreal 1 / Unreal Tournament maps<br /> ***[PackageName.TextureName] for other UTx games.<br /> **Origin: where the texture is centered<br /> **Normal: normally, the perpendicular vector of the surface where the texture is applied<br /> **Texture U,V: contains information about scaling and texture rotation<br /> **PanU,PanV: only used in Unreal Tournament and Unreal 1. Changes the texture origin coordinates.<br /> **Vertex: X,Y,Z coordinates of the specified vertex<br /> <br /> Note: NumTriangles = NumVertices-Floor(NumVertices/3)<br /> <br /> [[Image:texinfot3d.jpg]]<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> === Scaling up/down brushes ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> === Tools ===<br /> *Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> *[[Legacy:MapScale|MapScale]] scales an entire .t3d file (only works for UT/U1 maps)</div> Solarsys https://wiki.beyondunreal.com/Talk:Main_Page?diff=34358 Talk:Main Page 2009-04-22T11:47:29Z <p>Solarsys: Undo revision 34357 by 194.85.80.75 (Talk)</p> <hr /> <div>== General layout ==<br /> <br /> I've tried to come up with a compact initial layout and topic list. Suggestions for improvements are welcome. [[User:Wormbo|Wormbo]] 06:31, 13 March 2008 (EDT)<br /> <br /> Actually, we need to come up with an easy-to-browse structure for overview pages of the various parts of Unreal modding. The problem here will be that either this kind of page tends to get too long or there are too many pages to click through before reaching actual content. We need to find a good mix between an sophisticated structure and quick access. The topic pages can be accompanied by [[Project:categories|categories]], navigation/info boxes (an example can be found e.g. on [[Literals]]) and disambiguation links/pages for when a user uses the Go button of the search box in the sidebar. I hope this will give you an overview of the new tools we can use to structure the Unreal Wiki. -[[User:Wormbo|Wormbo]] 07:58, 16 April 2008 (UTC)<br /> <br /> I think we can now all agree this should have been discussed openly and decided much earlier, before the switch to MediaWiki and the subsequent disconnect with Legacy content. This discussion will likely last a while and not get the input of the entire wiki community. Seeing as I was an instrumental contributor of the old organization (which has been widely criticized as poor or no organization), I will step back, keep an eye on the progress and wait for the dust to settle. Good luck. -[[User:SuperApe|SuperApe]] 08:57 PST, 16 April 2008<br /> <br /> Under the UnrealScript Reference topics, seeing 'Programming tutorials' seems a little out of place. Since most if not all the programming tutorials we have here will deal with UnrealScript, why not change it and the category to UnrealScript Tutorials? -[[User:DalinSeivewright|DalinSeivewright]] 15:14, 17 April 2008 (UTC)<br /> <br /> These category things are working arnt they? Ive been around the site acouple of times now and I dont think Ive seen anything in any of the expanded tree's. Just wondering anyways, perhaps we could get some templates in there with correct names for the time being. -[[User:OlympusMons|OlympusMons]] 22:49, 17 April 2008 (UTC)<br /> <br /> Those tree widgets only show subcategories, not pages or media. Just imagine [[:Category:UT2004-specific classes]] displaying all old UT2004 classes when you expand its subcategory [[:Category:Legacy Class (UT2004)]]! If you mean the actual categories, don't worry. I'll import the wikified class pages for UT, UT2003/4, UT3 and UE2Runtime some time this week. -[[User:Wormbo|Wormbo]] 08:35, 21 April 2008 (UTC)<br /> <br /> Yeah I noticed that an hour or so after making that comment, I thought classes were meant to be shown in the category class tree's but they arnt, it seems to function more like a search criterea. Yeah hope things are going well on the new wikifier, should save alot of time. :)<br /> Actually on the Topic of class tree's since Im there, whats going to happen in that respect now? Are we going to have a class tree page anymore? I imagine alot can be done with tree views now so Id wonder if it is possible to have a class tree which is actually expandable/collapsable now, since the categories dont show the classes right under their package or superclass etc -[[User:OlympusMons|OlympusMons]] 23:29, 21 April 2008 (UTC)<br /> <br /> :Double post looolz, anyways to expand on class tree's I had a play over here: [[Unreal_Wiki:Sandbox|Sandbox]] but I think it'll need its own template or something and Im not well versed on this new wiki stuff just yet. This category list shows the pages though under the categories they fall but I couldnt get the parent class showing as a category which is why I thought it'd need a template. -[[User:OlympusMons|OlympusMons]] 16:51, 27 April 2008 (UTC)<br /> <br /> == New wiki software / Organization ==<br /> Various people have had questions, comments, or criticisms of this move to MediaWiki. This seems as good a place as any to discuss it, so feel free to add anything here. – [[User:Haarg|Haarg]] 21:32, 3 April 2008 (UTC)<br /> <br /> :Well I guess my biggest concern is the wealth of existing information (namely the tutorials and class hierarchy pages) that we can't simply move over. Most if not all the pages have had at least one contributor to the page that has done at least a minor edit. Then there's the problem of not having a complete history of the older pages so while it may appear that only one individual has worked on a given page, the truth could be that at least two have worked on it but the history of the page has been lost. Then theres the problem of what we can do with new content for the older engines as we cannot add new content to these legacy pages. IMO, the class hierarchy at least could be moved over as most of the pages are simply descriptions of what the class does (which really, Copyrights should have no hold over because there's only so many ways you can describe what a class is responsible for) and have listings for each method and variable and what they're used for.<br /> <br /> :If that really is not an option then we could go through class by class and (re-) create a class page for each of them by source. So we could have a category for each game and have a hierarchy of classes from each package. It '''would''' take a fair bit of time to complete and a decent format would need to be made up. I personally didn't like how the old formats were set up. It seemed like too much information was being thrown at you for classes such as Actor, where there are a lot of variables and methods to go through. I guess we'd have to look at how much more information we could add in the end. I'm not sure how 'definitive' our class pages were, but I'm positive we didn't have many pages for certain classes.<br /> <br /> :On the topic of tutorials, is there any reason why we can't re-write them? If a tutorial explains how to make a new weapon based on the shock rifle (which has been over done already) we could just reinvent the wheel. The other more advanced tutorials (such as the RPG Class tutorials) could be re-written with a similar basis.<br /> <br /> :In the end, I think keeping the older content up-to-date and easy to find/navigate through is important as many level designers and modders most likely have not moved over to UE3 and UE2 still has plenty of life left in it. <br /> <br /> :-[[User:DalinSeivewright|DalinSeivewright]] 12:03, 4 April 2008 (UTC)<br /> ::Most of the class hierarchy could be moved over or recreated pretty simply. As for tutorials, rewriting them is probably the best solution. While that may seem like wasted effort, I don't see a better solution given the licensing issues. – [[User:Haarg|Haarg]] 17:17, 5 April 2008 (UTC) <br /> :wow. Unreal Wiki had a makeover... This will be confusing for a while...--[[User:JeffMOD|JeffMOD]] 14:56, 5 April 2008 (UTC)<br /> :A comment on user accounts: It probably could have been explained better, but the user accounts from the old wiki weren't converted to the new software. First, I somewhat doubt it would have been possibly technically But mainly, there was barely any information attached to the old accounts that have been worth keeping. So everyone has to create new user accounts. Additionally, anonymous edits are turned off. I would be interested in feedback on that as well. – [[User:Haarg|Haarg]] 17:17, 5 April 2008 (UTC)<br /> ::I think its a great idea. Its a good anti-spam addition that works well for the most part, although it could end up generating a lot of accounts that would only be used once (as I've found a lot of people often to go to a site where they need to sign up to contribute and only ever change one thing they've found). Also, spam bots have been known to sign up a lot so perhaps you could add CAPTCHA to the account creation process. -[[User:DalinSeivewright|DalinSeivewright]] 02:30, 6 April 2008 (UTC)<br /> :::I don't think we need to add a captcha at this point, but that could be revisited if spam becomes a problem. – [[User:Haarg|Haarg]] 02:36, 6 April 2008 (UTC)<br /> <br /> Two things. Having the Legacy article show up in the search kind of makes it look incredibly messy, unorganized and hard to follow. I understand that its important to stress that Users probably shouldn't do major edits to Legacy pages but somehow hiding the Legacy part of the article name would help things considerably.<br /> <br /> Secondly I was comparing the Actor class of UT2003 with that of UT2004 and there are several differences in each. I think we should have at least one Actor page for each generation but what about games within the same generation? Should we have seperate Actor pages for UT2003 and UT2004 within the UE2 namespace or UT2003/UT2004 namespaces or should we have one full page for UT2004 and have a seperate page for the Actor class in UT2003 that just sites the major differences? -[[User:DalinSeivewright|DalinSeivewright]] 01:32, 15 April 2008 (UTC)<br /> :Well on the topic of UE2 Id think the best option might be to have a seperate section relating to UE2.5 since its an upgrade on the engine. Both UT2003 and UT2004 are UE2 though but other engines picked up support at UE2.5 where some are based on UE2. I do know there was alittle bit of a hastle with the class tree pages because it contained info from both UE2-2.5 so each difference had to be tagged. I guess it wasnt so bad since some classes are identical between the two, the last idea sounds good to me to do full page on UT2004's Actor and a differences page for UT2003. - [[User:OlympusMons|OlympusMons]]<br /> <br /> :::I actually change my mind. I think we should have an actor page for each version of the engine/game. This would be considerably more work (unless Wormbo finishes his class wikifier?) but it would be much 'cleaner' and dare I say sexier. Plus users won't be too confused on whether or not their on the right page if the page just sites the differences. -[[User:DalinSeivewright|DalinSeivewright]] 00:11, 17 April 2008 (UTC)<br /> <br /> ::::Might be the go hey since there are sometimes differences between builds as well so it might get very confusing later, duplicating material isnt too good but I dont think it can be helped much since of the nature of UE. -[[User:OlympusMons|OlympusMons]] 22:51, 17 April 2008 (UTC)<br /> <br /> :::I agree with Dalin here. Each &quot;game&quot; (including UE2Runtime) gets its own set of class pages and corresponding categories. If the classes really have exactly the same content, we can take advantage of the template features and simply include the newest game's version of the page on all older games' versions of the same page. I already demonstrated this on [[UE2:DMRosterBeatTeam (UT2003)]], which only includes the content from [[UE2:DMRosterBeatTeam (UT2004)]]. The templates [[Template:Infobox class]] (and [[Template:Infobox class part]]) and [[Template:samegame]] used there automatically set up links to point to pages of the same game.&lt;br/&gt;On a semi-related note: Do we want to document defaultproperties, possibly including subobjects, on the class pages? -[[User:Wormbo|Wormbo]] 08:35, 21 April 2008 (UTC)<br /> <br /> ::::I'm in favor of having any documentation of the default properties in where the variables are documented (if at all). It would seem reasonable to have the 'default' or accepted values for a given variable where we've explained what the variable is for. I think subobjects should be included too, just as long as we can have a seperate page for that sub-object if it is really important. For example, the KPhysics object in xPawn. Without it, your Pawn fails. -[[User:DalinSeivewright|DalinSeivewright]] 05:49, 22 April 2008 (UTC)<br /> <br /> ::::Please have a look at [[UE3:UIObject (UT3)]], I've updated it with the basic default value and subobject output of the wikifier. I still need to add special parsing for struct values to link any enums or subobjects used there. Suggestions about the output are welcome. -[[User:Wormbo|Wormbo]] 09:23, 27 April 2008 (UTC)<br /> <br /> == Mod ideas ==<br /> <br /> I dont know where to add mod ideas...<br /> <br /> <br /> The mod ideas section didn't really work out on the old wiki, IMHO. Would it really make sense to revive that? -[[User:Wormbo|Wormbo]] 05:54, 25 April 2008 (UTC)<br /> :I was actually thinking the same thing and wasn't going to add it to the main page, but then I thought I'd add it anyways and see what anyone else thought. The old Mod ideas was an okay source for ideas but it ended up being a list of abandoned pages with half being discussions on the Mod idea itself and the other half being discussions on the progress of the mod, as if it was no longer an open source idea but being worked on. I'm fine with not reviving the page, but where would these mod ideas go now? -[[User:DalinSeivewright|DalinSeivewright]] 06:26, 25 April 2008 (UTC)<br /> ::Better leave mod ideas to ppl's own wiki pages -[[User:0 Kelvin|0 Kelvin]]<br /> :::That's a pretty good idea actually. There could be a category like [[:Category:Mod ideas]] or something similar, and it could go over what to have in mind of you are proposing a mod idea. Ideas could then be posted as sub-pages of user pages. If an idea actually took off, it could be moved into a different namespace easily. – [[User:Haarg|Haarg]] 15:47, 25 April 2008 (UTC)<br /> ::::Lets go with that then :) What about Licensing issues though? Will the 'concept' of Mod Ideas have to be reworked? If a user has a great concept and someone came and used that idea down to the exact details would there be any problems/need to cite references etc. ? I'm pretty sure copyright doesn't have a hold over 'ideas', although I could be wrong. -[[User:DalinSeivewright|DalinSeivewright]] 16:09, 25 April 2008 (UTC)<br /> ::::Isn't the entire point of posting mod ideas that ''others'' should pick them up? -[[User:Wormbo|Wormbo]] 16:59, 25 April 2008 (UTC)<br /> :::::Yes of course, but since its under the Wiki license I'm simply wondering if there should be a seperate license for the idea pages, or if there would even be a need for that. I'm guessing by your comment, there should be no problem with the licensing then? :) -[[User:DalinSeivewright|DalinSeivewright]] 18:23, 25 April 2008 (UTC)<br /> <br /> I've removed the [[Modding ideas]] link from the main page. That page should really be dissolved and the individual ideas should be posted on the contributing users' personal pages. Once that is done, [[:Category:Mod ideas]] could be linked from [[Modding overview]], but not from the main page. —[[User:Wormbo|Wormbo]] 20:16, 21 November 2008 (UTC)<br /> <br /> ==Category link description==<br /> Do the Wiki Categories currently support descriptions for each page associated to the category? What I mean is, is there currently a way to associate a description of a page within a category and have that description appear in the list of pages for said category? For example:<br /> &lt;pre&gt;<br /> A<br /> [[Apple]] - This page describes what an apple is.<br /> O<br /> [[Orange]] - This page describes what an orange is.<br /> &lt;/pre&gt;<br /> These descriptions would be added on the page with perhaps a little tag? I'm just curious and don't really feel they're neccesary... at least at the moment. -[[User:DalinSeivewright|DalinSeivewright]] 16:23, 25 April 2008 (UTC)<br /> <br /> No, that's not supported. This type of description needs to go in the page text, either of the category page or a more suitable topic page. -[[User:Wormbo|Wormbo]] 16:54, 25 April 2008 (UTC)<br /> <br /> Some form of this could be done using a DPL report:&lt;dpl&gt;<br /> category = Custom UE2-specific classes<br /> include={Infobox class}:parent1<br /> includematch=/./<br /> secseparators= \n- Subclass of ,<br /> &lt;/dpl&gt;<br /> But that would be built as a specific list, and not part of the general category page. – [[User:Haarg|Haarg]] 17:49, 25 April 2008 (UTC)<br /> <br /> == 3rd Party / open source scripts ==<br /> <br /> Where do they go? (O Kelvin)<br /> <br /> : As a page with the the appropriate namespace and page name. [[UE1:RJumpPad]] for example. With a class infobox, it will be added to the appropriate categories. – [[User:Haarg|Haarg]] 23:30, 27 April 2008 (UTC)<br /> <br /> :: Ops... I made edits to the Legacy:Third party components page -_- [[User:0 Kelvin]]<br /> :: How about adding a &quot;Projects&quot; starting point ? It would be ideal for grouping all the third-party code detailed on the wiki and make it easily accessible. I mean, think of those people who are getting started with unrealscript. Documentation sometimes isn't enough and snippets of code could serve as examples. At the moment, it's a pain finding anything and one usually has to type random phrases in Google to get access to anything interesting. --[[User:Azura|Azura]] 01:14, 6 April 2009 (UTC)</div> Solarsys https://wiki.beyondunreal.com/Unreal_Wiki:Community_portal?diff=33968 Unreal Wiki:Community portal 2009-01-22T15:47:42Z <p>Solarsys: Removing spam link again .. :/</p> <hr /> <div>Welcome to the '''{{SITENAME}} Community Portal'''. This is the place to find out what's happening on Unreal Wiki and what you can do to help.<br /> __NOTOC__<br /> == News ==<br /> ===Unreal Wiki reloaded===<br /> As you may have noticed, '''{{SITENAME}}''' has migrated from the old [[wp:UseModWiki|UseModWiki]] software to a recent version of [[wp:MediaWiki|MediaWiki]].<br /> <br /> Currently we are in the process of getting (re-)started with content. Pages and images have been imported from the [[Legacy:Home_Page|old Unreal Wiki]] and can be browsed as before. Old links via &lt;code&gt;&lt;nowiki&gt;/wiki/Page_Name&lt;/nowiki&gt;&lt;/code&gt; now redirect to &lt;code&gt;&lt;nowiki&gt;/Legacy:Page_Name&lt;/nowiki&gt;&lt;/code&gt; for normal pages or &lt;code&gt;&lt;nowiki&gt;/Category:Legacy_Page_Name&lt;/nowiki&gt;&lt;/code&gt; for categories and category-like pages. We've made best effort to compensate the different ways UseModWiki and MediaWiki normalize page names, so external links should not be broken. If you still find such a link, please tell the external site's admin to link to the new page instead.<br /> <br /> As part of the restart, we want to create a better topic structure for the old and new knowledge to be documented. See the [[#Help out|Help out]] section below to find out how you can help in this process.<br /> <br /> == General ==<br /> What is the Unreal Wiki and how can you use it?<br /> * [[Unreal Wiki:About|About the Unreal Wiki]]<br /> * [[Unreal Wiki:Getting started|How to get started]]<br /> <br /> === Help out ===<br /> Unreal Wiki is seeking to provide comprehensive documentation about the [[Unreal Editor]] and [[Unreal Engine]] games as well as tutorials for creating content for them. You can help out in a number of ways, for example by writing tutorials, documenting engine features and, most importantly, improve existing documentation.<br /> * [[Unreal Wiki:Helping out|How do I help?]]<br /> * [[Unreal Wiki:Task list|What needs to be done?]]<br /> <br /> === Need help? ===<br /> If you have questions about Unreal Wiki that these pages do not answer, feel free to use an [[wikipedia:IRC Client|IRC Client]] to join our channel [irc://irc.enterthegame.com/unrealwiki #unrealwiki] on the EnterTheGame network. Or just browse over to the [http://forums.beyondunreal.com/forumdisplay.php?forumid=249 Unreal Wiki forum] at the BeyondUnreal Forums.</div> Solarsys https://wiki.beyondunreal.com/Unreal_Wiki:Community_portal?diff=33964 Unreal Wiki:Community portal 2009-01-22T07:48:52Z <p>Solarsys: Removing spam link</p> <hr /> <div>Welcome to the '''{{SITENAME}} Community Portal'''. This is the place to find out what's happening on Unreal Wiki and what you can do to help.<br /> __NOTOC__<br /> == News ==<br /> ===Unreal Wiki reloaded===<br /> As you may have noticed, '''{{SITENAME}}''' has migrated from the old [[wp:UseModWiki|UseModWiki]] software to a recent version of [[wp:MediaWiki|MediaWiki]].<br /> <br /> Currently we are in the process of getting (re-)started with content. Pages and images have been imported from the [[Legacy:Home_Page|old Unreal Wiki]] and can be browsed as before. Old links via &lt;code&gt;&lt;nowiki&gt;/wiki/Page_Name&lt;/nowiki&gt;&lt;/code&gt; now redirect to &lt;code&gt;&lt;nowiki&gt;/Legacy:Page_Name&lt;/nowiki&gt;&lt;/code&gt; for normal pages or &lt;code&gt;&lt;nowiki&gt;/Category:Legacy_Page_Name&lt;/nowiki&gt;&lt;/code&gt; for categories and category-like pages. We've made best effort to compensate the different ways UseModWiki and MediaWiki normalize page names, so external links should not be broken. If you still find such a link, please tell the external site's admin to link to the new page instead.<br /> <br /> As part of the restart, we want to create a better topic structure for the old and new knowledge to be documented. See the [[#Help out|Help out]] section below to find out how you can help in this process.<br /> <br /> == General ==<br /> What is the Unreal Wiki and how can you use it?<br /> * [[Unreal Wiki:About|About the Unreal Wiki]]<br /> * [[Unreal Wiki:Getting started|How to get started]]<br /> <br /> === Help out ===<br /> Unreal Wiki is seeking to provide comprehensive documentation about the [[Unreal Editor]] and [[Unreal Engine]] games as well as tutorials for creating content for them. You can help out in a number of ways, for example by writing tutorials, documenting engine features and, most importantly, improve existing documentation.<br /> * [[Unreal Wiki:Helping out|How do I help?]]<br /> * [[Unreal Wiki:Task list|What needs to be done?]]<br /> <br /> === Need help? ===<br /> If you have questions about Unreal Wiki that these pages do not answer, feel free to use an [[wikipedia:IRC Client|IRC Client]] to join our channel [irc://irc.enterthegame.com/unrealwiki #unrealwiki] on the EnterTheGame network. Or just browse over to the [http://forums.beyondunreal.com/forumdisplay.php?forumid=249 Unreal Wiki forum] at the BeyondUnreal Forums.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33959 Legacy:T3D File 2009-01-20T10:07:04Z <p>Solarsys: /* Related Topics */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map<br /> ** File -&gt; Export... (UnrealEd 1,2,3)<br /> ** File -&gt; Export -&gt; All.. (UnrealEd 4 - UT3)<br /> * Export selected actors: File-&gt; Export-&gt; Selected Only ... (UnrealEd 4 only - UT3)<br /> * Export one brush: Brush -&gt; Export ...<br /> * Copy/Paste: can copy paste any actor from any UnrealEd version to another one (Except for UnrealEd 4) or to any text editor such as notepad (Windows)<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> === T3D File Structure ===<br /> == Ux,UT,UT200x Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Map<br /> &lt;/uscript&gt;<br /> <br /> == UT3 Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Level NAME=PersistentLevel<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Level<br /> Begin Surface<br /> End Surface<br /> End Map<br /> &lt;/uscript&gt;<br /> <br /> Note: as UT3 T3D files have different header, any other not-UT3 t3d file can't be imported into UT3 editor (UnrealEd 4)<br /> <br /> ===T3D brush geometry===<br /> Information geometry is contained in the following actors:<br /> *Brush<br /> *Mover (only UT and U1 game)<br /> <br /> For more information about T3D brushes, see [http://wiki.beyondunreal.com/Legacy:T3D_Brush[T3D Brush]]<br /> <br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> * [[Legacy:T3D Brush|T3D Brush]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33958 Legacy:T3D File 2009-01-20T10:05:48Z <p>Solarsys: /* Ux,UT,UT200x Maps */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map<br /> ** File -&gt; Export... (UnrealEd 1,2,3)<br /> ** File -&gt; Export -&gt; All.. (UnrealEd 4 - UT3)<br /> * Export selected actors: File-&gt; Export-&gt; Selected Only ... (UnrealEd 4 only - UT3)<br /> * Export one brush: Brush -&gt; Export ...<br /> * Copy/Paste: can copy paste any actor from any UnrealEd version to another one (Except for UnrealEd 4) or to any text editor such as notepad (Windows)<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> === T3D File Structure ===<br /> == Ux,UT,UT200x Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Map<br /> &lt;/uscript&gt;<br /> <br /> == UT3 Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Level NAME=PersistentLevel<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Level<br /> Begin Surface<br /> End Surface<br /> End Map<br /> &lt;/uscript&gt;<br /> <br /> Note: as UT3 T3D files have different header, any other not-UT3 t3d file can't be imported into UT3 editor (UnrealEd 4)<br /> <br /> ===T3D brush geometry===<br /> Information geometry is contained in the following actors:<br /> *Brush<br /> *Mover (only UT and U1 game)<br /> <br /> For more information about T3D brushes, see [http://wiki.beyondunreal.com/Legacy:T3D_Brush[T3D Brush]]<br /> <br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> * [http://wiki.beyondunreal.com/Legacy:T3D_Brush[T3D Brush]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33957 Legacy:T3D File 2009-01-20T10:04:19Z <p>Solarsys: Splitting T3D File to T3D Brush v2</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map<br /> ** File -&gt; Export... (UnrealEd 1,2,3)<br /> ** File -&gt; Export -&gt; All.. (UnrealEd 4 - UT3)<br /> * Export selected actors: File-&gt; Export-&gt; Selected Only ... (UnrealEd 4 only - UT3)<br /> * Export one brush: Brush -&gt; Export ...<br /> * Copy/Paste: can copy paste any actor from any UnrealEd version to another one (Except for UnrealEd 4) or to any text editor such as notepad (Windows)<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> === T3D File Structure ===<br /> == Ux,UT,UT200x Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Level<br /> End Map<br /> &lt;/uscript&gt;<br /> == UT3 Maps ==<br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Level NAME=PersistentLevel<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> Begin Actor Class=&lt;ClassName&gt;<br /> ...<br /> End Actor<br /> ...<br /> End Level<br /> Begin Surface<br /> End Surface<br /> End Map<br /> &lt;/uscript&gt;<br /> <br /> Note: as UT3 T3D files have different header, any other not-UT3 t3d file can't be imported into UT3 editor (UnrealEd 4)<br /> <br /> ===T3D brush geometry===<br /> Information geometry is contained in the following actors:<br /> *Brush<br /> *Mover (only UT and U1 game)<br /> <br /> For more information about T3D brushes, see [http://wiki.beyondunreal.com/Legacy:T3D_Brush[T3D Brush]]<br /> <br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> * [http://wiki.beyondunreal.com/Legacy:T3D_Brush[T3D Brush]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_Brush?diff=33956 Legacy:T3D Brush 2009-01-20T09:44:03Z <p>Solarsys: /* Scaling up/down brushes */</p> <hr /> <div>A T3D Brush is geometry information contained into [http://wiki.beyondunreal.com/Legacy:T3D_File[T3D Files]].<br /> <br /> The following actors used as brushes in T3D files:<br /> *[http://wiki.beyondunreal.com/Legacy:Brush[Brushes]]<br /> *[http://wiki.beyondunreal.com/Legacy:Mover[Movers]] (only in Unreal 1 and Unreal Tournament)<br /> <br /> === Actor structure ===<br /> &lt;uscript&gt;Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Rotation=(Yaw=49152)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor&lt;/uscript&gt;<br /> <br /> *MainScale: scales up or down current brush before make it rotate.<br /> *PostScale: scales up or down current brush after make it rotate.<br /> *TempScale: unknown effect<br /> *Location: where the brush is located in the map<br /> *Rotation: contains up to 3 values<br /> **Roll: X axis rotation<br /> **Pitch: Y axis rotation<br /> **Yaw: Z axis rotation<br /> *Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> **Texture: texture applied to the current polygon with formatted string.<br /> ***[TextureName] for Unreal 1 / Unreal Tournament maps<br /> ***[PackageName.TextureName] for other UTx games.<br /> **Origin: where the texture is centered<br /> **Normal: normally, the perpendicular vector of the surface where the texture is applied<br /> **Texture U,V: contains information about scaling and texture rotation<br /> **PanU,PanV: only used in Unreal Tournament and Unreal 1<br /> **Vertex: X,Y,Z coordinates of the specified vertex<br /> <br /> Note: NumTriangles = NumVertices-Floor(NumVertices/3)<br /> <br /> [[Image:texinfot3d.jpg]]<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> === Scaling up/down brushes ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> === Tools ===<br /> *Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> *[[Legacy:MapScale|MapScale]] scales an entire .t3d file (only works for UT/U1 maps)</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_Brush?diff=33955 Legacy:T3D Brush 2009-01-20T09:39:25Z <p>Solarsys: Splitting T3D File to T3D Brush</p> <hr /> <div>A T3D Brush is geometry information contained into [http://wiki.beyondunreal.com/Legacy:T3D_File[T3D Files]].<br /> <br /> The following actors used as brushes in T3D files:<br /> *[http://wiki.beyondunreal.com/Legacy:Brush[Brushes]]<br /> *[http://wiki.beyondunreal.com/Legacy:Mover[Movers]] (only in Unreal 1 and Unreal Tournament)<br /> <br /> === Actor structure ===<br /> &lt;uscript&gt;Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Rotation=(Yaw=49152)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor&lt;/uscript&gt;<br /> <br /> *MainScale: scales up or down current brush before make it rotate.<br /> *PostScale: scales up or down current brush after make it rotate.<br /> *TempScale: unknown effect<br /> *Location: where the brush is located in the map<br /> *Rotation: contains up to 3 values<br /> **Roll: X axis rotation<br /> **Pitch: Y axis rotation<br /> **Yaw: Z axis rotation<br /> *Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> **Texture: texture applied to the current polygon with formatted string.<br /> ***[TextureName] for Unreal 1 / Unreal Tournament maps<br /> ***[PackageName.TextureName] for other UTx games.<br /> **Origin: where the texture is centered<br /> **Normal: normally, the perpendicular vector of the surface where the texture is applied<br /> **Texture U,V: contains information about scaling and texture rotation<br /> **PanU,PanV: only used in Unreal Tournament and Unreal 1<br /> **Vertex: X,Y,Z coordinates of the specified vertex<br /> <br /> Note: NumTriangles = NumVertices-Floor(NumVertices/3)<br /> <br /> [[Image:texinfot3d.jpg]]<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> === Scaling up/down brushes ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> === Tools ===<br /> *Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> *[[Legacy:MapScale|MapScale]] scales an entire .t3d file (only works for UT/U1 maps)</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_Brush?diff=33954 Legacy:T3D Brush 2009-01-20T09:00:32Z <p>Solarsys: *MainScale: Scales up or down current brush before being rotated</p> <hr /> <div>A T3D Brush is geometry information contained into [http://wiki.beyondunreal.com/Legacy:T3D_File[T3D Files]].<br /> <br /> The following actors used as brushes in T3D files:<br /> *[http://wiki.beyondunreal.com/Legacy:Brushes[Brush]]<br /> *[http://wiki.beyondunreal.com/Legacy:Mover[Movers]] (only in Unreal 1 and Unreal Tournament)<br /> <br /> = Actor structure =<br /> &lt;uscript&gt;Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor&lt;/uscript&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33930 Legacy:T3D File 2009-01-15T12:45:18Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> Texturing information:&lt;br&gt;<br /> Texture U and Texture V: contains information about scaling and texture rotation&lt;br&gt;<br /> PanU and PanV: only used in Unreal Tournament&lt;br&gt;<br /> Origin: where the texture is centered&lt;br&gt;<br /> Normal: normally, the perpendicular vector of the surface where the texture is applied.&lt;br&gt;<br /> <br /> TextureU, TextureV, PanU, PanV, Origin and Normal are informations about how to apply texture for the polygon.<br /> <br /> [[Image:texinfot3d.jpg]] &lt;br&gt;<br /> Texture Scaling information is given from TexU and TexV values.<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Category:Legacy_Delete_Reply_When_You_See_It?diff=33902 Category:Legacy Delete Reply When You See It 2009-01-09T07:27:40Z <p>Solarsys: </p> <hr /> <div>{{Legacy category}}<br /> A [[Legacy:WikiTag|WikiTag]].<br /> <br /> It works like this:<br /> <br /> :Person A writes: what does ''foo'' do?<br /> :Person B answers: it does what it says above. [[:Category:Legacy Delete Reply When You See It]].<br /> :''Person A reads the reply, sees the tag, and removes both question and answer from the page.''<br /> <br /> No-one other than Person A should act on this Tag. '''However:'''<br /> * if it's been ''weeks''... I mean ''weeks''... <br /> * anybody who sees it might decide to change the tag to [[:Category:Legacy Refactor Me]].</div> Solarsys https://wiki.beyondunreal.com/Legacy:Oxygen?diff=33901 Legacy:Oxygen 2009-01-09T07:27:19Z <p>Solarsys: </p> <hr /> <div>==Oxygen ==<br /> <br /> ===In Development ===<br /> <br /> Work for the King of the Hill mutator. I'm mapping/modeling and skinning for it.<br /> <br /> ===Completed Work ===<br /> <br /> ====KH-Natico ====<br /> <br /> It's a King of the Hill map set in a rocky, valley setting or something. Need's optimisation.<br /> <br /> http://www.ut2003hq.com/pafiledb/pafiledb.php?action=file&amp;id=1252<br /> <br /> ====Mutator: Low Ammo Warning ====<br /> <br /> My first ever mutator. Basically you select the mutator, configure the ammo levels for each individual weapon and when your ammo drops below that level you get an on-screen warning.<br /> <br /> Download ~20K - http://users.tpg.com.au/aspie/OxygenAmmoWarning.zip<br /> <br /> Credit:<br /> *LedZep for the Interface code (his comments are still in the source I think :rolleyes: )<br /> *The author of the Interaction code.<br /> *Mych and Tarquin for posting stuff in the BU forum which I found useful.<br /> *Everyone on the Wiki and BUF-Coding and Mapping<br /> <br /> ===Bio ===<br /> <br /> Well, technically I'm unemployed. I finished High School about 4 or 5 weeks ago and am in the period between secondary and tertiary education. I've applied to complete a Diploma in Software Development which will lead into a Bachelor of Information Technology / Commerce.<br /> <br /> ==Guest Book ==<br /> <br /> '''EntropicLqd:''' Welcome to the Wiki - Enjoy your stay :)<br /> <br /> '''Tarquin:''' Hello &amp; welcome :D<br /> <br /> '''ZxAnPhOrIaN:''' Hello and welcome to the wiki! :) :tup:<br /> <br /> '''Oxygen:''' Thanks everyone, it's nice to be made welcome :) Group hug.<br /> <br /> '''ZxAnPhOrIaN:''' The wiki is ALWAYS a friendly place! ;) :tup:<br /> <br /> [[Category:Legacy Personal Page|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:Setting_Up_Subversion?diff=33900 Legacy:Setting Up Subversion 2009-01-09T07:26:57Z <p>Solarsys: </p> <hr /> <div>This document is intended to walk you through a basic [[Legacy:Subversion|Subversion]] setup for use in developing Unreal-related projects. If you follow these instructions, in no time you will have a Subversion repository set up to track changes you make to all of your project-related files. If you will be working with other developers on the same project, you may also want to proceed to [[Legacy:Setting Up A Subversion Server|Setting up a Subversion Server]] after reading this page, to see how to make your new repository accessible to other people as well.<br /> <br /> This document assumes you will be developing for an Unreal Tournament style of game such as [[Legacy:UT2004|UT2004]] and that you will be setting up your repository under Windows XP/2000/2003/etc. Many of the directions here will also apply to other cases, but you may need to do some tweaking.<br /> <br /> ==Download the Software==<br /> <br /> The first step is to download the tools you'll need:<br /> <br /> ===Subversion===<br /> <br /> This can be obtained from the Subversion web site (http://subversion.tigris.org/). A Windows installer is available under http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 (look for the latest EXE file).<br /> <br /> ===TortoiseSVN===<br /> <br /> While not strictly necessary (Subversion can be used as-is from the command line) you may also want to download the TortoiseSVN graphical client for Subversion, which allows Subversion to integrate nicely with the Windows file manager. This program can be obtained from the TortoiseSVN web site (http://tortoisesvn.tigris.org).<br /> <br /> The instructions here assume you will be using TortoiseSVN in addition to the basic Subversion package.<br /> <br /> ==Install the Software==<br /> <br /> If you downloaded one of the Windows installer files for Subversion, installing it should be a simple matter of double-clicking the installer and following the prompts. Likewise, the TortoiseSVN installer is pretty much the same deal.<br /> <br /> '''Note:''' You will need to reboot your computer after installing TortoiseSVN.<br /> <br /> ==Create a Repository Directory==<br /> <br /> First, you will need to create a folder to be used to hold all of your Subversion repositories. For the purposes of this example, we'll place our repositories under &lt;tt&gt;C:\Subversion&lt;/tt&gt; (you may want to place this on a drive with a fair amount of spare disk space).<br /> <br /> ==Create a First Repository==<br /> <br /> Now you will want at least one repository to store things in (that is the point of Subversion, after all). You can create as many repositories as you want under the main repository directory, but for now we'll start with one:<br /> <br /> # Open the directory you created for repositories (&lt;tt&gt;C:\Subversion&lt;/tt&gt;) in a Windows file browser window.<br /> # Create a new folder in this directory with the name you would like to give to your new repository (&lt;tt&gt;UT_work&lt;/tt&gt;).<br /> # Once the new folder is created, right-click on it. The pop-up window which appears should contain a &quot;TortoiseSVN&quot; option. Under this menu item should be several choices, including &quot;Create Repository here...&quot;<br /> # Choose &quot;TortoiseSVN-&gt;Create Repository here...&quot; from the menu. This will bring up a dialog box asking what type of repository to create.<br /> # Choose &quot;Native Filesystem (FSFS)&quot; (you can really choose either one, but the Native Filesystem form is potentially faster, and in some cases easier to work with. Note: Do ''not'' use a Berkeley DB repository if it will be located on a network drive. Bad Things(tm) will happen.).<br /> <br /> The new folder we just created is now a Subversion repository folder.<br /> <br /> Next, we will create a &quot;trunk&quot; directory in our new repository (this isn't strictly required, but it is conventional to do things this way, and makes things a lot easier later when you get into sophisticated aspects of Subversion like branching). Subversion repositories aren't like normal directories, however, so we can't just create a directory using the file manager. Instead, we will need to use TortoiseSVN's &quot;Repository Browser&quot;:<br /> <br /> # Right click on a file or folder anywhere in your system (doesn't matter where).<br /> # From the pop-up menu, select &quot;TortoiseSVN-&gt;Repo-Browser&quot;.<br /> # <br /> A dialog box will pop up asking you for the URL of the repository to use. Type the following:<br /> file:///C:/Subversion/UT_work<br /> <br /> (This is the URL of our new repository, which is how we'll need to refer to it with most Subversion commands. Note that it uses forward-slashes (/), not backslashes (\))<br /> <br /> # You should now see a &quot;Repository Browser&quot; window, with an expanded tree of folders (&lt;tt&gt;file:///C:&lt;/tt&gt;, &lt;tt&gt;Subversion&lt;/tt&gt;, and &lt;tt&gt;UT_work&lt;/tt&gt;). Right click on the &lt;tt&gt;UT_work&lt;/tt&gt; entry.<br /> # From the pop-up menu, select &quot;Create Folder...&quot;, and when it asks for the name, type &lt;tt&gt;trunk&lt;/tt&gt;<br /> # It will then ask you for a log message. This is where you describe why you're doing this for future reference. Since we're just doing initial setup here, put in something like &quot;Intitial Setup&quot; and click &quot;OK&quot;.<br /> <br /> If you now expand the &lt;tt&gt;UT_work&lt;/tt&gt; entry, you should see a &lt;tt&gt;trunk&lt;/tt&gt; folder underneath it. That's enough for a basic setup of our repository, time to move on to actually using it.<br /> <br /> {{innerbox| <br /> Alternately, you can use the Subversion command-line tools to create a new repository using the following commands:<br /> svnadmin create C:\Subversion\UT_work &amp;ndash;fs-type fsfs<br /> svn mkdir file:///C:/Subversion/UT_work/trunk<br /> <br /> (Don't create the &lt;tt&gt;UT_work&lt;/tt&gt; directory first, the &lt;tt&gt;svnadmin create&lt;/tt&gt; command will do it for you)<br /> <br /> <br /> <br /> }}<br /> <br /> ==Set up Your Working Directory==<br /> <br /> At this stage in the process, most Subversion documentation tells you that you should use the Subversion &quot;import&quot; command to import a current snapshot of your project tree into the repository. For most projects, this makes sense, because each project has its own separate set of directories with only its files. For Unreal development, however, the situation is a bit different because the files being worked on are usually scattered around several directories which contain a bunch of other files. If we're working on a map, for example, we don't want to import our whole &lt;tt&gt;Maps&lt;/tt&gt; directory into the repository, because that would include tons of stock files that really aren't part of the project we're working on (and don't need to be tracked), making the repository huge and difficult to work with.<br /> <br /> For this reason, we're going to diverge a bit here from the normal procedure for setting up Subversion repositories. The first thing we will do instead is just associate our working directories with the (empty) repository we just created, by doing a &quot;checkout&quot;.<br /> <br /> # Go into a file browser window and locate the main Unreal folder you'll be developing things under, which we want to be at the top level of our project (for example, &lt;tt&gt;C:\UT2004&lt;/tt&gt;).<br /> # Right-click on this folder and from the pop-up menu, select &quot;Checkout...&quot;<br /> # <br /> The &quot;Checkout&quot; dialog box will ask for the URL of the repository to use. Type the following and press &quot;OK&quot;:<br /> file:///C:/Subversion/UT_work/trunk<br /> <br /> <br /> <br /> (this is the URL which refers to the &quot;trunk&quot; portion of the &quot;UT_work&quot; repository we set up in the previous step)<br /> <br /> Once the checkout has completed, press F5 (refresh) in your file browser and you should see that the folder now shows up with a little green check-mark next to it. This indicates that the folder is associated with a Subversion repository, and that it is up to date (Note: sometimes the check mark doesn't show up in the tree view of the explorer).<br /> <br /> The next step is to actually populate our repository with the files that are part of our project:<br /> <br /> # Again, right-click on the working directory folder (&lt;tt&gt;C:\UT2004&lt;/tt&gt;)<br /> # You will see a new option in the pop-up menu named &quot;Commit...&quot;. Choose this option.<br /> # An &quot;Enter Log Message&quot; dialog box will appear. This is where you write a brief description of what the change is that you're applying to the repository. Enter something like &quot;Initial Import&quot; in the text box at the top (If you've already been doing a lot of work on this project before setting up the repository, it would probably also be a good idea to write a few notes about what the current state of things is at the moment so if you go back some time later and want to know what the state of development was at this point, you can look at the Subversion comments for this revision and get some idea.)<br /> # In the bottom part of the &quot;Enter Log Message&quot; window, you will see a listing of all of the files under this directory (and all of its subdirectories), with checkboxes next to them (this display can take a while to display while TortoiseSVN goes through all the directories to see what's there, so be patient). This is where you specify what files you want to check in to Subversion. Find the files that are part of your project and check their checkboxes.<br /> # When you've selected all of the right files, press the &quot;OK&quot; button. TortoiseSVN will show a &quot;SVN Commit&quot; dialog box with the status of the operation. Once it's completed, press &quot;OK&quot;.<br /> <br /> Congratulations! Your project files are now in a Subversion repository!<br /> <br /> ==Basics of Using Subversion==<br /> <br /> There are many documents available out there which are quite good at explaining how to use Subversion and TortoiseSVN (including the help files that come with both programs, which are available under your Start Programs menu), so we won't go into a lot of detail here, but here's the basic procedure of how things should work most of the time:<br /> <br /> * Work on your files the same way you always do.<br /> * Periodically, commit things back to the Subversion repository by right-clicking on your work directory and using the &quot;Commit...&quot; option.<br /> * If other people are working on files in the same repository, you will periodically need to update your versions to match what other people have committed to the repository. To do this, right-click on the work directory and choose &quot;Update&quot;.<br /> * Note that if you rename files, Subversion won't automatically know what you've done, and will just see that the files aren't there under the name it expects, and will assume they've been deleted (and mark them as such in the repository). If you want to rename a file, make sure you do the following instead:<br /> *# Right-click on the file, and select the &quot;TortoiseSVN&quot; submenu.<br /> *# Choose the &quot;Rename&quot; option.<br /> <br /> ==Setting up a Subversion Server==<br /> <br /> If all you want to do is keep backups and a change history for your own work, and you're the only one who's going to need to access your repository, then you can just stop here and use things as we've set them up so far.<br /> <br /> If, however, you are going to want other people to be able to access the repository you've just created (and thus take advantage of some of the most powerful features of Subversion), you will want to proceed to [[Legacy:Setting Up A Subversion Server|Setting up a Subversion Server]].<br /> <br /> [[Category:Legacy Tutorial|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Help:Talk_pages?diff=33899 Help:Talk pages 2009-01-09T07:26:36Z <p>Solarsys: </p> <hr /> <div>Every wiki page has an associated talk page which can be used for discussion and communicating with other users. Talk pages can be accessed by clicking the ''Discussion'' tab at the top of the page. Simply edit the page as normal to add your comment.<br /> <br /> A talk page is actually very similar to any other wiki page, but it is in the 'talk' namespace, to keep it separate from the articles in the 'main' namespace (See [[Help:namespaces]]) As with any wiki page, you can edit it, link to it, and view the editing history.<br /> <br /> == Editing conventions on talk pages ==<br /> Having discussions on a free-form wiki page will seem strange at first. It helps if everyone follows some simple editing conventions:<br /> <br /> * Always sign your name after your comments. Use the four tildas '&lt;tt&gt;&lt;nowiki&gt;~~~~&lt;/nowiki&gt;&lt;/tt&gt;' wiki syntax (or the toolbar button)<br /> * Start a new discussion with a &lt;tt&gt;&lt;nowiki&gt;==level 2 heading==&lt;/nowiki&gt;&lt;/tt&gt; at the bottom of the page (or use the '+' tab)<br /> * Indent replies with colons (':') at the beginning of the line.<br /> <br /> == Example ==<br /> Here is an example discussion, following the talk page conventions:<br /> <br /> {| align=&quot;center&quot; {{Prettytable}}<br /> |-<br /> |{{Hl2}} |'''Wiki text''' <br /> |{{Hl2}} |'''Formatted talk page'''<br /> |-<br /> |<br /> <br /> <br /> &lt;tt&gt;&lt;nowiki&gt;== More spiders information needed ==&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;This page has a lot of detail about the web, but I really dont understand a single word of it, and it doesn't mention the spider once -- [[User:Bob Smith|Bob Smith]] 18:07, 26 August 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;: No no. This page is talking about the &quot;world wide web&quot;. I have added a clarification at the top - [[User:Simon Brown|Simon Brown]] 11:21, 28 August 1991(UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;:: Oh I see... So what's the big deal about hyperlinked documents? Seems like a stupid idea to me. -- [[User:Bob Smith|Bob Smith]] 14:11, 3 September 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;::: Well I think we should have some information about it here on our wiki, but you're probably right. It'll never catch on. -- [[User:Simon Brown|Simon Brown]] 21:55, 3 September 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;<br /> |<br /> == More spiders information needed ==<br /> This page has a lot of detail about the web, but I really dont understand a single word of it, and it doesn't mention the spider once -- [[User:Bob Smith|Bob Smith]] 18:07, 26 August 1991 (UTC)<br /> : No no. This page is talking about the &quot;world wide web&quot;. I have added a clarification at the top - [[User:Simon Brown|Simon Brown]] 11:21, 28 August 1991(UTC)<br /> :: Oh I see... So what's the big deal about hyperlinked documents? Seems like a stupid idea to me. -- [[User:Bob Smith|Bob Smith]] 14:11, 3 September 1991 (UTC)<br /> ::: Well I think we should have some information about it here on our wiki, but you're probably right. It'll never catch on. -- [[User:Simon Brown|Simon Brown]] 21:55, 3 September 1991 (UTC)<br /> |}<br /> <br /> <br /> == Editing discussions ==<br /> Having discussions on a free-form wiki page will seem strange at first. It has some advantages over the conventional rigid forum format, but it can get a little messy. As with other wiki pages, anyone can help with tidying up discussions, to conform to the editing conventions e.g. add signatures and headings where they are missing.<br /> <br /> Clearly we also have the opportunity to edit other people's comments. It is generally bad etiquette to modify somebody else's wording (Better to just add your own comment with your corrections) But it can be acceptable to...<br /> <br /> ;Modify discussion headings<br /> :Change wording or append words to the discussion headings, to better describe the topic of discussion. Note that good descriptive headings become important when many discussions start to fill the page.<br /> ;Move discussions to a different page<br /> :If discussions are put in the wrong place on the wiki, and are better associated with different talk page, then you could just move the discussion by cut &amp; paste. This is potentially confusing, for the people posting, but can be important for keeping things tidy. You could leave the discussion in the wrong place for a few days/weeks grace before tidying it. You could leave a link behind explaining that a discussion was moved, or if not, you should link within the edit summary.<br /> ;Delete discussions when they are out-of-date<br /> :Discussions can often get left lying around on a talk page long after the issue is no longer relevant. It's usually a good idea to reply to saying &quot;I think this is now resolved&quot;, but sooner or later it's time to just blow away the old discussions (they are of course preserved in the editing history)<br /> ;Split a post into several discussions<br /> :It may appropriate to do this, if somebody has raised several points which need to be answered separately. However you should always be respectful to other people's words. Does their post still make sense if you split it up?<br /> <br /> == Building articles - Discussing articles ==<br /> It is usually best to keep focused on the task of building a wiki article, and use discussion pages only to support this process. The topic of conversation should generally revolve around what needs to be done to make the associated article better. Remember that editing the article itself is often a more effective means of communicating. It can be more difficult, requiring you to balance your views alongside those of others, but it can also be more rewarding. This is how the community of wiki editors will make progress. Often it will feel more natural to engage in heated debate on a talk page (or indeed any other contact channel) but in fact the wiki article itself can offer a powerful means of reaching middle-ground. Think about how to portray both sides of the argument (e.g. listing advantages and disadvantages) and you may find the debate evaporates.<br /> <br /> == User Talk pages ==<br /> A &quot;user talk page&quot; is a talk page associated with somebody's &quot;user page&quot; (See [[Help:User page]]) This is a place to leave messages for a particular wiki user.<br /> <br /> This can function as a kind of messaging system. Users receive a prominent notification when new messages have been left on their talk page. They may be notified by email as well, although this cannot always be relied upon (since the email notification feature must be activated by supplying a valid email address, and clicking a confirmation link). If you don't get a response to your user talk page message, try looking for other contact details which they may have supplied on their user page.<br /> <br /> Note that the messages are not private, and others can join in the conversation.<br /> <br /> [[Category:Help|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:View_Fog?diff=33898 Legacy:View Fog 2009-01-09T07:26:15Z <p>Solarsys: </p> <hr /> <div>'''View Fog''' is a simple method of adding [[Legacy:Fog|fog]] to a map or an area in a map. It works by simply tinting the rendered scene by a specified amount. View Fog is sometimes also referred to as &quot;fake fog&quot;. It uses practically no rendering resources, so it is very cheap resource-wise, but it is not that realistic. Often an underwater area will have a blueish view fog.<br /> <br /> ==Setting Up View Fog in Unreal Tournament==<br /> <br /> In [[Legacy:Unreal Tournament|Unreal Tournament]], view fog is specific to the zone containing the camera. It is specified by the ''ViewFlash'' and ''ViewFog'' variables in the zone's [[Legacy:ZoneInfo (UT)|ZoneInfo]]. Here's a sample configuration:<br /> <br /> {|<br /> <br /> |-<br /> |ViewFlash X<br /> |-0.5<br /> |-<br /> |ViewFlash Y<br /> |-0.5<br /> |-<br /> |ViewFlash Z<br /> |-0.5<br /> |-<br /> |ViewFog X<br /> |0.5<br /> |-<br /> |ViewFog Y<br /> |0.5<br /> |-<br /> |ViewFog Z<br /> |0.5<br /> |}<br /> <br /> ==Setting Up View Fog in UT2003==<br /> <br /> View Fog does not appear to work properly in [[Legacy:UT2003|UT2003]], however, the variables for it are still present so theoretically it may still work on some graphics hardware. View Fog is controlled by [[Legacy:PhysicsVolume|PhysicsVolume]]s in UT2003. Specifically, PhysicsVolumes are used. To set up View Fog, simply set the PhysicsVolume-&gt;ViewFog property to whatever color you want the screen to be tinted.<br /> <br /> '''Tarquin:''' so does it work or not?<br /> <br /> '''SuperApe:''' I'm wondering if the author meant to say ViewFlash doesn't work in UT200x, not ViewFog. Distance fog seems to work fine. But the issue is confused by the properties ViewFog and FlashFog in [[Legacy:DamageType|DamageType]]. I found this page through a search for that stuff.</div> Solarsys https://wiki.beyondunreal.com/Legacy:Offline_Wiki?diff=33897 Legacy:Offline Wiki 2009-01-09T07:25:24Z <p>Solarsys: </p> <hr /> <div>{{innerbox|&quot;...insanely useful...&quot; &amp;ndash; '''BeyondUnreal'''<br /> <br /> }}<br /> <br /> If you can't spend as much time surfing the Unreal Wiki as you like because your Internet provider charges you by the minute or you don't even have an Internet connection at home, we're providing the entire Unreal Wiki content as a single download for you.<br /> <br /> * The offline Wiki allows you to conveniently '''browse the entire Unreal Wiki content''' from your local hard disk without requiring an Internet connection.<br /> <br /> * All '''dynamic features''' (such as searching the Wiki, editing pages, and viewing older page revisions or version diffs) lead back to the live online Wiki.<br /> <br /> * Given that dozens of pages are added and changed every day on the Unreal Wiki, your offline copy is bound to be '''outdated''' after a while. Be sure to check back for updates regularly on [[Legacy:Recent Changes|Recent Changes]].<br /> <br /> Note that even though the content on Unreal Wiki is free for use, it is nonetheless subject to our [[Legacy:Project Copyright|copyright statement]]. The offline Wiki download is '''for private use only''' and not to be distributed commercially.<br /> <br /> ==Download the Unreal Wiki==<br /> <br /> You can obtain the downloadable Unreal Wiki from the following location:<br /> <br /> {|<br /> |-<br /> |'''BeyondUnreal.com'''<br /> |[http://download.beyondunreal.com/fileworks.php/wiki/unrealwiki-offline.zip unrealwiki-offline.zip]<br /> |}<br /> <br /> '''Note:''' This version of the offline Wiki is the last-generated version of the old UseMod-powered Unreal Wiki from April 5 2008.<br /> <br /> ==Installation==<br /> <br /> * Extract the archive you downloaded into a directory of your liking.<br /> <br /> * Start browsing your offline Wiki copy by opening '''(start).html''' or '''(start)''' in your web browser.<br /> <br /> Every page on the offline Wiki has a link to its live online version at the very bottom of the page, along with a timestamp telling you when the copy was generated from the live Wiki.<br /> <br /> The offline Wiki should be compatible with all platforms that support .zip files and long file names up to 32 characters. If you have any problems downloading or using the offline Wiki, leave a message on the [[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}/Discuss|discussion page]].<br /> <br /> ----<br /> <br /> [[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}/Discuss]] this page.</div> Solarsys https://wiki.beyondunreal.com/Legacy:Project_FAQ?diff=33896 Legacy:Project FAQ 2009-01-09T07:24:58Z <p>Solarsys: </p> <hr /> <div>Frequently asked questions about the project. Feel free to:<br /> * post questions about the project<br /> * post answers to new questions<br /> * add multiple answers to questions<br /> <br /> ; I want to write about the next generation Unreal engine? How am I to organise it, and where to put it? : Start at [[Legacy:UT2003|UT2003]]. You'll find the current page creation and editing policy on UT2003 specifics.<br /> <br /> ; What is this site? Aren't there enough Unreal Editing sites already? : Yes! But this site is not &quot;just another tute site.&quot; This site began with the aim to consolidate a fractured knowledge base: It's now two years since Unreal Tournament has been released, and editing info is still hard to find on the web. I think we can change that.&lt;br /&gt;I also think that when the next generation of Unreal games is released it would be better for the mapping community if everyone's titbits of information about the new engine were grouped together, instead of scattered around. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Why are so many pages unfinished? : Articles don't have a single author. If a page seems unfinished to you, add to it. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; How do I search the site? : There is a search box at the top and bottom of every page on this site. Just enter some terms (separated by blanks) and hit Enter. The Wiki will show you the pages that match your query best. (Enclose terms that contain blanks of their own in double quotes.)<br /> <br /> ; How does it work? :This is a completely open project. Everybody &amp; anybody can contribute. You are an editor: you can edit any page by clicking the link at the bottom and you can add new pages. You have as much say the content of the site as I do.&lt;br /&gt;The site grows quickly because anyone can add or change material straight away. To get started, see [[Legacy:New Contributors Quick Start|New Contributors Quick Start]]. [[Legacy:Wiki Markup|Wiki markup]] is very simple to learn. Go and see [http://www.wikipedia.com/ Wikipedia] for an idea of what can be accomplished with the Wiki system. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; What are all the ? links? : Those are links that people have made to pages that don't yet exist on the system. When you type text &lt;nowiki&gt;[[Legacy:Like This|like this]]&lt;/nowiki&gt; in a page, Wiki creates a link. If the text in the double square brackets isn't the name of an existing page, the new link will lead to a form where the new page can be created. Once the page has been created, the text will become normal link. See also [[Legacy:Wiki FAQ|Wiki FAQ]] &amp;ndash; Tarquin<br /> <br /> ; Anyone can edit my text? Ewwww! : Weird, isn't it? The first article I submitted to Wikipedia was edited within a day or so, and even though I knew it would happen, it was very strange seeing pieces of my text embedded in somebody else's. you get used to it. Changes or additions to the wiki become part of a whole that is bigger than any single writer. &amp;ndash; Tarquin<br /> <br /> ; Isn't it all going to turn into one big ''horrible'' mess? : Probably. But it's fairly easy to re-organize pages or move material from one to another.&lt;br /&gt;For example, at the time of writing (only two days into the project) we have pages called &quot;Brush&quot; and &quot;Brushes&quot;. We also seem to be tending towards encyclopaedia-style article headers, rather than titles like &quot;how to apply lighting&quot;. Neither of these things is a problem. It's also fine to have articles that don't belong in a strict hierarchy. We can organize material later &amp;ndash; if you see a link which you think would be better off in a different place, you can move it. &amp;ndash; Tarquin<br /> <br /> ; I'm not l33t enough to contribute. :Anyone can help. If you've ever opened UnrealEd, you're bound to know something. If you've only opened it once, you have the beginner's perspective &amp;ndash; if the articles aimed at beginners don't make sense to you, ''change'' them so they do! &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Would you like an article on (topic)? Could you add a link to (site)? : If you think it's relevant to the content of this Wiki, then yes we probably do, but the real answer to the first question is: it's up to you. The answer to the second question is: No. You can add it yourself. :D<br /> <br /> ; What if idiots damage the site? : Other Wiki sites say that this isn't a problem. And, actually, we have a full-time Idiot-Proofer on Staff. Admittedly, gaming communities do seem to have their share of idiots. The server keeps past versions of articles, so while anyone can damage the site, anyone who spots damage can immediately fix it &amp;ndash; look for the &quot;View Other Revisions&quot; link. Editing and saving a past revision over-writes the current version of a page.&lt;br /&gt;Admins keep zipped backups of the entire site as an extra precaution. IPs are publicly logged on the [[Legacy:Recent Changes|Recent Changes]] pages, and if necessary they can be blocked. Admins can also lock the entire site, making it read-only. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> : &lt;i&gt;see also [[Legacy:Wiki Protection|Wiki Protection]] for info on how you can help&lt;/i&gt;<br /> <br /> ; Do I need to register? :No. Registration is optional. All it will do is show your user name on the [[Legacy:Recent Changes|Recent Changes]] list instead of your IP, and save your preferences for viewing the site. Click on ''preferences'' and enter a name and password to register.&lt;br /&gt;You're also invited to create a [[:Category:Legacy Personal Page|personal page]] for yourself. If you like, you can make your name in the list a wiki link and create a page for your contact details, biog, and guestbook. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Who invented Wiki? Who wrote this script? :The very first Wiki is the [http://www.c2.com/cgi/wiki?WelcomeVisitors Portland Pattern Repository]. It's usually called WikiWiki, or Ward's Wiki after its creator. This site runs on a perl script called [http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki UseModWiki] created by Clifford Adams, with various nifty patches and Mychaeel's markup parser, [[Legacy:Wookee|Wookee]].<br /> <br /> ; Who runs this site? :You do. There's a list of people working on the site at [[:Category:Legacy Personal Page]], you're free to add your name to the list. The content of the site is decided by people who decide to contribute. The topics list on the main page is gradually being shaped by individual additions. If you want to add something that doesn't fall under one of the headings, add a new heading.&lt;br /&gt;(The site is hosted by BeyondUnreal, current [[Legacy:Wiki Admin|Wiki admin]]s are Tarquin and [[Legacy:Mychaeel|Mychaeel]].)<br /> <br /> ; I have an idea for a radical new organization of the site : Try it! We can always switch back if it doesn't work.<br /> <br /> ; What do admins do? : As little as possible. The only things [[Legacy:Wiki Admin|wiki admin]]s can do that you can't are:<br /> ; * Rename pages (anyone can port content to a new page, but this function renames all the links throughout the site too)<br /> ; * Delete pages (same again)<br /> ; * Ban IPs<br /> ; * Lock the entire site (see [[Legacy:Wiki Protection|Wiki Protection]])<br /> <br /> ; How do I become an admin? : Technically, by being told the admin password by another admin.<br /> : But &amp;ndash; why do you want to be one, in the first place? There's no special honor to it and there's little an admin can do that a &quot;normal user&quot; can't (see the question above). Admin privileges are a technical necessity, and they come with a responsibility; so if you want to be an Unreal Wiki admin, you'll be only likely to convince one of the current admins if there's an actual need for another admin and if they have the impression that you're trustworthy (in Unreal Wiki terms). &amp;rarr;[[Legacy:Mychaeel|Mychaeel]] <br /> : I don't think there's a need for new admins. I use my admin powers maybe once a week or even less, for the occasional page renaming. Editorial control is something everyone already has. &amp;rarr;[[Legacy:Tarquin|Tarquin]] <br /> <br /> ----<br /> <br /> Feel free to add questions, or add new answers to existing questions.<br /> <br /> ==Related Topics==<br /> * [[Legacy:New Contributors Quick Start|New Contributors Quick Start]]<br /> * [[Legacy:Wiki FAQ|Wiki FAQ]]<br /> * [[Legacy:MetaTopics|MetaTopics]]<br /> * [[Legacy:Project Discussion|Project Discussion]]<br /> * [[Legacy:Unreal Mapping FAQ|Unreal Mapping FAQ]]<br /> <br /> [[Category:Legacy FAQ|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Category:Legacy_Delete_Reply_When_You_See_It?diff=33880 Category:Legacy Delete Reply When You See It 2009-01-08T20:37:45Z <p>Solarsys: Undo revision 33871 by OudomZeldr (Talk)</p> <hr /> <div>{{Legacy category}}<br /> A [[Legacy:WikiTag|WikiTag]].<br /> <br /> It works like this:<br /> <br /> :Person A writes: what does ''foo'' do?<br /> :Person B answers: it does what it says above. [[:Category:Legacy Delete Reply When You See It]].<br /> :''Person A reads the reply, sees the tag, and removes both question and answer from the page.''<br /> <br /> No-one other than Person A should act on this Tag. '''However:'''<br /> * if it's been ''weeks''... I mean ''weeks''... <br /> * anybody who sees it might decide to change the tag to [[:Category:Legacy Refactor Me]].</div> Solarsys https://wiki.beyondunreal.com/Legacy:Offline_Wiki?diff=33879 Legacy:Offline Wiki 2009-01-08T20:36:55Z <p>Solarsys: Undo revision 33866 by OulilAouro (Talk)</p> <hr /> <div>{{innerbox|&quot;...insanely useful...&quot; &amp;ndash; '''BeyondUnreal'''<br /> <br /> }}<br /> <br /> If you can't spend as much time surfing the Unreal Wiki as you like because your Internet provider charges you by the minute or you don't even have an Internet connection at home, we're providing the entire Unreal Wiki content as a single download for you.<br /> <br /> * The offline Wiki allows you to conveniently '''browse the entire Unreal Wiki content''' from your local hard disk without requiring an Internet connection.<br /> <br /> * All '''dynamic features''' (such as searching the Wiki, editing pages, and viewing older page revisions or version diffs) lead back to the live online Wiki.<br /> <br /> * Given that dozens of pages are added and changed every day on the Unreal Wiki, your offline copy is bound to be '''outdated''' after a while. Be sure to check back for updates regularly on [[Legacy:Recent Changes|Recent Changes]].<br /> <br /> Note that even though the content on Unreal Wiki is free for use, it is nonetheless subject to our [[Legacy:Project Copyright|copyright statement]]. The offline Wiki download is '''for private use only''' and not to be distributed commercially.<br /> <br /> ==Download the Unreal Wiki==<br /> <br /> You can obtain the downloadable Unreal Wiki from the following location:<br /> <br /> {|<br /> |-<br /> |'''BeyondUnreal.com'''<br /> |[http://download.beyondunreal.com/fileworks.php/wiki/unrealwiki-offline.zip unrealwiki-offline.zip]<br /> |}<br /> <br /> '''Note:''' This version of the offline Wiki is the last-generated version of the old UseMod-powered Unreal Wiki from April 5 2008.<br /> <br /> ==Installation==<br /> <br /> * Extract the archive you downloaded into a directory of your liking.<br /> <br /> * Start browsing your offline Wiki copy by opening '''(start).html''' or '''(start)''' in your web browser.<br /> <br /> Every page on the offline Wiki has a link to its live online version at the very bottom of the page, along with a timestamp telling you when the copy was generated from the live Wiki.<br /> <br /> The offline Wiki should be compatible with all platforms that support .zip files and long file names up to 32 characters. If you have any problems downloading or using the offline Wiki, leave a message on the [[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}/Discuss|discussion page]].<br /> <br /> ----<br /> <br /> [[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}/Discuss]] this page.</div> Solarsys https://wiki.beyondunreal.com/Help:Talk_pages?diff=33878 Help:Talk pages 2009-01-08T20:36:37Z <p>Solarsys: Undo revision 33867 by LetonOmona (Talk)</p> <hr /> <div>Every wiki page has an associated talk page which can be used for discussion and communicating with other users. Talk pages can be accessed by clicking the ''Discussion'' tab at the top of the page. Simply edit the page as normal to add your comment.<br /> <br /> A talk page is actually very similar to any other wiki page, but it is in the 'talk' namespace, to keep it separate from the articles in the 'main' namespace (See [[Help:namespaces]]) As with any wiki page, you can edit it, link to it, and view the editing history.<br /> <br /> == Editing conventions on talk pages ==<br /> Having discussions on a free-form wiki page will seem strange at first. It helps if everyone follows some simple editing conventions:<br /> <br /> * Always sign your name after your comments. Use the four tildas '&lt;tt&gt;&lt;nowiki&gt;~~~~&lt;/nowiki&gt;&lt;/tt&gt;' wiki syntax (or the toolbar button)<br /> * Start a new discussion with a &lt;tt&gt;&lt;nowiki&gt;==level 2 heading==&lt;/nowiki&gt;&lt;/tt&gt; at the bottom of the page (or use the '+' tab)<br /> * Indent replies with colons (':') at the beginning of the line.<br /> <br /> == Example ==<br /> Here is an example discussion, following the talk page conventions:<br /> <br /> {| align=&quot;center&quot; {{Prettytable}}<br /> |-<br /> |{{Hl2}} |'''Wiki text''' <br /> |{{Hl2}} |'''Formatted talk page'''<br /> |-<br /> |<br /> <br /> <br /> &lt;tt&gt;&lt;nowiki&gt;== More spiders information needed ==&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;This page has a lot of detail about the web, but I really dont understand a single word of it, and it doesn't mention the spider once -- [[User:Bob Smith|Bob Smith]] 18:07, 26 August 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;: No no. This page is talking about the &quot;world wide web&quot;. I have added a clarification at the top - [[User:Simon Brown|Simon Brown]] 11:21, 28 August 1991(UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;:: Oh I see... So what's the big deal about hyperlinked documents? Seems like a stupid idea to me. -- [[User:Bob Smith|Bob Smith]] 14:11, 3 September 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;&lt;br/&gt;<br /> &lt;tt&gt;&lt;nowiki&gt;::: Well I think we should have some information about it here on our wiki, but you're probably right. It'll never catch on. -- [[User:Simon Brown|Simon Brown]] 21:55, 3 September 1991 (UTC)&lt;/nowiki&gt;&lt;/tt&gt;<br /> |<br /> == More spiders information needed ==<br /> This page has a lot of detail about the web, but I really dont understand a single word of it, and it doesn't mention the spider once -- [[User:Bob Smith|Bob Smith]] 18:07, 26 August 1991 (UTC)<br /> : No no. This page is talking about the &quot;world wide web&quot;. I have added a clarification at the top - [[User:Simon Brown|Simon Brown]] 11:21, 28 August 1991(UTC)<br /> :: Oh I see... So what's the big deal about hyperlinked documents? Seems like a stupid idea to me. -- [[User:Bob Smith|Bob Smith]] 14:11, 3 September 1991 (UTC)<br /> ::: Well I think we should have some information about it here on our wiki, but you're probably right. It'll never catch on. -- [[User:Simon Brown|Simon Brown]] 21:55, 3 September 1991 (UTC)<br /> |}<br /> <br /> <br /> == Editing discussions ==<br /> Having discussions on a free-form wiki page will seem strange at first. It has some advantages over the conventional rigid forum format, but it can get a little messy. As with other wiki pages, anyone can help with tidying up discussions, to conform to the editing conventions e.g. add signatures and headings where they are missing.<br /> <br /> Clearly we also have the opportunity to edit other people's comments. It is generally bad etiquette to modify somebody else's wording (Better to just add your own comment with your corrections) But it can be acceptable to...<br /> <br /> ;Modify discussion headings<br /> :Change wording or append words to the discussion headings, to better describe the topic of discussion. Note that good descriptive headings become important when many discussions start to fill the page.<br /> ;Move discussions to a different page<br /> :If discussions are put in the wrong place on the wiki, and are better associated with different talk page, then you could just move the discussion by cut &amp; paste. This is potentially confusing, for the people posting, but can be important for keeping things tidy. You could leave the discussion in the wrong place for a few days/weeks grace before tidying it. You could leave a link behind explaining that a discussion was moved, or if not, you should link within the edit summary.<br /> ;Delete discussions when they are out-of-date<br /> :Discussions can often get left lying around on a talk page long after the issue is no longer relevant. It's usually a good idea to reply to saying &quot;I think this is now resolved&quot;, but sooner or later it's time to just blow away the old discussions (they are of course preserved in the editing history)<br /> ;Split a post into several discussions<br /> :It may appropriate to do this, if somebody has raised several points which need to be answered separately. However you should always be respectful to other people's words. Does their post still make sense if you split it up?<br /> <br /> == Building articles - Discussing articles ==<br /> It is usually best to keep focused on the task of building a wiki article, and use discussion pages only to support this process. The topic of conversation should generally revolve around what needs to be done to make the associated article better. Remember that editing the article itself is often a more effective means of communicating. It can be more difficult, requiring you to balance your views alongside those of others, but it can also be more rewarding. This is how the community of wiki editors will make progress. Often it will feel more natural to engage in heated debate on a talk page (or indeed any other contact channel) but in fact the wiki article itself can offer a powerful means of reaching middle-ground. Think about how to portray both sides of the argument (e.g. listing advantages and disadvantages) and you may find the debate evaporates.<br /> <br /> == User Talk pages ==<br /> A &quot;user talk page&quot; is a talk page associated with somebody's &quot;user page&quot; (See [[Help:User page]]) This is a place to leave messages for a particular wiki user.<br /> <br /> This can function as a kind of messaging system. Users receive a prominent notification when new messages have been left on their talk page. They may be notified by email as well, although this cannot always be relied upon (since the email notification feature must be activated by supplying a valid email address, and clicking a confirmation link). If you don't get a response to your user talk page message, try looking for other contact details which they may have supplied on their user page.<br /> <br /> Note that the messages are not private, and others can join in the conversation.<br /> <br /> [[Category:Help|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:View_Fog?diff=33877 Legacy:View Fog 2009-01-08T20:36:19Z <p>Solarsys: Undo revision 33868 by CnaliVisit (Talk)</p> <hr /> <div>'''View Fog''' is a simple method of adding [[Legacy:Fog|fog]] to a map or an area in a map. It works by simply tinting the rendered scene by a specified amount. View Fog is sometimes also referred to as &quot;fake fog&quot;. It uses practically no rendering resources, so it is very cheap resource-wise, but it is not that realistic. Often an underwater area will have a blueish view fog.<br /> <br /> ==Setting Up View Fog in Unreal Tournament==<br /> <br /> In [[Legacy:Unreal Tournament|Unreal Tournament]], view fog is specific to the zone containing the camera. It is specified by the ''ViewFlash'' and ''ViewFog'' variables in the zone's [[Legacy:ZoneInfo (UT)|ZoneInfo]]. Here's a sample configuration:<br /> <br /> {|<br /> <br /> |-<br /> |ViewFlash X<br /> |-0.5<br /> |-<br /> |ViewFlash Y<br /> |-0.5<br /> |-<br /> |ViewFlash Z<br /> |-0.5<br /> |-<br /> |ViewFog X<br /> |0.5<br /> |-<br /> |ViewFog Y<br /> |0.5<br /> |-<br /> |ViewFog Z<br /> |0.5<br /> |}<br /> <br /> ==Setting Up View Fog in UT2003==<br /> <br /> View Fog does not appear to work properly in [[Legacy:UT2003|UT2003]], however, the variables for it are still present so theoretically it may still work on some graphics hardware. View Fog is controlled by [[Legacy:PhysicsVolume|PhysicsVolume]]s in UT2003. Specifically, PhysicsVolumes are used. To set up View Fog, simply set the PhysicsVolume-&gt;ViewFog property to whatever color you want the screen to be tinted.<br /> <br /> '''Tarquin:''' so does it work or not?<br /> <br /> '''SuperApe:''' I'm wondering if the author meant to say ViewFlash doesn't work in UT200x, not ViewFog. Distance fog seems to work fine. But the issue is confused by the properties ViewFog and FlashFog in [[Legacy:DamageType|DamageType]]. I found this page through a search for that stuff.</div> Solarsys https://wiki.beyondunreal.com/Legacy:Setting_Up_Subversion?diff=33876 Legacy:Setting Up Subversion 2009-01-08T20:36:02Z <p>Solarsys: Undo revision 33869 by BasliRorac (Talk)</p> <hr /> <div>This document is intended to walk you through a basic [[Legacy:Subversion|Subversion]] setup for use in developing Unreal-related projects. If you follow these instructions, in no time you will have a Subversion repository set up to track changes you make to all of your project-related files. If you will be working with other developers on the same project, you may also want to proceed to [[Legacy:Setting Up A Subversion Server|Setting up a Subversion Server]] after reading this page, to see how to make your new repository accessible to other people as well.<br /> <br /> This document assumes you will be developing for an Unreal Tournament style of game such as [[Legacy:UT2004|UT2004]] and that you will be setting up your repository under Windows XP/2000/2003/etc. Many of the directions here will also apply to other cases, but you may need to do some tweaking.<br /> <br /> ==Download the Software==<br /> <br /> The first step is to download the tools you'll need:<br /> <br /> ===Subversion===<br /> <br /> This can be obtained from the Subversion web site (http://subversion.tigris.org/). A Windows installer is available under http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=91 (look for the latest EXE file).<br /> <br /> ===TortoiseSVN===<br /> <br /> While not strictly necessary (Subversion can be used as-is from the command line) you may also want to download the TortoiseSVN graphical client for Subversion, which allows Subversion to integrate nicely with the Windows file manager. This program can be obtained from the TortoiseSVN web site (http://tortoisesvn.tigris.org).<br /> <br /> The instructions here assume you will be using TortoiseSVN in addition to the basic Subversion package.<br /> <br /> ==Install the Software==<br /> <br /> If you downloaded one of the Windows installer files for Subversion, installing it should be a simple matter of double-clicking the installer and following the prompts. Likewise, the TortoiseSVN installer is pretty much the same deal.<br /> <br /> '''Note:''' You will need to reboot your computer after installing TortoiseSVN.<br /> <br /> ==Create a Repository Directory==<br /> <br /> First, you will need to create a folder to be used to hold all of your Subversion repositories. For the purposes of this example, we'll place our repositories under &lt;tt&gt;C:\Subversion&lt;/tt&gt; (you may want to place this on a drive with a fair amount of spare disk space).<br /> <br /> ==Create a First Repository==<br /> <br /> Now you will want at least one repository to store things in (that is the point of Subversion, after all). You can create as many repositories as you want under the main repository directory, but for now we'll start with one:<br /> <br /> # Open the directory you created for repositories (&lt;tt&gt;C:\Subversion&lt;/tt&gt;) in a Windows file browser window.<br /> # Create a new folder in this directory with the name you would like to give to your new repository (&lt;tt&gt;UT_work&lt;/tt&gt;).<br /> # Once the new folder is created, right-click on it. The pop-up window which appears should contain a &quot;TortoiseSVN&quot; option. Under this menu item should be several choices, including &quot;Create Repository here...&quot;<br /> # Choose &quot;TortoiseSVN-&gt;Create Repository here...&quot; from the menu. This will bring up a dialog box asking what type of repository to create.<br /> # Choose &quot;Native Filesystem (FSFS)&quot; (you can really choose either one, but the Native Filesystem form is potentially faster, and in some cases easier to work with. Note: Do ''not'' use a Berkeley DB repository if it will be located on a network drive. Bad Things(tm) will happen.).<br /> <br /> The new folder we just created is now a Subversion repository folder.<br /> <br /> Next, we will create a &quot;trunk&quot; directory in our new repository (this isn't strictly required, but it is conventional to do things this way, and makes things a lot easier later when you get into sophisticated aspects of Subversion like branching). Subversion repositories aren't like normal directories, however, so we can't just create a directory using the file manager. Instead, we will need to use TortoiseSVN's &quot;Repository Browser&quot;:<br /> <br /> # Right click on a file or folder anywhere in your system (doesn't matter where).<br /> # From the pop-up menu, select &quot;TortoiseSVN-&gt;Repo-Browser&quot;.<br /> # <br /> A dialog box will pop up asking you for the URL of the repository to use. Type the following:<br /> file:///C:/Subversion/UT_work<br /> <br /> (This is the URL of our new repository, which is how we'll need to refer to it with most Subversion commands. Note that it uses forward-slashes (/), not backslashes (\))<br /> <br /> # You should now see a &quot;Repository Browser&quot; window, with an expanded tree of folders (&lt;tt&gt;file:///C:&lt;/tt&gt;, &lt;tt&gt;Subversion&lt;/tt&gt;, and &lt;tt&gt;UT_work&lt;/tt&gt;). Right click on the &lt;tt&gt;UT_work&lt;/tt&gt; entry.<br /> # From the pop-up menu, select &quot;Create Folder...&quot;, and when it asks for the name, type &lt;tt&gt;trunk&lt;/tt&gt;<br /> # It will then ask you for a log message. This is where you describe why you're doing this for future reference. Since we're just doing initial setup here, put in something like &quot;Intitial Setup&quot; and click &quot;OK&quot;.<br /> <br /> If you now expand the &lt;tt&gt;UT_work&lt;/tt&gt; entry, you should see a &lt;tt&gt;trunk&lt;/tt&gt; folder underneath it. That's enough for a basic setup of our repository, time to move on to actually using it.<br /> <br /> {{innerbox| <br /> Alternately, you can use the Subversion command-line tools to create a new repository using the following commands:<br /> svnadmin create C:\Subversion\UT_work &amp;ndash;fs-type fsfs<br /> svn mkdir file:///C:/Subversion/UT_work/trunk<br /> <br /> (Don't create the &lt;tt&gt;UT_work&lt;/tt&gt; directory first, the &lt;tt&gt;svnadmin create&lt;/tt&gt; command will do it for you)<br /> <br /> <br /> <br /> }}<br /> <br /> ==Set up Your Working Directory==<br /> <br /> At this stage in the process, most Subversion documentation tells you that you should use the Subversion &quot;import&quot; command to import a current snapshot of your project tree into the repository. For most projects, this makes sense, because each project has its own separate set of directories with only its files. For Unreal development, however, the situation is a bit different because the files being worked on are usually scattered around several directories which contain a bunch of other files. If we're working on a map, for example, we don't want to import our whole &lt;tt&gt;Maps&lt;/tt&gt; directory into the repository, because that would include tons of stock files that really aren't part of the project we're working on (and don't need to be tracked), making the repository huge and difficult to work with.<br /> <br /> For this reason, we're going to diverge a bit here from the normal procedure for setting up Subversion repositories. The first thing we will do instead is just associate our working directories with the (empty) repository we just created, by doing a &quot;checkout&quot;.<br /> <br /> # Go into a file browser window and locate the main Unreal folder you'll be developing things under, which we want to be at the top level of our project (for example, &lt;tt&gt;C:\UT2004&lt;/tt&gt;).<br /> # Right-click on this folder and from the pop-up menu, select &quot;Checkout...&quot;<br /> # <br /> The &quot;Checkout&quot; dialog box will ask for the URL of the repository to use. Type the following and press &quot;OK&quot;:<br /> file:///C:/Subversion/UT_work/trunk<br /> <br /> <br /> <br /> (this is the URL which refers to the &quot;trunk&quot; portion of the &quot;UT_work&quot; repository we set up in the previous step)<br /> <br /> Once the checkout has completed, press F5 (refresh) in your file browser and you should see that the folder now shows up with a little green check-mark next to it. This indicates that the folder is associated with a Subversion repository, and that it is up to date (Note: sometimes the check mark doesn't show up in the tree view of the explorer).<br /> <br /> The next step is to actually populate our repository with the files that are part of our project:<br /> <br /> # Again, right-click on the working directory folder (&lt;tt&gt;C:\UT2004&lt;/tt&gt;)<br /> # You will see a new option in the pop-up menu named &quot;Commit...&quot;. Choose this option.<br /> # An &quot;Enter Log Message&quot; dialog box will appear. This is where you write a brief description of what the change is that you're applying to the repository. Enter something like &quot;Initial Import&quot; in the text box at the top (If you've already been doing a lot of work on this project before setting up the repository, it would probably also be a good idea to write a few notes about what the current state of things is at the moment so if you go back some time later and want to know what the state of development was at this point, you can look at the Subversion comments for this revision and get some idea.)<br /> # In the bottom part of the &quot;Enter Log Message&quot; window, you will see a listing of all of the files under this directory (and all of its subdirectories), with checkboxes next to them (this display can take a while to display while TortoiseSVN goes through all the directories to see what's there, so be patient). This is where you specify what files you want to check in to Subversion. Find the files that are part of your project and check their checkboxes.<br /> # When you've selected all of the right files, press the &quot;OK&quot; button. TortoiseSVN will show a &quot;SVN Commit&quot; dialog box with the status of the operation. Once it's completed, press &quot;OK&quot;.<br /> <br /> Congratulations! Your project files are now in a Subversion repository!<br /> <br /> ==Basics of Using Subversion==<br /> <br /> There are many documents available out there which are quite good at explaining how to use Subversion and TortoiseSVN (including the help files that come with both programs, which are available under your Start Programs menu), so we won't go into a lot of detail here, but here's the basic procedure of how things should work most of the time:<br /> <br /> * Work on your files the same way you always do.<br /> * Periodically, commit things back to the Subversion repository by right-clicking on your work directory and using the &quot;Commit...&quot; option.<br /> * If other people are working on files in the same repository, you will periodically need to update your versions to match what other people have committed to the repository. To do this, right-click on the work directory and choose &quot;Update&quot;.<br /> * Note that if you rename files, Subversion won't automatically know what you've done, and will just see that the files aren't there under the name it expects, and will assume they've been deleted (and mark them as such in the repository). If you want to rename a file, make sure you do the following instead:<br /> *# Right-click on the file, and select the &quot;TortoiseSVN&quot; submenu.<br /> *# Choose the &quot;Rename&quot; option.<br /> <br /> ==Setting up a Subversion Server==<br /> <br /> If all you want to do is keep backups and a change history for your own work, and you're the only one who's going to need to access your repository, then you can just stop here and use things as we've set them up so far.<br /> <br /> If, however, you are going to want other people to be able to access the repository you've just created (and thus take advantage of some of the most powerful features of Subversion), you will want to proceed to [[Legacy:Setting Up A Subversion Server|Setting up a Subversion Server]].<br /> <br /> [[Category:Legacy Tutorial|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:Project_FAQ?diff=33875 Legacy:Project FAQ 2009-01-08T20:35:32Z <p>Solarsys: Undo revision 33870 by VieltGetel (Talk)</p> <hr /> <div>Frequently asked questions about the project. Feel free to:<br /> * post questions about the project<br /> * post answers to new questions<br /> * add multiple answers to questions<br /> <br /> ; I want to write about the next generation Unreal engine? How am I to organise it, and where to put it? : Start at [[Legacy:UT2003|UT2003]]. You'll find the current page creation and editing policy on UT2003 specifics.<br /> <br /> ; What is this site? Aren't there enough Unreal Editing sites already? : Yes! But this site is not &quot;just another tute site.&quot; This site began with the aim to consolidate a fractured knowledge base: It's now two years since Unreal Tournament has been released, and editing info is still hard to find on the web. I think we can change that.&lt;br /&gt;I also think that when the next generation of Unreal games is released it would be better for the mapping community if everyone's titbits of information about the new engine were grouped together, instead of scattered around. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Why are so many pages unfinished? : Articles don't have a single author. If a page seems unfinished to you, add to it. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; How do I search the site? : There is a search box at the top and bottom of every page on this site. Just enter some terms (separated by blanks) and hit Enter. The Wiki will show you the pages that match your query best. (Enclose terms that contain blanks of their own in double quotes.)<br /> <br /> ; How does it work? :This is a completely open project. Everybody &amp; anybody can contribute. You are an editor: you can edit any page by clicking the link at the bottom and you can add new pages. You have as much say the content of the site as I do.&lt;br /&gt;The site grows quickly because anyone can add or change material straight away. To get started, see [[Legacy:New Contributors Quick Start|New Contributors Quick Start]]. [[Legacy:Wiki Markup|Wiki markup]] is very simple to learn. Go and see [http://www.wikipedia.com/ Wikipedia] for an idea of what can be accomplished with the Wiki system. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; What are all the ? links? : Those are links that people have made to pages that don't yet exist on the system. When you type text &lt;nowiki&gt;[[Legacy:Like This|like this]]&lt;/nowiki&gt; in a page, Wiki creates a link. If the text in the double square brackets isn't the name of an existing page, the new link will lead to a form where the new page can be created. Once the page has been created, the text will become normal link. See also [[Legacy:Wiki FAQ|Wiki FAQ]] &amp;ndash; Tarquin<br /> <br /> ; Anyone can edit my text? Ewwww! : Weird, isn't it? The first article I submitted to Wikipedia was edited within a day or so, and even though I knew it would happen, it was very strange seeing pieces of my text embedded in somebody else's. you get used to it. Changes or additions to the wiki become part of a whole that is bigger than any single writer. &amp;ndash; Tarquin<br /> <br /> ; Isn't it all going to turn into one big ''horrible'' mess? : Probably. But it's fairly easy to re-organize pages or move material from one to another.&lt;br /&gt;For example, at the time of writing (only two days into the project) we have pages called &quot;Brush&quot; and &quot;Brushes&quot;. We also seem to be tending towards encyclopaedia-style article headers, rather than titles like &quot;how to apply lighting&quot;. Neither of these things is a problem. It's also fine to have articles that don't belong in a strict hierarchy. We can organize material later &amp;ndash; if you see a link which you think would be better off in a different place, you can move it. &amp;ndash; Tarquin<br /> <br /> ; I'm not l33t enough to contribute. :Anyone can help. If you've ever opened UnrealEd, you're bound to know something. If you've only opened it once, you have the beginner's perspective &amp;ndash; if the articles aimed at beginners don't make sense to you, ''change'' them so they do! &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Would you like an article on (topic)? Could you add a link to (site)? : If you think it's relevant to the content of this Wiki, then yes we probably do, but the real answer to the first question is: it's up to you. The answer to the second question is: No. You can add it yourself. :D<br /> <br /> ; What if idiots damage the site? : Other Wiki sites say that this isn't a problem. And, actually, we have a full-time Idiot-Proofer on Staff. Admittedly, gaming communities do seem to have their share of idiots. The server keeps past versions of articles, so while anyone can damage the site, anyone who spots damage can immediately fix it &amp;ndash; look for the &quot;View Other Revisions&quot; link. Editing and saving a past revision over-writes the current version of a page.&lt;br /&gt;Admins keep zipped backups of the entire site as an extra precaution. IPs are publicly logged on the [[Legacy:Recent Changes|Recent Changes]] pages, and if necessary they can be blocked. Admins can also lock the entire site, making it read-only. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> : &lt;i&gt;see also [[Legacy:Wiki Protection|Wiki Protection]] for info on how you can help&lt;/i&gt;<br /> <br /> ; Do I need to register? :No. Registration is optional. All it will do is show your user name on the [[Legacy:Recent Changes|Recent Changes]] list instead of your IP, and save your preferences for viewing the site. Click on ''preferences'' and enter a name and password to register.&lt;br /&gt;You're also invited to create a [[:Category:Legacy Personal Page|personal page]] for yourself. If you like, you can make your name in the list a wiki link and create a page for your contact details, biog, and guestbook. &amp;ndash; [[Legacy:Tarquin|Tarquin]]<br /> <br /> ; Who invented Wiki? Who wrote this script? :The very first Wiki is the [http://www.c2.com/cgi/wiki?WelcomeVisitors Portland Pattern Repository]. It's usually called WikiWiki, or Ward's Wiki after its creator. This site runs on a perl script called [http://www.usemod.com/cgi-bin/wiki.pl?UseModWiki UseModWiki] created by Clifford Adams, with various nifty patches and Mychaeel's markup parser, [[Legacy:Wookee|Wookee]].<br /> <br /> ; Who runs this site? :You do. There's a list of people working on the site at [[:Category:Legacy Personal Page]], you're free to add your name to the list. The content of the site is decided by people who decide to contribute. The topics list on the main page is gradually being shaped by individual additions. If you want to add something that doesn't fall under one of the headings, add a new heading.&lt;br /&gt;(The site is hosted by BeyondUnreal, current [[Legacy:Wiki Admin|Wiki admin]]s are Tarquin and [[Legacy:Mychaeel|Mychaeel]].)<br /> <br /> ; I have an idea for a radical new organization of the site : Try it! We can always switch back if it doesn't work.<br /> <br /> ; What do admins do? : As little as possible. The only things [[Legacy:Wiki Admin|wiki admin]]s can do that you can't are:<br /> ; * Rename pages (anyone can port content to a new page, but this function renames all the links throughout the site too)<br /> ; * Delete pages (same again)<br /> ; * Ban IPs<br /> ; * Lock the entire site (see [[Legacy:Wiki Protection|Wiki Protection]])<br /> <br /> ; How do I become an admin? : Technically, by being told the admin password by another admin.<br /> : But &amp;ndash; why do you want to be one, in the first place? There's no special honor to it and there's little an admin can do that a &quot;normal user&quot; can't (see the question above). Admin privileges are a technical necessity, and they come with a responsibility; so if you want to be an Unreal Wiki admin, you'll be only likely to convince one of the current admins if there's an actual need for another admin and if they have the impression that you're trustworthy (in Unreal Wiki terms). &amp;rarr;[[Legacy:Mychaeel|Mychaeel]] <br /> : I don't think there's a need for new admins. I use my admin powers maybe once a week or even less, for the occasional page renaming. Editorial control is something everyone already has. &amp;rarr;[[Legacy:Tarquin|Tarquin]] <br /> <br /> ----<br /> <br /> Feel free to add questions, or add new answers to existing questions.<br /> <br /> ==Related Topics==<br /> * [[Legacy:New Contributors Quick Start|New Contributors Quick Start]]<br /> * [[Legacy:Wiki FAQ|Wiki FAQ]]<br /> * [[Legacy:MetaTopics|MetaTopics]]<br /> * [[Legacy:Project Discussion|Project Discussion]]<br /> * [[Legacy:Unreal Mapping FAQ|Unreal Mapping FAQ]]<br /> <br /> [[Category:Legacy FAQ|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:Oxygen?diff=33874 Legacy:Oxygen 2009-01-08T20:35:06Z <p>Solarsys: Undo revision 33865 by TrocdArcal (Talk)</p> <hr /> <div>==Oxygen ==<br /> <br /> ===In Development ===<br /> <br /> Work for the King of the Hill mutator. I'm mapping/modeling and skinning for it.<br /> <br /> ===Completed Work ===<br /> <br /> ====KH-Natico ====<br /> <br /> It's a King of the Hill map set in a rocky, valley setting or something. Need's optimisation.<br /> <br /> http://www.ut2003hq.com/pafiledb/pafiledb.php?action=file&amp;id=1252<br /> <br /> ====Mutator: Low Ammo Warning ====<br /> <br /> My first ever mutator. Basically you select the mutator, configure the ammo levels for each individual weapon and when your ammo drops below that level you get an on-screen warning.<br /> <br /> Download ~20K - http://users.tpg.com.au/aspie/OxygenAmmoWarning.zip<br /> <br /> Credit:<br /> *LedZep for the Interface code (his comments are still in the source I think :rolleyes: )<br /> *The author of the Interaction code.<br /> *Mych and Tarquin for posting stuff in the BU forum which I found useful.<br /> *Everyone on the Wiki and BUF-Coding and Mapping<br /> <br /> ===Bio ===<br /> <br /> Well, technically I'm unemployed. I finished High School about 4 or 5 weeks ago and am in the period between secondary and tertiary education. I've applied to complete a Diploma in Software Development which will lead into a Bachelor of Information Technology / Commerce.<br /> <br /> ==Guest Book ==<br /> <br /> '''EntropicLqd:''' Welcome to the Wiki - Enjoy your stay :)<br /> <br /> '''Tarquin:''' Hello &amp; welcome :D<br /> <br /> '''ZxAnPhOrIaN:''' Hello and welcome to the wiki! :) :tup:<br /> <br /> '''Oxygen:''' Thanks everyone, it's nice to be made welcome :) Group hug.<br /> <br /> '''ZxAnPhOrIaN:''' The wiki is ALWAYS a friendly place! ;) :tup:<br /> <br /> [[Category:Legacy Personal Page|{{PAGENAME}}]]</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33862 Legacy:T3D File 2009-01-02T10:39:32Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> Texturing information:&lt;br&gt;<br /> Texture U and Texture V: contains information about scaling and texture rotation&lt;br&gt;<br /> PanU and PanV: only used in Unreal Tournament&lt;br&gt;<br /> Origin: where the texture is centered&lt;br&gt;<br /> Normal: normally, the perpendicular vector of the surface where the texture is applied.&lt;br&gt;<br /> <br /> TextureU, TextureV, PanU, PanV, Origin and Normal are informations about how to apply texture for the polygon.<br /> <br /> [[Image:texinfot3d.jpg]] &lt;br&gt;<br /> Texture Scaling can be found using this formula:<br /> &lt;uscript&gt;<br /> TexScaleX=1/(TextureU_x²+TextureV_x²)<br /> TexScaleY=1/(TextureU_y²+TextureV_y²)<br /> TexScaleZ=1/(TextureU_z²+TextureV_z²)<br /> &lt;/uscript&gt;<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/File:Texinfot3d.jpg?diff=33861 File:Texinfot3d.jpg 2009-01-02T10:35:11Z <p>Solarsys: </p> <hr /> <div></div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33860 Legacy:T3D File 2009-01-02T10:34:54Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> Texturing information:&lt;br&gt;<br /> Texture U and Texture V: contains information about scaling&lt;br&gt;<br /> PanU and PanV: only used in Unreal Tournament&lt;br&gt;<br /> Origin: where the texture is centered&lt;br&gt;<br /> Normal: normally, the perpendicular vector of the surface where the texture is applied.&lt;br&gt;<br /> <br /> TextureU, TextureV, PanU, PanV, Origin and Normal are informations about how to apply texture for the polygon.<br /> <br /> [[Image:texinfot3d.jpg]] &lt;br&gt;<br /> Texture Scaling can be found using this formula:<br /> &lt;uscript&gt;<br /> TexScaleX=1/(TextureU_x²+TextureV_x²)<br /> TexScaleY=1/(TextureU_y²+TextureV_y²)<br /> TexScaleZ=1/(TextureU_z²+TextureV_z²)<br /> &lt;/uscript&gt;<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33859 Legacy:T3D File 2009-01-02T10:33:01Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> Texturing information:&lt;br&gt;<br /> Texture U and Texture V: contains information about scaling&lt;br&gt;<br /> PanU and PanV: only used in Unreal Tournament&lt;br&gt;<br /> Origin: where the texture is centered&lt;br&gt;<br /> Normal: normally, the perpendicular vector of the surface where the texture is applied.&lt;br&gt;<br /> <br /> TextureU, TextureV, PanU, PanV, Origin and Normal are informations about how to apply texture for the polygon.<br /> <br /> [[Image:TextureInfoT3DBrush]] &lt;br&gt;<br /> Texture Scaling can be found using this formula:<br /> &lt;uscript&gt;<br /> TexScaleX=1/(TextureU_x²+TextureV_x²)<br /> TexScaleY=1/(TextureU_y²+TextureV_y²)<br /> TexScaleZ=1/(TextureU_z²+TextureV_z²)<br /> &lt;/uscript&gt;<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/User:Solarsys?diff=33858 User:Solarsys 2009-01-02T09:08:39Z <p>Solarsys: </p> <hr /> <div>UT3 Player Name:<br /> Solarsys<br /> <br /> UTxx:<br /> I got all PC Unreal games:<br /> &lt;li&gt;Unreal 1 (+gold)&lt;/li&gt;<br /> &lt;li&gt;Unreal 2&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2003&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2004&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 3&lt;/li&gt;<br /> <br /> === My Maps ===<br /> Unreal Tournament 99:<br /> None but mainly map/fixes updates (AS-BigAsteroidV3)<br /> <br /> Unreal Tournament 2004:<br /> &lt;li&gt;AS-7Co-TheEgyptianPyramid (first map)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-Trials (aka AS-7Co-Trials)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-DeepMines (test map with karma actors)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-TheMayanTemple (unfinished)&lt;/li&gt;<br /> &lt;li&gt;a lot of map fixes/improvements (assault maps mainly)&lt;/li&gt;<br /> <br /> Unreal Tournament 3:<br /> VCTF-TheBigDam (unfished)<br /> === UT3 Converter ===<br /> <br /> More info here: http://utforums.epicgames.com/showthread.php?t=588848 &lt;br&gt;<br /> This program allows you to convert UT2004 maps to UT3.I will add support for U1 and UT soon (currently working on it) and to UT2004.<br /> I had this idea of this tool when i first tried to import a UT2004 T3D File into UT3 editor. I thought like UT99-&gt;UT2004 it would import correctly but in UT3 it just crashed. So i started digging into the T3D format bringing brush conversion support then texturing and terrain!&lt;br&gt;<br /> I think this is great tool because it will help mappers saving lot of time converting their maps to UT3 or UT2004&lt;br&gt;<br /> The main problems i am currently facing to is texture alignment with U1/UT maps and exporting .dds texture from Unreal 2 packages.&lt;br&gt;</div> Solarsys https://wiki.beyondunreal.com/User:Solarsys?diff=33857 User:Solarsys 2009-01-02T09:05:09Z <p>Solarsys: New page: UT3 Player Name: Solarsys UTxx: I got all PC Unreal games: &lt;li&gt;Unreal 1 (+gold)&lt;/li&gt; &lt;li&gt;Unreal 2&lt;/li&gt; &lt;li&gt;Unreal Tournament&lt;/li&gt; &lt;li&gt;Unreal Tournament 2003&lt;/li&gt; &lt;li&gt;Unreal Tournament 200...</p> <hr /> <div>UT3 Player Name:<br /> Solarsys<br /> <br /> UTxx:<br /> I got all PC Unreal games:<br /> &lt;li&gt;Unreal 1 (+gold)&lt;/li&gt;<br /> &lt;li&gt;Unreal 2&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2003&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 2004&lt;/li&gt;<br /> &lt;li&gt;Unreal Tournament 3&lt;/li&gt;<br /> <br /> My maps:<br /> Unreal Tournament 99:<br /> None but mainly map/fixes updates (AS-BigAsteroidV3)<br /> <br /> Unreal Tournament 2004:<br /> &lt;li&gt;AS-7Co-TheEgyptianPyramid (first map)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-Trials (aka AS-7Co-Trials)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-DeepMines (test map with karma actors)&lt;/li&gt;<br /> &lt;li&gt;AS-UT2X-TheMayanTemple (unfinished)&lt;/li&gt;<br /> &lt;li&gt;a lot of map fixes/improvements (assault maps mainly)&lt;/li&gt;<br /> <br /> Unreal Tournament 3:<br /> VCTF-TheBigDam (unfished)<br /> <br /> My Programs:<br /> <br /> '''UT3 Converter''' (future name: &quot;Unreal Map Converter&quot;): http://utforums.epicgames.com/showthread.php?t=588848 &lt;br&gt;<br /> This program allows you to convert UT2004 maps to UT3.Will add support for U1 and UT soon (currently working on it) and to UT2004.<br /> I had this idea of this tool when i first tried to import a UT2004 T3D File into UT3 editor. I thought like UT99-&gt;UT2004 it would import correctly but in UT3 it just crashed. So i started digging into the T3D format bringing brush conversion support then texturing and terrain!&lt;br&gt;<br /> I think this is great tool because it will help mappers saving lot of time converting their maps to UT3 or UT2004&lt;br&gt;<br /> The main problems i am currently facing to is texture alignment with U1/UT maps and exporting .dds texture from Unreal 2 packages.&lt;br&gt;</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33856 Legacy:T3D File 2008-12-31T10:43:52Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> Texturing information:&lt;br&gt;<br /> Texture U and Texture V: contains information about scaling&lt;br&gt;<br /> PanU and PanV: only used in Unreal Tournament&lt;br&gt;<br /> Origin: where the texture is centered&lt;br&gt;<br /> Normal: normally, the perpendicular vector of the surface where the texture is applied.&lt;br&gt;<br /> <br /> TextureU, TextureV, PanU, PanV, Origin and Normal are informations about how to apply texture for the polygon.<br /> <br /> Texture Scaling can be found using this formula:<br /> &lt;uscript&gt;<br /> TexScaleX=1/(TextureU_x²+TextureV_x²)<br /> TexScaleY=1/(TextureU_y²+TextureV_y²)<br /> TexScaleZ=1/(TextureU_z²+TextureV_z²)<br /> &lt;/uscript&gt;<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:View_Fog?diff=33851 Legacy:View Fog 2008-12-30T11:13:17Z <p>Solarsys: </p> <hr /> <div>'''View Fog''' is a simple method of adding [[Legacy:Fog|fog]] to a map or an area in a map. It works by simply tinting the rendered scene by a specified amount. View Fog is sometimes also referred to as &quot;fake fog&quot;. It uses practically no rendering resources, so it is very cheap resource-wise, but it is not that realistic. Often an underwater area will have a blueish view fog.<br /> <br /> ==Setting Up View Fog in Unreal Tournament==<br /> <br /> In [[Legacy:Unreal Tournament|Unreal Tournament]], view fog is specific to the zone containing the camera. It is specified by the ''ViewFlash'' and ''ViewFog'' variables in the zone's [[Legacy:ZoneInfo (UT)|ZoneInfo]]. Here's a sample configuration:<br /> <br /> {|<br /> <br /> |-<br /> |ViewFlash X<br /> |-0.5<br /> |-<br /> |ViewFlash Y<br /> |-0.5<br /> |-<br /> |ViewFlash Z<br /> |-0.5<br /> |-<br /> |ViewFog X<br /> |0.5<br /> |-<br /> |ViewFog Y<br /> |0.5<br /> |-<br /> |ViewFog Z<br /> |0.5<br /> |}<br /> <br /> ==Setting Up View Fog in UT2003==<br /> <br /> View Fog does not appear to work properly in [[Legacy:UT2003|UT2003]], however, the variables for it are still present so theoretically it may still work on some graphics hardware. View Fog is controlled by [[Legacy:PhysicsVolume|PhysicsVolume]]s in UT2003. Specifically, PhysicsVolumes are used. To set up View Fog, simply set the PhysicsVolume-&gt;ViewFog property to whatever color you want the screen to be tinted.<br /> <br /> '''Tarquin:''' so does it work or not?<br /> <br /> '''SuperApe:''' I'm wondering if the author meant to say ViewFlash doesn't work in UT200x, not ViewFog. Distance fog seems to work fine. But the issue is confused by the properties ViewFog and FlashFog in [[Legacy:DamageType|DamageType]]. I found this page through a search for that stuff.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33847 Legacy:T3D File 2008-12-30T08:21:21Z <p>Solarsys: /* Scaling up/down whole map */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> TextureU, TextureV, PanU, PanV, Origin are information about how to apply texture for the polygon.<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Usually scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33846 Legacy:T3D File 2008-12-30T08:20:03Z <p>Solarsys: </p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> TextureU, TextureV, PanU, PanV, Origin are information about how to apply texture for the polygon.<br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> === Scaling up/down whole map ===<br /> This operation is mainly needed when you want to port Unreal 1 or Unreal Tournament map to Unreal Tournament 2004 or Unreal Tournament 3.<br /> <br /> To do so,considering ScaleFactor:<br /> &lt;uscript&gt;For each actor in T3D File<br /> set Location = ScaleFactor*Location<br /> set PrePivot = ScaleFactor*PrePivot<br /> If Actor==Brush<br /> For each polygon<br /> set Origin = ScaleFactor*Origin<br /> For each vertex<br /> set Vertex = ScaleFactor*Vertex<br /> If Actor==StaticMesh<br /> set DrawScale3D = ScaleFactor*DrawScale3D<br /> &lt;/uscript&gt;<br /> <br /> Know scale factor values:<br /> Unreal 1/Unreal Tournament to UT2003/UT2004/UT3: 1.25<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys https://wiki.beyondunreal.com/Legacy:T3D_File?diff=33845 Legacy:T3D File 2008-12-30T07:56:09Z <p>Solarsys: /* Loading T3D brush geometry */</p> <hr /> <div>The '''T3D file format''' or '''Unreal Text File''' holds a text list of Unreal map objects. An entire map can be saved as this file format, or just a single actor or brush.<br /> <br /> Note that while brushes, their applied textures and light actors are saved, the [[Legacy:Unreal Geometry|Unreal Geometry]] itself is not saved: upon importing a T3D file the map must be built.<br /> <br /> Copying objects from UnrealEd and pasting into a text editor produces the same format.<br /> <br /> Unreal Text format <br /> <br /> Exported brushes and (other) actors. See [[Legacy:T3D File|T3D file]].<br /> * Created by:<br /> ** UnrealEd's File -&gt; Import command<br /> ** UnrealEd's Brush -&gt; Import command (see [[Legacy:Data Import And Export|Data Import and Export]] for more on both these commands).<br /> ** is this created by external stuff too? <br /> <br /> ===Exporting T3D ===<br /> * Export the whole map: File -&gt; Export... <br /> * export one brush:<br /> * export a part of a map: either save, delete discards and export as above, or select, copy, paste into a text editor and save as a T3D file<br /> <br /> ===Importing T3D ===<br /> <br /> File -&gt; Import...<br /> <br /> (note importing may take a LONG time)<br /> <br /> Overheard on #utjb... :-)<br /> <br /> &lt;tarquin&gt; t3d stores brushes &amp; actors but not texturing, right?<br /> &lt;Mychaeel&gt; Texturing as well.<br /> (melds into the opening speech from Reservoir Dogs...)<br /> &lt;DaveA&gt;Stores links to textures, and texture transforms, but not the pixels themselves<br /> <br /> The T3D format is a text file which stores information about map actors. It's in fact identical to what can be copied from UnrealEd to a text editor. An exported map looks like this:<br /> <br /> &lt;uscript&gt;<br /> Begin Map<br /> Begin Actor Class=LevelInfo Name=LevelInfo0<br /> TimeSeconds=17.008888<br /> Summary=LevelSummary'Entry.LevelSummary'<br /> DefaultGameType=Class'Botpack.UTIntro'<br /> AIProfile(0)=23784352<br /> AIProfile(1)=52<br /> AIProfile(2)=41<br /> AIProfile(3)=42<br /> AIProfile(4)=40<br /> AIProfile(5)=44<br /> AIProfile(6)=45<br /> AIProfile(7)=21846171<br /> AvgAITime=0.000000<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=LevelInfo<br /> Region=(Zone=LevelInfo'Entry.LevelInfo0',iLeaf=-1)<br /> Name=LevelInfo0<br /> End Actor<br /> Begin Actor Class=Brush Name=Brush0<br /> MainScale=(SheerAxis=SHEER_ZX)<br /> PostScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> TempScale=(Scale=(X=0.250000,Y=8.000000,Z=3.000000),SheerAxis=SHEER_ZX)<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=Brush<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=464.000000,Y=-16.000000,Z=64.000000)<br /> Begin Brush Name=Brush<br /> Begin PolyList<br /> Begin Polygon Item=OUTSIDE Texture=black1 Flags=4194304 Link=0<br /> Origin -00160.000000,+00000.000000,+00128.000000<br /> Normal +00000.000000,+00000.000000,+00001.000000<br /> TextureU +00004.000000,+00000.000000,+00000.000000<br /> TextureV +00000.000000,+00004.000000,+00000.000000<br /> Vertex -00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,-00128.000000,+00128.000000<br /> Vertex +00128.000000,+00128.000000,+00128.000000<br /> Vertex -00128.000000,+00128.000000,+00128.000000<br /> End Polygon<br /> ...<br /> End PolyList<br /> End Brush<br /> Brush=Model'Entry.Brush'<br /> Name=Brush0<br /> End Actor<br /> Begin Actor Class=PlayerStart Name=PlayerStart0<br /> Level=LevelInfo'Entry.LevelInfo0'<br /> Tag=PlayerStart<br /> Region=(Zone=ZoneInfo'Entry.ZoneInfo0',iLeaf=1,ZoneNumber=1)<br /> Location=(X=183.134430,Y=-987.334167,Z=33.978027)<br /> OldLocation=(X=-217.561523,Y=-44.538128,Z=-87.899948)<br /> Name=PlayerStart0<br /> End Actor<br /> ...<br /> End Map&lt;/uscript&gt;<br /> <br /> External link: http://unreal.jall.org/tutorials/t3d.html (new URL)<br /> <br /> ===Loading T3D brush geometry===<br /> <br /> You must parse those informations correctly: PrePivot, Location, Rotation, MainScale, PostScale, TempScale, Polygon / Vertexes<br /> <br /> &lt;uscript&gt;<br /> FOR each vertex of each polygon of parsed brush DO:<br /> do MainScale ... x *= MainScale[x], y *= MainScale[y], z *= MainScale[z]<br /> do translation (-PrePivot[x], -PrePivot[y], -PrePivot[z])<br /> do rotation Yaw, Pitch, Roll<br /> do PostScale ... x *= PostScale[x], y *= PostScale[y], z *= PostScale[z]<br /> do TempScale ... x *= TempScale[x], y *= TempScale[y], z *= TempScale[z]<br /> do translation (Location[x], Location[y], Location[z])<br /> ENDFOR<br /> &lt;/uscript&gt;<br /> <br /> Note:<br /> For Unreal Engine 3.x based maps (Unreal Tournament 2004 and 2003),PostScale,MainScale,TempScale and Rotation values are always null as the editor automatically updates vertices,origin and normal values when scaling up/down or rotating a brush.<br /> <br /> <br /> Rotation matrix are the following:<br /> <br /> &lt;uscript&gt;Roll Matrix-X Axis:<br /> 1, 0, 0, 0,<br /> 0, cos(roll),-sin(roll), 0,<br /> 0, sin(roll),cos(roll), 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Pitch Matrix-Y Axis:<br /> cos(pitch), 0, sin(pitch), 0,<br /> 0, 1, 0, 0,<br /> -sin(pitch), 0,cos(pitch), 0,<br /> 0, 0, 0, 1)&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Yaw Matrix-Z Axis:<br /> cos(yaw), sin(yaw), 0, 0,<br /> -sin(yaw), cos(yaw), 0, 0,<br /> 0, 0, 1, 0,<br /> 0, 0, 0, 1&lt;/uscript&gt;<br /> <br /> &lt;uscript&gt;Global Rotation Matrix=(Roll Matrix)*(Pitch Matrix)*(Yaw Matrix)&lt;/uscript&gt;<br /> <br /> Yaw, Roll and Pitch values are in radians. Original values from t3d files are in &quot;Unreal format&quot; where 2 rad = 65536.<br /> For more information about Yaw, Pitch, Roll rotation matrix see http://mathworld.wolfram.com/EulerAngles.html.<br /> <br /> Unknown (correct) effect: SheerAxis<br /> <br /> TextureU, TextureV, PanU, PanV, Origin are information about how to apply texture for the polygon.<br /> <br /> Python T3D loader (doesn't care about texture informations): http://carolina.mff.cuni.cz/~gib/ut_utils/unreal_t3d_loader.zip see readme.txt in zip file<br /> <br /> ==T3D Utilities ==<br /> * [[Legacy:MapScale|MapScale]] scales an entire .t3d file<br /> * [[Legacy:MeshMaker|MeshMaker]] converts a prefab in .t3d format to a [[Legacy:Decoration|decoration]]<br /> * [http://www.unrealroc.com/Converter.html UnrealROC] converters: from 3DMF, to VRML/X3D/OBJ (including textures et al).<br /> <br /> ==Related Topics ==<br /> * [[Legacy:Data Import And Export|Data Import and Export]]<br /> * [[Legacy:Brush Exporting And Importing|Brush Exporting And Importing]]<br /> * [[Legacy:Brush Hacking|Brush Hacking]]<br /> <br /> '''Kefik:''' There can be also a tag 'CsgOper' which have one of two values ... 'CSG_Subtract' -&gt; subtract the brush from space or 'CSG_Add' -&gt; add this brush to shape.<br /> <br /> '''Sobiwan:''' New to WIKI editing, but not using it. I was searching for the actual format of T3D and found [http://users.skynet.be/fa550206/Slug-Production/Data/OpenGL-Documents/T3D-File-Format/T3D-File-Format.htm Mongo's description] of [http://www.planetunreal.com Planetunreal] to be extremely helpful. I'll ask him (mongo@planetunreal.com) if we can use and/or edit his description here. The format is much more involved than described here. We can even supply examples of how to do particular hacks.<br /> <br /> '''MadNad:''' Interestingly, I was able to convert a [http://madnad.com/ut2k3/Screenshots/q3dm7.jpg?link Quake3_Level] into a unreal map. Quite interesting. First i converted a *.bsp to a *.map in quake, then I made a level that was just a huge cube and converted it to *.t3d. With an external app (i'll have to find the name of it ) I was able to merge these two together. After some scaling and switching additive brushes in quake to subtractive brushes in ued and subtractive to additive, I compiled and had q3dm7 geometry. I don't necessarily recommend doing this, as it will take more time to fix than create it from scratch, but I thought I would share a little experience I had with this.</div> Solarsys