Mailing List
Home
Forum Home
Softimage
Carrara
trueSpace
Dir3d-l
Maya - a powerful 3D animation and visual effects software
Macromedia Flash Development
Subjects
Subject: Cameras
Subject: scaleDown command
Subject: black out solved
Subject: Aircraft Tutorial
Subject: Mathematical XYZ ?
Subject: Re: Its done This vs That
Subject: Re: Its done first week
recommendations for screen video captures?
Subject: 3DExplorer "Oddity "
Subject: Re: New Director
Subject: ProTeam renewals
Fuel 's new websites (X post)
Blue peter create a make toy
targeting groups question
XPost: Shockwave 3D game ( sort of )
Subject: RES: RES: RES: Fish Modeling
Emitting particles from object intersection
Fuel 's new websites (X post)
Subject: Re: Texturing
Big Break Contest Videos
Subject: New Plugins
Models and Texture on my updated site
Error Installing Patch tS6 6
Subject: Plasma?
Looking for Inspiration
Subject: Weird EMail Q
Subject: Re: It 's done first week ?
Subject: Cherry not cranberry
Subject: Re: New game
Camera Animation Problem
Subject: Particle plugins?
 
Platformer with physics

Platformer with physics

2004-03-07       - By Geordie Moffatt

 Back
Reply:     1     2     3  

Try attaching a strong Angular Dashpot to the objects in the havok scene.  They
can still be moved but their angles are constrained to the objects original
orientation.  You'll never get the object to stay completely level, but close
enough.  I'm writing a First person engine using havok to handle all
interaction, the collision for the characters are cylinders with angular
dashpots applied.  This way when you apply a force to a character it stays
upright instead of rolling around.  I found bevelling the top and bottom of the
collision objects helps a lot with climbing gradients etc.

Seeyas,

GM

 -- -- Original Message -- --
 From: Jonas Beckeman
 To: dir3d-l@(protected)
 Sent: Monday, March 08, 2004 3:46 AM
 Subject: [Dir3d-l] [X-POST] Platformer with physics


 I've just started writing a generic platform game engine, a project which is
going to be a test for my C#/Director environment as well as some Shockwave
games.

 

 To get started quickly, I run a Havok simulation in the background that
handles the physics. Of course, I'll have to move away from that solution when
porting, but I think I'll use it a while. I haven't used Havok before, and
there's one problem with my current simple setup.

 

 Some properties of what I've got now:

 * Levels built from bezier curves, converted to mesh

 * Allow for Sonic-like gameplay (running in loops etc)

 * Balls and boxes that can be moved around, slide on slopes.

 

 Using standard Havok, moving boxes over edges makes them tip and tumble,
which doesn't feel very platform-game-like. I'd like them to stay until their
whole base is over the edge, then drop without rotating. I've got some ideas,
but they'll probably take me quite a while to evaluate.

 

 Anyone solved such a problem? Anyone that is a few hundred dollars from a
solution? I can specify further if someone's interested.

 

 /Jonas



-- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- ---- -----


 __ ____ ____ ____ ____ ____ ____ ____ ____ ____
 Dir3d-l mailing list
 Dir3d-l@(protected)
 http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859 (See http://iso-8859.ora-code.com)-1">
<META content=Word.Document name=ProgId>
<META content="MSHTML 6.00.2800.1226" name=GENERATOR>
<META content="Microsoft Word 10" name=Originator><LINK
href="cid:filelist.xml@(protected)" rel=File-List><!--[if gte mso 9]><xml>
<o:OfficeDocumentSettings>
 <o:DoNotRelyOnCSS/>
</o:OfficeDocumentSettings>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
 <w:SpellingState>Clean</w:SpellingState>
 <w:GrammarState>Clean</w:GrammarState>
 <w:DocumentKind>DocumentEmail</w:DocumentKind>
 <w:HyphenationZone>21</w:HyphenationZone>
 <w:EnvelopeVis/>
 <w:Compatibility>
  <w:BreakWrappedTables/>
  <w:SnapToGridInCell/>
  <w:WrapTextWithPunct/>
  <w:UseAsianBreakRules/>
 </w:Compatibility>
 <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
</w:WordDocument>
</xml><![endif]-->
<STYLE>@(protected) Section1 {size: 612.0pt 792.0pt; margin: 70.85pt 70.85pt 70.85pt
70.85pt; mso-header-margin: 36.0pt; mso-footer-margin: 36.0pt; mso-paper-source
: 0; }
P.MsoNormal {
  FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso
-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times
New Roman"
}
LI.MsoNormal {
  FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso
-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times
New Roman"
}
DIV.MsoNormal {
  FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; FONT-FAMILY: "Times New Roman"; mso
-style-parent: ""; mso-pagination: widow-orphan; mso-fareast-font-family: "Times
New Roman"
}
A:link {
  COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlink {
  COLOR: blue; TEXT-DECORATION: underline; text-underline: single
}
A:visited {
  COLOR: purple; TEXT-DECORATION: underline; text-underline: single
}
SPAN.MsoHyperlinkFollowed {
  COLOR: purple; TEXT-DECORATION: underline; text-underline: single
}
SPAN.E-postmall17 {
  COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose; mso
-style-noshow: yes; mso-ansi-font-size: 10.0pt; mso-bidi-font-size: 10.0pt; mso
-ascii-font-family: Arial; mso-hansi-font-family: Arial; mso-bidi-font-family:
Arial
}
SPAN.SpellE {
  mso-style-name: ""; mso-spl-e: yes
}
SPAN.GramE {
  mso-style-name: ""; mso-gram-e: yes
}
DIV.Section1 {
  page: Section1
}
</STYLE>
<!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
  {mso-style-name:"Normal tabell";
  mso-tstyle-rowband-size:0;
  mso-tstyle-colband-size:0;
  mso-style-noshow:yes;
  mso-style-parent:"";
  mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
  mso-para-margin:0cm;
  mso-para-margin-bottom:.0001pt;
  mso-pagination:widow-orphan;
  font-size:10.0pt;
  font-family:"Times New Roman";}
</style>
<![endif]--></HEAD>
<BODY lang=SV style="tab-interval: 65.2pt" vLink=purple link=blue
bgColor=#ffffff>
<DIV><FONT face=Arial size=2>Try attaching a strong Angular Dashpot to the
objects in the havok scene.&nbsp; They can still be moved but their angles are
constrained to the objects original orientation.&nbsp; You'll never get the
object to stay completely level, but close enough.&nbsp; I'm writing a First
person engine using havok to handle all interaction, the collision for the
characters are cylinders with angular dashpots applied.&nbsp; This way when you
apply a force to a character it stays upright instead of rolling around.&nbsp;
I
found bevelling the top and bottom of the collision objects helps a lot with
climbing gradients etc. </FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>Seeyas,</FONT></DIV>
<DIV>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>GM</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<BLOCKQUOTE
style="PADDING-RIGHT: 0px; PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT:
#000000 2px solid; MARGIN-RIGHT: 0px">
 <DIV style="FONT: 10pt arial">-- -- Original Message -- -- </DIV>
 <DIV
 style="BACKGROUND: #e4e4e4; FONT: 10pt arial; font-color: black"><B>From:</B>
 <A title=list@(protected) href="mailto:list@(protected)">Jonas Beckeman</A> </DIV>
 <DIV style="FONT: 10pt arial"><B>To:</B> <A
 title=dir3d-l@(protected)
 href="mailto:dir3d-l@(protected)">dir3d-l@(protected)<
/A>
 </DIV>
 <DIV style="FONT: 10pt arial"><B>Sent:</B> Monday, March 08, 2004 3:46
AM</DIV>
 <DIV style="FONT: 10pt arial"><B>Subject:</B> [Dir3d-l] [X-POST] Platformer
 with physics</DIV>
 <DIV><BR></DIV>
 <DIV class=Section1>
 <P class=MsoNormal style="mso-layout-grid-align: none"><SPAN
 class=SpellE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">I've</SPAN></FONT></SPAN>
<FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> just <SPAN
 class=SpellE>started</SPAN> <SPAN class=SpellE>writing</SPAN> a <SPAN
 class=SpellE>generic</SPAN> <SPAN class=SpellE>platform</SPAN> game <SPAN
 class=SpellE>engine</SPAN>, a <SPAN class=SpellE>project</SPAN> <SPAN
 class=SpellE>which</SPAN> is going to be a test for my C#/Director <SPAN
 class=SpellE>environment</SPAN> as <SPAN class=SpellE>well</SPAN> as <SPAN
 class=SpellE>some</SPAN> <SPAN class=SpellE>Shockwave</SPAN>
 games.<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p>&nbsp;</o:p></SPAN><
/FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><SPAN class=GramE>
<FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">To get <SPAN
 class=SpellE>started</SPAN> <SPAN class=SpellE>quickly</SPAN>, I <SPAN
 class=SpellE>run</SPAN> a <SPAN class=SpellE>Havok</SPAN> simulation in the
 <SPAN class=SpellE>background</SPAN> that <SPAN class=SpellE>handles</SPAN>
 the <SPAN class=SpellE>physics</SPAN>. Of <SPAN class=SpellE>course</SPAN>,
 <SPAN class=SpellE>I'll</SPAN> <SPAN class=SpellE>have</SPAN> to <SPAN
 class=SpellE>move</SPAN> <SPAN class=SpellE>away</SPAN> from that solution
 <SPAN class=SpellE>when</SPAN> <SPAN class=SpellE>porting</SPAN>, <SPAN
 class=SpellE>but</SPAN> I <SPAN class=SpellE>think</SPAN> <SPAN
 class=SpellE>I'll</SPAN> <SPAN class=SpellE>use</SPAN> it a <SPAN
 class=SpellE>while</SPAN>. </SPAN></FONT></SPAN><FONT face="Courier New"
 size=2><SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">I <SPAN
 class=SpellE>haven't</SPAN> <SPAN class=SpellE>used</SPAN> <SPAN
 class=SpellE>Havok</SPAN> <SPAN class=SpellE>before</SPAN>, and <SPAN
 class=SpellE>there's</SPAN> <SPAN class=SpellE>one</SPAN> problem with my
 <SPAN class=SpellE>current</SPAN> simple <SPAN
 class=SpellE>setup</SPAN>.<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p>&nbsp;</o:p></SPAN><
/FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><SPAN
 class=SpellE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Some</SPAN></FONT></SPAN>
<FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> <SPAN
 class=SpellE>properties</SPAN> of <SPAN class=SpellE>what</SPAN> <SPAN
 class=SpellE>I've</SPAN> got <SPAN
 class=SpellE>now</SPAN>:<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">* <SPAN
 class=SpellE>Levels</SPAN> <SPAN class=SpellE>built</SPAN> from <SPAN
 class=SpellE>bezier</SPAN> <SPAN class=SpellE>curves</SPAN>, <SPAN
 class=SpellE>converted</SPAN> to <SPAN
 class=SpellE>mesh</SPAN><o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">* <SPAN
 class=SpellE>Allow</SPAN> for <SPAN class=SpellE>Sonic-like</SPAN> <SPAN
 class=SpellE>gameplay</SPAN> (<SPAN class=SpellE>running</SPAN> in loops
<SPAN
 class=SpellE>etc</SPAN>)<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">* Balls and <SPAN
 class=SpellE>boxes</SPAN> that <SPAN class=SpellE>can</SPAN> be <SPAN
 class=SpellE>moved</SPAN> <SPAN class=SpellE>around</SPAN>, slide on <SPAN
 class=SpellE>slopes</SPAN>.<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p>&nbsp;</o:p></SPAN><
/FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><SPAN
 class=SpellE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Using</SPAN></FONT></SPAN
><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> standard <SPAN
 class=SpellE>Havok</SPAN>, <SPAN class=SpellE>moving</SPAN> <SPAN
 class=SpellE>boxes</SPAN> over <SPAN class=SpellE>edges</SPAN> makes <SPAN
 class=SpellE>them</SPAN> <SPAN class=SpellE>tip</SPAN> and <SPAN
 class=SpellE>tumble</SPAN>, <SPAN class=SpellE>which</SPAN> <SPAN
 class=SpellE>doesn't</SPAN> <SPAN class=SpellE>feel</SPAN> <SPAN
 class=SpellE>very</SPAN> <SPAN class=SpellE>platform-game-like</SPAN>. <SPAN
 class=SpellE>I'd</SPAN> like <SPAN class=SpellE>them</SPAN> to <SPAN
 class=SpellE>stay</SPAN> <SPAN class=SpellE>until</SPAN> <SPAN
 class=SpellE>their</SPAN> <SPAN class=SpellE>whole</SPAN> <SPAN
 class=SpellE>base</SPAN> is over the <SPAN class=SpellE><SPAN
 class=GramE>edge</SPAN></SPAN>, <SPAN class=SpellE>then</SPAN> drop <SPAN
 class=SpellE>without</SPAN> <SPAN class=SpellE>rotating</SPAN>. <SPAN
 class=SpellE>I've</SPAN> got <SPAN class=SpellE>some</SPAN> <SPAN
 class=SpellE>ideas</SPAN>, <SPAN class=SpellE>but</SPAN> <SPAN
 class=SpellE>they'll</SPAN> <SPAN class=SpellE>probably</SPAN> <SPAN
 class=SpellE>take</SPAN> <SPAN class=SpellE>me</SPAN> <SPAN
 class=SpellE>quite</SPAN> a <SPAN class=SpellE>while</SPAN> to <SPAN
 class=SpellE>evaluate</SPAN>.<o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p>&nbsp;</o:p></SPAN><
/FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><SPAN
 class=SpellE><SPAN class=GramE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Anyone</SPAN></FONT><
/SPAN></SPAN><SPAN
 class=GramE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> <SPAN
 class=SpellE>solved</SPAN> <SPAN class=SpellE>such</SPAN> a problem?
 </SPAN></FONT></SPAN><SPAN class=SpellE><FONT face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">Anyone</SPAN></FONT><
/SPAN><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"> that is a <SPAN
 class=SpellE>few</SPAN> <SPAN class=SpellE>hundred</SPAN> dollars from a
 solution? <SPAN class=GramE>I <SPAN class=SpellE>can</SPAN> <SPAN
 class=SpellE>specify</SPAN> <SPAN class=SpellE>further</SPAN> <SPAN
 class=SpellE>if</SPAN> <SPAN class=SpellE>someone's</SPAN> <SPAN
 class=SpellE>interested</SPAN>.</SPAN><o:p></o:p></SPAN></FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'"><o:p>&nbsp;</o:p></SPAN><
/FONT></P>
 <P class=MsoNormal style="mso-layout-grid-align: none"><FONT
 face="Courier New" size=2><SPAN
 style="FONT-SIZE: 10pt; FONT-FAMILY: 'Courier New'">/Jonas<o:p></o:p></SPAN><
/FONT></P></DIV>
 <P>
 <HR>

 <P></P>__ ____ ____ ____ ____ ____ ____ ____ ____ ____<BR>Dir3d-l mailing
 list<BR>Dir3d-l@(protected)<BR>http://nuttybar.drama.uga.edu
/mailman/listinfo/dir3d-l<BR></BLOCKQUOTE></BODY></HTML>

__ ____ ____ ____ ____ ____ ____ ____ ____ ____
Dir3d-l mailing list
Dir3d-l@(protected)
http://nuttybar.drama.uga.edu/mailman/listinfo/dir3d-l