Converting brushes to models with XSI: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
mNo edit summary
m (Unicodifying, replaced: [[Image: → [[File: (22))
 
(7 intermediate revisions by 5 users not shown)
Line 1: Line 1:
{{lang|Converting brushes to models with XSI}}
[[Category:Level Design]]
[[Category:Level Design]]
[[Category:Tutorials]]
[[Category:Tutorials]]
[[Category:Modeling]]
[[Category:XSI]]


This tutorial shows how to convert brush structures in Hammer Editor into a prop_static using XSI Mod Tool.
Not all geometry is suitable for [[brush]]es. Anything that needs to be repeated over and over, be lit dynamically or be highly detailed is generally better off as a [[model]]. This tutorial will guide you through the process of exporting a brush from [[Hammer]] into the [[XSI Mod Tool]] and then out again to a compiled model ready for use as a prop.


==Basics and Limitation==
*1 unit in Hammer = 1 unit in XSI
*1 unit in Hammer = 1 unit in XSI
*You'll have to set Texture UV in XSI again, so don't spend much time tuning texture in hammer.
*You'll have to set Texture UV in XSI again, so don't spend much time tuning texture in hammer.
*You need Valve Source Addon(ValveSource.0105.01.xsiaddon) for XSI. This can be found in <code>sourcesdk/xsi</code>.


==Hammer==
== Exporting from Hammer ==
*Save brush structures as a prefab in Hammer Editor.
 
**Select brush structures.
With the geometry you want to convert selected, press {{key|Ctrl+R}} or click the "Create Prefab" button (in the [[:Image:Hammer newprefab.png|New Object toolbox]]). It doesn't matter which tool you have active.
**Then click '''Create Prefab''', and save it as .vmf file.
[[Image:Xsibrush01.JPG|Select brush and Create Prefab]]


==XSI Mod Tool==
Save the file somewhere accessible.
*Load that prefab file in XSI Mod Tool using ValveSource>VMF Tools>VMF import.


[[Image:Xsibrush02.jpg|ValveSource>VMF Tools>VMF import]]
== Importing to XSI ==


[[Image:Xsibrush03.jpg|Brush loaded]]
In XSI, click {{key|Main menu > ValveSource > VMF Tools > Import VMF}} and select the prefab file you just saved from Hammer. Ignore the Texture Path option.


[[Image:Xsibrush04.jpg|Press Ctrl+A to see the whole]]
:{{note|You must also do the following in order for the model to work correctly.}}


*To make the editing easier do:
**Go to visibility options(click eye icon in each view), select the '''Visibility options''' button, then in its pop up window, select the '''Visual Cues''' Tab, then set U/V Cell/Snap Size to 16 or 32 in Floor/Grid Setup, then click '''Copy to Translate Snap Increment'''.
**Go to visibility options(click eye icon in each view), switch to '''Visual Cues''' tab, and set U/V Cell/Snap Size to 16 or 32 in Floor/Grid Setup, then click '''Copy to Translate Snap Increment'''.


[[Image:Xsibrush05.jpg|visibility options]]
[[File:Xsibrush05.jpg|visibility options]]


[[Image:Xsibrush06.jpg|Change Grid setup, click Copy to Translate Snap Increment]]
[[File:Xsibrush06.jpg|Change Grid setup, click Copy to Translate Snap Increment]]


[[Image:Xsibrush07.jpg|Now grid displayed]]
[[File:Xsibrush07.jpg|Now grid displayed]]


:*In the Snap panel, click ON and grid icons.
:*In the Snap panel, click ON and grid icons.


[[Image:Xsibrush09.jpg|Enable Snapping]]
[[File:Xsibrush09.jpg|Enable Snapping]]


*Now XSI works like Hammer's ''Snap to Grid''.  
*Now XSI works like Hammer's ''Snap to Grid''.  
*Move loaded mesh to the world origin. The world origin in XSI will be the pivot point in Hammer. See [[Animators Guide to Scripted Sequences]] for details.
*Move loaded mesh to the world origin. The world origin in XSI will be the pivot point in Hammer. See [[Animators Guide to Scripted Sequences]] for details.


[[Image:Xsibrush10.JPG|Move the brush so that the World Origin to be centered on the ground]]
[[File:Xsibrush10.JPG|Move the brush so that the World Origin to be centered on the ground]]


[[Image:Xsibrush11.JPG|Moved correctly]]
[[File:Xsibrush11.JPG|Moved correctly]]


*Select the mesh, then click cut button in the Constrain panel. This will free the mesh from MapRoot which has rotations.
*Select the mesh, then click cut button in the Constrain panel. This will free the mesh from MapRoot which has rotations.


[[Image:Xsibrush12.jpg|Explorer:Mesh is under the MapRoot. Mesh is selected.]]
[[File:Xsibrush12.jpg|Explorer:Mesh is under the MapRoot. Mesh is selected.]]


[[Image:Xsibrush13.jpg|Cut Hierarchical Link]]
[[File:Xsibrush13.jpg|Cut Hierarchical Link]]


[[Image:Xsibrush14.jpg|Mesh is now free from the MapRoot]]
[[File:Xsibrush14.jpg|Mesh is now free from the MapRoot]]


*Delete MapRoot.
*Delete MapRoot.


[[Image:Xsibrush15.jpg|Select MapRoot and delete]]
[[File:Xsibrush15.jpg|Select MapRoot and delete]]


[[Image:Xsibrush16.jpg|MapRoot deleted]]
[[File:Xsibrush16.jpg|MapRoot deleted]]


*Select the mesh, do Freeze and Freeze All Transformation.
*Select the mesh, do Freeze and Freeze All Transformation.


[[Image:Xsibrush18.jpg|Freeze]]
[[File:Xsibrush18.jpg|Freeze]]


[[Image:Xsibrush17.jpg|Freeze All Transformation]]
[[File:Xsibrush17.jpg|Freeze All Transformation]]


*Now you can edit it as you like, give it more detail, etc. Don't forget to texture it, for SMD exporter only export mesh with material and UV informations.
*Now you can edit it as you like, give it more detail, etc. Don't forget to texture it, for SMD exporter only export mesh with material and UV informations.


[[Image:Xsibrush26.jpg|Textured and beveling added]]
[[File:Xsibrush26.jpg|Textured and beveling added]]


*If you are happy with your mesh, Freeze and Freeze All Transformation again, then click ValveSource>Export SMD, and export as a reference SMD.
*If you are happy with your mesh, Freeze and Freeze All Transformation again, then click ValveSource>Export SMD, and export as a reference SMD.


[[Image:Xsibrush27.JPG|Export SMD]]
[[File:Xsibrush27.JPG|Export SMD]]


==Compile==
==Compile==
*Now compile the model and textures. Here I use Cannonfodder's StudioCompiler for compiling prop_static model and texture.
*Now compile the model and textures. Here Cannonfodder's StudioCompiler was used for compiling prop_static model and texture.
[[Image:Xsibrush28.JPG|Compiling Model]]
[[File:Xsibrush28.JPG|Compiling Model]]
[[Image:Xsibrush29.JPG|Compiling Texture]]
[[File:Xsibrush29.JPG|Compiling Texture]]
*Preview the compiled model in HLMV
*Preview the compiled model in HLMV
[[Image:Xsibrush30.jpg|HLMV.exe preview]]
[[File:Xsibrush30.jpg|HLMV.exe preview]]


==Hammer again==
==Hammer again==
*Place it as prop_static in hammer.
*Place it as prop_static in hammer.
[[Image:Xsibrush31.jpg|placing a prop_static]]
[[File:Xsibrush31.jpg|placing a prop_static]]
*Set the World Model in entity properties.
*Set the World Model in entity properties.
[[Image:Xsibrush32.jpg|Select the model]]
[[File:Xsibrush32.jpg|Select the model]]
*Now place the model as you like.
*Now place the model as you like.
[[Image:Xsibrush33.jpg|seems float]]
[[File:Xsibrush33.jpg|seems float]]
[[Image:Xsibrush34.jpg|moved to ground]]
[[File:Xsibrush34.jpg|moved to ground]]

Latest revision as of 00:10, 7 January 2024

English (en)日本語 (ja)Translate (Translate)

Not all geometry is suitable for brushes. Anything that needs to be repeated over and over, be lit dynamically or be highly detailed is generally better off as a model. This tutorial will guide you through the process of exporting a brush from Hammer into the XSI Mod Tool and then out again to a compiled model ready for use as a prop.

  • 1 unit in Hammer = 1 unit in XSI
  • You'll have to set Texture UV in XSI again, so don't spend much time tuning texture in hammer.

Exporting from Hammer

With the geometry you want to convert selected, press Ctrl+R or click the "Create Prefab" button (in the New Object toolbox). It doesn't matter which tool you have active.

Save the file somewhere accessible.

Importing to XSI

In XSI, click ValveSource > VMF Tools > Import VMF">Main menu > ValveSource > VMF Tools > Import VMF and select the prefab file you just saved from Hammer. Ignore the Texture Path option.

Note.pngNote:You must also do the following in order for the model to work correctly.
    • Go to visibility options(click eye icon in each view), select the Visibility options button, then in its pop up window, select the Visual Cues Tab, then set U/V Cell/Snap Size to 16 or 32 in Floor/Grid Setup, then click Copy to Translate Snap Increment.

visibility options

Change Grid setup, click Copy to Translate Snap Increment

Now grid displayed

  • In the Snap panel, click ON and grid icons.

Enable Snapping

  • Now XSI works like Hammer's Snap to Grid.
  • Move loaded mesh to the world origin. The world origin in XSI will be the pivot point in Hammer. See Animators Guide to Scripted Sequences for details.

Move the brush so that the World Origin to be centered on the ground

Moved correctly

  • Select the mesh, then click cut button in the Constrain panel. This will free the mesh from MapRoot which has rotations.

Explorer:Mesh is under the MapRoot. Mesh is selected.

Cut Hierarchical Link

Mesh is now free from the MapRoot

  • Delete MapRoot.

Select MapRoot and delete

MapRoot deleted

  • Select the mesh, do Freeze and Freeze All Transformation.

Freeze

Freeze All Transformation

  • Now you can edit it as you like, give it more detail, etc. Don't forget to texture it, for SMD exporter only export mesh with material and UV informations.

Textured and beveling added

  • If you are happy with your mesh, Freeze and Freeze All Transformation again, then click ValveSource>Export SMD, and export as a reference SMD.

Export SMD

Compile

  • Now compile the model and textures. Here Cannonfodder's StudioCompiler was used for compiling prop_static model and texture.

Compiling Model Compiling Texture

  • Preview the compiled model in HLMV

HLMV.exe preview

Hammer again

  • Place it as prop_static in hammer.

placing a prop_static

  • Set the World Model in entity properties.

Select the model

  • Now place the model as you like.

seems float moved to ground