From .obj to .navmesh menu

Shout-Out

User Tag List

Page 4 of 6 FirstFirst 123456 LastLast
Results 46 to 60 of 77
  1. #46
    Millow's Avatar Member
    Reputation
    5
    Join Date
    Mar 2007
    Posts
    49
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Hey, I managed to save my mesh for my part, I'll publish it when I'm certain it works though because for now I have a problem.
    Basically, I build and output the mesh with recast and it looks fine. The header is there and the data. For now its a single tile, I'm just trying stuff. But when I try to use detour on my mesh, everything work fine at first.
    But when it hits this line if (m_tiles[it].salt != salt || m_tiles[it].header == 0) return DT_FAILURE | DT_INVALID_PARAM; in DetourNavMesh.cpp

    it aborts because the first condition is false. I don't really understand the salt variable, Miko says it has something to do with the modification done to a tile. Anyone can enlighten me ?
    And is there anyone who had the same problem as me ?
    I think it may have to do with my navmesh generation, but I don't see what part is wrong....
    "What can be asserted without proof can be dismissed without proof." --- Christopher Hitchens

    From .obj to .navmesh
  2. #47
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    How many tiles do you have? What are the values of m_tiles[it].salt and salt?

  3. #48
    Millow's Avatar Member
    Reputation
    5
    Join Date
    Mar 2007
    Posts
    49
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    I was doing something wrong it seems. I recoded the whole thing and now it works. I can take the .obj and save it as a navmesh.
    I can then use it to calculate a path, I just can't believe it works now, thanx for the pointers namreeb, couldn't have done it without you.
    Now I just gotta figure how to use tile mesh, and then I'm good to go !
    I'll post the code tonight.
    Cheers
    "What can be asserted without proof can be dismissed without proof." --- Christopher Hitchens

  4. #49
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Wtf the shit only works if i use tileX 0 and tile Y 0 as start position. Else it shows the Mesh correct, but its inpossible to navigate -.-

  5. #50
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    When you have 1 tile per adt, the obvious coordinate system to use is the adt x and y. Then you'll have x and y values ranging from 0 to 64. If you have four tiles per adt, you'll have an x and y range of 128.

    If, for example, you have 9 tiles per ADT (3x3), and you're talking about ADT (35, 14) your X values will range from 105 to 107 (35*3, 35*3+1, 35*3+2) and Y values from 42 to 44 (14*3, 14*3+1, 14*3+2).

    It's not really that complicated. I think you might be running before you can walk, so to speak.

  6. #51
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    This is my Output:

    Code:
    LogId: 0TileX: 105 TileY: 42 CounterX: 0 CounterY: 0
    LogId: 1TileX: 106 TileY: 42 CounterX: 1 CounterY: 0
    LogId: 2TileX: 107 TileY: 42 CounterX: 2 CounterY: 0
    LogId: 3TileX: 105 TileY: 43 CounterX: 0 CounterY: 1
    LogId: 4TileX: 106 TileY: 43 CounterX: 1 CounterY: 1
    LogId: 5TileX: 107 TileY: 43 CounterX: 2 CounterY: 1
    LogId: 6TileX: 105 TileY: 44 CounterX: 0 CounterY: 2
    LogId: 7TileX: 106 TileY: 44 CounterX: 1 CounterY: 2
    LogId: 8TileX: 107 TileY: 44 CounterX: 2 CounterY: 2
    still the same

    Here a pic from the Output:

    Walkable area is shown but navigation don't work


  7. #52
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Are you sure that your cell size perfectly divides the tile size?

  8. #53
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Ive tested it with so much cell and tile sizes. Still every time the same error : Walkable area is shown but not able to navigate!

  9. #54
    namreeb's Avatar Legendary

    Reputation
    668
    Join Date
    Sep 2008
    Posts
    1,029
    Thanks G/R
    8/222
    Trade Feedback
    0 (0%)
    Mentioned
    9 Post(s)
    Tagged
    0 Thread(s)
    Are you able to find a path without crossing a tile border?

  10. #55
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Nope it could be 2 Meters dist betwen in the same tile and it still does not do the Path generation if i set the Header back to 0,0 it works fine -.-

  11. #56
    Flowerew's Avatar Master Sergeant
    Reputation
    72
    Join Date
    Oct 2009
    Posts
    134
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Originally Posted by Bananenbrot View Post
    Cause wowmapper had the same bug.

    iirc, it was like (scale / 1024) which results in an int rather than a float, thus it's truncated.

    Edit: Yes, it's unchanged... see line 225 in Sample_D3dByAreaId.cpp - wowmapper - World of Warcraft MAP ParsER - Google Project Hosting . Added a patch for it.
    Thank you, I applied your patch and after a long break I try to get back into the project.

  12. #57
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    If you want navigation works n recast_demo, you've to change your mesh origine

  13. #58
    hamburger12's Avatar Contributor CoreCoins Purchaser
    Reputation
    87
    Join Date
    Jan 2010
    Posts
    297
    Thanks G/R
    0/1
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Witch value should i pass to the Origine array? Also the Tile X and Y? becouse its an array with a sitz of 3 elements :S

  14. #59
    Millow's Avatar Member
    Reputation
    5
    Join Date
    Mar 2007
    Posts
    49
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Can you load a mesh in recast demo ? I was wondering that because I wanted to do some testing but I always have to first load the .obj, then generate the mesh and then test. But I already have my mesh, can I load it in some way in recast demo ?
    "What can be asserted without proof can be dismissed without proof." --- Christopher Hitchens

  15. #60
    guizmows's Avatar Banned
    Reputation
    57
    Join Date
    Feb 2008
    Posts
    414
    Thanks G/R
    0/0
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    in Sample_TileMesh::handleBuild()
    Code:
    	m_ctx->log(RC_LOG_PROGRESS, "MaxTile : %i/MaxPoly : %i", m_maxTiles, m_maxPolysPerTile);
    
    	dtNavMeshParams params;
    	/*rcVcopy(params.orig, m_geom->getMeshBoundsMin());
    	params.tileWidth = m_tileSize*m_cellSize;
    	params.tileHeight = m_tileSize*m_cellSize;*/
    
    	params.tileWidth = TileSize / 2;
    	params.tileHeight = TileSize / 2;
    	params.orig[0] = -(32*TileSize);
    	params.orig[1] = -(32*TileSize);
    	params.orig[2] = -(32*TileSize);
    
    	params.maxTiles = m_maxTiles;
    	params.maxPolys = 1048576 / 4; //m_maxPolysPerTile;
    @millow : you've to add a loadmesh function

Page 4 of 6 FirstFirst 123456 LastLast

Similar Threads

  1. Making Cash from Lv. 10
    By Cush in forum World of Warcraft Guides
    Replies: 10
    Last Post: 09-02-2006, 10:52 PM
  2. Free Marks from Battle Grounds
    By Matt in forum World of Warcraft Exploits
    Replies: 10
    Last Post: 06-19-2006, 11:21 AM
  3. Add-ons from curse-gaming.
    By volcom in forum World of Warcraft General
    Replies: 5
    Last Post: 05-16-2006, 11:50 AM
  4. Raid Griefing Exploit (kick anyone from any group)
    By Matt in forum World of Warcraft Exploits
    Replies: 5
    Last Post: 04-28-2006, 09:26 AM
All times are GMT -5. The time now is 09:51 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search