Title: USARSim Tutorial
1USARSim Tutorial
Simulation Session
2Outline
- Building Arena
- Introduction
- Components, Unreal Editor and the workflow
- Static mesh
- Special effects, victim and light
- Building Robot
- Introduction
- The robot model and procedure
- Construct the robot
- Example
- Summary
3Building Arena
- Components
- Static meshes (Geometric models, obstacles)
- Special effects (mirror)
- Victims
- Lights
- Unreal Editor
- The interface
- UnrealEd Manual Interface
- http//udn.epicgames.com/Two/UnrealEdInterface
- The basic operations
- Introduction to UnrealEd
- http//udn.epicgames.com/Two/IntroToUnrealEd
4Building Arena (cont.)
- Breakaway Example
- Breakaway Example
- http//udn.epicgames.com/Two/BreakAwayExample
- The workflow
Add/adjust/align victims
Create world space
Add Player start
Special effects
Add/adjust/align static meshes
Add/adjust/align lights
Save file
5Building Arena (cont.)
- Static mesh
- USARSim static mesh
- Build your static mesh
- Build mesh
- Texture
- Convert to static mesh
- Save the static mesh
- Build mesh
- Build BSP mesh
- BSP Brushes http//udn.epicgames.com/Two/BspBrushe
sTutorial
6Building Arena (cont.)
- Brush Clipping http//udn.epicgames.com/Two/BrushC
lipping - 2D Shape Editor http//udn.epicgames.com/Two/Shape
Editor - Import the existing mesh
- Supported format ASE, DXF, LWO etc.
- Export from Max/Maya (ActorX plug-in)
- http//udn.epicgames.com/Two/ActorXTutorial
7Building Arena (cont.)
- Texture
- Unreal Texturing Guide http//udn.epicgames.com/T
wo/UnrealTexturing - Import texture from bmp, pcx, tga, dds etc file.
- Texture dimensions in powers of 2
- Using UnrealEd texture browser
- Convert to static mesh
- Add collision mesh
- Save the static mesh
- Package, Group Name
- Special effects
- Materials http//udn.epicgames.com/Two/MaterialTut
orial - Mirror
- Security Cameras http//angelmapper.com/tutorials/
securitycamera.htm
8Building Arena (cont.)
- Victim
- Set the skeletal mesh
- Specify actions based on bones
- start/end position
- moving speed
- Light
- Lighting Basics http//udn.epicgames.com/Two/Light
ingBasics - Add Lights
- Specify properties
9Building Robot
- The robot model
- Objectives
- Encapsulate the programming details
- Building robot by assembling
- Components
- Chassis ? Parts
- Joints ? Attached auxiliary items
- Method
- Connect chassis and parts through joints
- Attach auxiliary items to chassis or parts
10Building Robot (cont)
- Build robot
- Prepare geometric models (modeling)
- Build static mesh(es)
- Make sure the geometric model has the correct
x,y,z axes - Construct the robot (configuring)
- Create the robot class
- Prepare the attributes and objects used for your
robot - Connect the parts
- Mount the auxiliary items
- Customize the robot (programming)
- Optional Introduced in Advanced Session
11Building Robot (cont.)
- Construct the robot
- Create the robot class
- don't forget to change ut2003.ini
- Prepare the attributes
- Overall attributes
- MotorTorque, batteryLife, FlipTorque etc.
- Chassis attributes
- ChassisMass, StaticMesh, DrawScale, Kparams etc.
- Parts attributes
- Karma physical parameters KarmaParams
- Use it at least once in defaultproperties
- Steering and tire parameters
- TireRollFriction, TireLateralFriction,
TireSlipRate etc. - Compile the robot class (ucc make)
class your_robot // the name of your class
extends KRobot config(USAR) defaultproperties
//properties
12Building Robot (cont.)
- Prepare the parts
- Linkage
- KDPart class
- Tire
- Create your class based on KTire class
- Specify StaticMesh, DreawScale, Kparams etc.
- Compile the tire class
- Connect chassis and parts
- Joint-Part pairs
- Connect a part to
- its parent through
- car wheel joint
13Building Robot (cont.)
var() bool bSuspensionLocked var()
float BrakeTorque var() name
Parent var() vector ParentPos var()
rotator ParentRot var() vector
ParentAxis var() vector ParentAxis2
var() vector SelfPos var() vector
SelfAxis var() vector SelfAxis2
struct JointPart // Part var() name
PartName var() classltKActorgt PartClass
var() StaticMesh PartStaticMesh var()
KarmaParamsRBFull KParams var() float
DrawScale var() vector DrawScale3D //
Joint var() classltKConstraintgt JointClass
var() bool bSteeringLocked
- JointPart structure
- Parts attributes name, class, mesh, scale etc.
- Joints attributes parent, two connect axes
position and direction etc. - Assemble robot
- Create you robot section in usar.ini file
- Define the joint-part pairs
14Building Robot (cont.)
- Mount the auxiliary items
- Method
- Directly attach to chassis or part
- Definition
- Structure
- Item, parent
- Mount position and
- direction
- Configure
- In the robot section of usar.ini, define
- Sensor(s)
- Camera
- Headlight
struct sItem var classltActorgt ItemClass
var string ItemName var name
Parent var vector
Position var rotator Direction
15Building Robot (cont.)
- Decide the mount or.
- connect position
- Calculate the position
- The position relative to its
- parents geometric center
- Pos (childs center pos)
- (parents center pos)
- Tips (using the t3d file)
- Assemble the robot in Unreal Editor
- Export it to t3d file
- In the t3d file, find out the parts and chassis
position - calculate the mount/connect position
Begin Actor ClassStaticMeshActor
NameStaticMeshActor1 StaticMeshStaticMesh'US
AR_Meshes.Robot.PERBody' ...
Location(X-3.901210,Y0.058555) End
Actor Begin Actor ClassStaticMeshActor
NameStaticMeshActor10 StaticMeshStaticMesh'U
SAR_Mesh.Sensor.Sensor' ...
Location(X-7.981321,Y-32.511860,Z-12.292603)
End Actor
16Building Robot (cont.)
USARBot.P2DX
bDebugFalse
ChassisMass4.000000
JointParts(PartName"RightFWheel",PartClasscla
ss'USARBot.PioneerTire',PartStaticM JointParts
(PartName"LeftFWheel",PartClassclass'USARBot.Pio
neerTire',PartStaticMe JointParts(PartName"Re
arWheel",PartClassclass'USARBot.PioneerSmallTire'
,PartStat JointParts(PartName"CameraBase",Par
tClassclass'USARBot.KDPart',PartStaticMeshSt J
ointParts(PartName"CameraPan",PartClassclass'US
ARBot.KDPart',PartStaticMeshSta JointParts(Par
tName"CameraTilt",PartClassclass'USARBot.KDPart'
,PartStaticMeshSt.. Camera(ItemClassclass'USA
RBot.RobotCamera',ItemName"Camera",Parent"Camera
Tilt", HeadLight(ItemClassclass'USARBot.USARHea
dLight',ItemName"HeadLight",Parent"Ca. Sensors
(ItemClassclass'USARBot.RangeSensor',ItemName"F1
",Position(Y-35.11,X20. Sensors(ItemClasscla
ss'USARBot.RangeSensor',ItemName"F2",Position(Y
-30.42,X29. Sensors(ItemClassclass'USARBot.Ran
geSensor',ItemName"F3",Position(Y-19.22,X36.
Sensors(ItemClassclass'USARBot.RangeSensor',Item
Name"F4",Position(Y-6.77,X39
17Summary
- Building arena by UnrealEd
- Static mesh
- Mesh ? Texture ? Convert
- Victims
- Special effect
- Light
- Building robot
- Prepare geometric models
- Construct the robot by configuration
- Properties ? JointPart structure ? sItem
structure - Customize the robot