flagflag  
1: 2009-08-13 (Thu) 16:48:56 iseki source Cur: 2009-08-31 (Mon) 18:31:57 iseki source
Line 1: Line 1:
** SIM Boundary [#obc15ec7] ** SIM Boundary [#obc15ec7]
 +- OpenSim/Region/Physics/OdePlugin/OdePlug​in.cs
 +- Simulate() 関数内の actor.UpdatePositionAndVelocity() へチェックコードを追加.
 +
 + if (actor != null) {
 +   actor.UpdatePositionAndVelocity();
 + 
 +   // by Fumi.Iseki  for falling at SIM boundary
 +   d.Vector3 vec = d.BodyGetPosition(actor.Body);
 + 
 +   if (vec.Y<=0.0f || vec.Y>=255.95f || vec.X<=0.0f || vec.X>=255.95f) {
 +       if      (vec.Y<=0.0f)  vec.Y = 0.1f;
 +       else if (vec.Y>255.95f) vec.Y = 255.95f;
 +       if      (vec.X<=0.0f)  vec.X = 0.1f;
 +       else if (vec.X>255.95f) vec.X = 255.95f;
 + 
 +       float height = GetTerrainHeightAtXY(Vec.X, Vec.Y);
 +       if (actor.Flying) {
 +           if (vec.Z  <  height + 2) {
 +               vec.Z = height + actor.Size.Z/2;
 +               actor.Velocity.Z = 0;
 +               actor.IsColliding = true;
 +           }
 +       }
 +       else {
 +           if (vec.Z < height + actor.Size.Z/2) {
 +               vec.Z = height + actor.Size.Z/2;
 +               actor.Velocity.Z = 0;
 +               actor.IsColliding = true;
 +               actor.CollidingGround = true;
 +           }
 +       }
 + 
 +       actor.Position = new PhysicsVector(vec.X, vec.Y, vec.Z);
 +       d.BodySetPosition(actor.Body, vec.X, vec.Y, vec.Z);
 +   }
 + }


Front page   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

55 user(s) are online (24 user(s) are browsing xpwiki)

Members: 0
Guests: 55

more...

Access Counter

Today : 1285412854128541285412854
Yesterday : 1306913069130691306913069
Total : 2363765023637650236376502363765023637650236376502363765023637650
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com