Advanced- Tree Modelling

•Attention: open in a new window.• •PDF••Print••E-mail•

Trees are fast becoming a new craze for RCT3, so here is a tutorial to help get you started and to rule out some common issues. When people think trees and shrubs they first think of alphas, right? Ok so this is fine as they are the main part of a tree, the issue with this is that most people take a whole tree, foliage and trunk and use it as an alpha and simply rotate that alpha. Often trees are not perfectly straight and this can look a bit low quality. Also if the tree in the alpha has a bent trunk or uneven foliage this can look a bit ridiculous in-game. There are a few tricks to get around this, we will go through making your own foliage off just a small sample of leaves and also using a 3d trunk to create unique and professional trees.
Here you can see my starting alpha image. To get this I simply took a photo on my phone and then turned the image into the alpha using gimp.

Now that you have a starting piece of foliage you simply plan a rough shape for the tree, the tree I am working on has symmetrical foliage. If you want your foliage to be uneven or slanted you will need to create multiple alphas and calculate variations in shape to have it work in your model.
Now simply start cloning the foliage into a rough shape, at this stage it is just a rough outline. As I mentioned before my tree is symmetrical so I will simply do one half and then mirror it later.

 

While your foliage is taking shape try to leave gaps/spaces towards the centre, I will explain why later.

 

As you can see I have left heaps of room around the middle of the alpha.

 

Now mirror your image and the gaps will be revealed and be more evident.

 

Create a new layer, with your starting alpha, darken the sample foliage from the first step and place it to fill the gaps in the texture, this can be really rough. You will see why later.

 

Now lower the layer so that it is hidden.

 

Use the fuzzy tool as the rubber/eraser and blur the edge of the first/front layer, try to do a better job than I have.

 

Now is a good time to review, I decided to add more dark foliage to the bottom/back layer to help define the foliage.

 

Once the foliage is looking more realistic, once again hopefully better then my rush job, then move on.

 

Start to blur and erase the edges, I do this one layer at a time to create a better transition. Alternating the pressure of the brush is a great idea also.

 

Once both layers are reworked to suit your tree type then you are done. Make sure the foliage is as defined as well as possible.
Now lets get to modelling the actual tree.
When it comes to modeling it really depends on the tree you want to design but here is the most effect design (well I think so anyway).

 

LOD's - Step 12

So here you can see that with trees it is important to set up different LOD’s to help keep the game running smooth. Note this is only for the foliage, the trunk will be added later.

If you are not familiar with LOD’s (Level of Details) then I will try to help. Basically think of an object, the closer you are the more detail you see, the further away the less detail you see and you begin to focus on the shape rather then detail. This is why we reduce the number of faces, also the firther away that you are in-game the more trees and other objects you are seeing thus more for the computer to process.


If you find the images above a bit hard to decipher t create your model off then use the step by step images below. Colours are just for illustrational purposes. You should texture the faces before copying it and rotating. Easier to do it first.

 

LOD's, Model - Step 13

 

LOD's, Model - Step 14

 

LOD's, Model - Step 15

 

LOD's, Model - Step 16

 

LOD's, Model - Step 17

 

LOD's, Model - Step 18

 

LOD's, Model - Step 19

 

Your finished model should look like this; yours should hopefully not have the white edges as I used a bad alpha as I was short on time.

 

Here is the foliage without the edges, a more accurate render to what to expect in-game. Now it is time to make the tree trunk.

 

Start by working with different curves and shapes to get a look that suits the foliage. Don’t be afraid to use guidelines and keep adjusting it until it is exactly what you want.

 

Once your shape is defined be sure to reduce it as much as possible. Create a curve that has no more than 5 edges. I generally try to stick to 3. This is because it is easy to expand the polycount greatly at this stage.

 

Place a circle at the base like so.

 

Right click the circle and select entity info. Change the segments to 4.

 

Your trunk should look like or similar to this.

 

Now use the follow me tool to extend the trunk up to form the shape outlined.

 

Now it is time to texture your trunk, use a seamless bark texture, simply use a photo and gimp can turn it into a seamless texture for you.

 

Once applied select the trunk then right click the selection. Now select ‘soften/smooth edges’ adjust this to the maximum or to what suits you.

 

Your trunk should look like this, neither cartoony nor realistic, a happy medium for the game.
The trunk can also be used to effect the polygon count so when making different models for different LODS try using a straight trunk or an alpha for the trunk, keep it real simple.

 

Now simply align the trunk and foliage to have a unique tree with a low polycount.
This model at the highest LOD has 38 triangles. After revising this tree I realised that the trunk only needed the two edges to make the bend and not the three. The third is covered by the foliage, By doing this the triangle count drops to 30 triangles.
At the lowest detail, using a straight trunk the count would be 12 polygons.
Well get to it, start making and sharing trees.

 

•Add comment•


•Security code•
•Refresh•

Download stats

The download archive contains currently 94 downloads in 15 categories. To date, these have been downloaded 4772 times.

Downloads top

Drehkreuze / Turnstile... 603
2010-04-16
Cafeen's Letters 421
2010-04-16
Surfingoz Track Compon... 255
2010-04-05
Coaster Buildings v1.0228
2010-04-11
Mayan Temple Set v2.0201
2010-04-11

•Profile Information•

Application afterLoad: 0.000 seconds, 0.38 MB
Application get hook core.loadLanguages: 0.109 seconds, 8.40 MB
Application afterInitialise: 0.119 seconds, 8.69 MB
Application afterRoute: 0.154 seconds, 11.28 MB
Application afterDispatch: 0.501 seconds, 19.73 MB
Application get hook core.constructorEnd: 0.507 seconds, 19.82 MB
Application afterRender: 0.740 seconds, 24.93 MB
Application get hook core.afterRender: 0.772 seconds, 25.00 MB

•Memory Usage•

26287016

•87 queries logged•

  1. SELECT *
      FROM jos_session
      WHERE session_id = '37098452b94145169beb69a8934bb2b3'
  2. DELETE
      FROM jos_session
      WHERE ( time < '1337593323' )
  3. SELECT *
      FROM jos_session
      WHERE session_id = '37098452b94145169beb69a8934bb2b3'
  4. UPDATE `jos_session`
      SET `time`='1337594223',`userid`='0',`usertype`='',`username`='',`gid`='0',`guest`='1',`client_id`='0',`data`='__default|a:14:{s:15:\"session.counter\";i:50;s:19:\"session.timer.start\";i:1337590915;s:18:\"session.timer.last\";i:1337594070;s:17:\"session.timer.now\";i:1337594189;s:22:\"session.client.browser\";s:48:\"CCBot/1.0 (+http://www.commoncrawl.org/bot.html)\";s:8:\"registry\";O:9:\"JRegistry\":3:{s:17:\"_defaultNameSpace\";s:7:\"session\";s:9:\"_registry\";a:2:{s:7:\"session\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}s:6:\"global\";a:1:{s:4:\"data\";O:8:\"stdClass\":1:{s:4:\"list\";O:8:\"stdClass\":1:{s:5:\"limit\";i:12;}}}}s:7:\"_errors\";a:0:{}}s:4:\"user\";O:5:\"JUser\":20:{s:2:\"id\";i:0;s:4:\"name\";N;s:8:\"username\";N;s:5:\"email\";N;s:8:\"password\";N;s:14:\"password_clear\";s:0:\"\";s:8:\"usertype\";N;s:5:\"block\";N;s:9:\"sendEmail\";i:0;s:3:\"gid\";i:0;s:12:\"registerDate\";N;s:13:\"lastvisitDate\";N;s:10:\"activation\";N;s:6:\"params\";N;s:3:\"aid\";i:0;s:5:\"guest\";i:1;s:7:\"_params\";O:10:\"JParameter\":7:{s:4:\"_raw\";s:0:\"\";s:4:\"_xml\";N;s:9:\"_elements\";a:0:{}s:12:\"_elementPath\";a:1:{i:0;s:66:\"/home/goopedg1/public_html/libraries/joomla/html/parameter/element\";}s:17:\"_defaultNameSpace\";s:8:\"_default\";s:9:\"_registry\";a:1:{s:8:\"_default\";a:1:{s:4:\"data\";O:8:\"stdClass\":0:{}}}s:7:\"_errors\";a:0:{}}s:9:\"_errorMsg\";N;s:7:\"_errors\";a:0:{}s:6:\"avatar\";s:82:\"http://www.goopedgamers.com/components/com_jsocialsuite/images/no_avatar_small.png\";}s:9:\"myfriends\";s:6:\"a:0:{}\";s:13:\"session.token\";s:32:\"9bb54317737ee32f239f73feaea272f5\";s:19:\"socialites_cachtime\";i:1337594070;s:12:\"currtemplate\";s:8:\"mystique\";s:17:\"currtemplatestyle\";s:0:\"\";s:22:\"currtemplate_is_joomla\";i:2;s:15:\"jssAppPositions\";s:137:\"a:8:{i:0;s:8:\"jss_main\";i:1;s:4:\"menu\";i:2;s:5:\"right\";i:3;s:5:\"user1\";i:4;s:5:\"user2\";i:5;s:5:\"user3\";i:6;s:5:\"user4\";i:7;s:6:\"footer\";}\";}__quickfaq|a:1:{s:3:\"hit\";a:1:{i:0;s:1:\"5\";}}__agora|a:4:{s:14:\"sync_performed\";i:1;s:4:\"view\";s:5:\"forum\";s:11:\"defaultview\";s:1:\"1\";s:7:\"message\";s:0:\"\";}'
      WHERE session_id='37098452b94145169beb69a8934bb2b3'
  5. SELECT *
      FROM jos_components
      WHERE parent = 0
  6. SELECT folder AS type, element AS name, params
      FROM jos_plugins
      WHERE published >= 1
      AND access <= 0
      ORDER BY ordering
  7. SELECT id, parent_id, value, name, lft, rgt
      FROM jos_core_acl_aro_groups
      WHERE id=23
  8. SELECT id, parent_id, value, name, lft, rgt
      FROM jos_core_acl_aro_groups
      WHERE id=21
  9. SELECT id, parent_id, value, name, lft, rgt
      FROM jos_core_acl_aro_groups
      WHERE id=23
  10. SELECT id, parent_id, value, name, lft, rgt
      FROM jos_core_acl_aro_groups
      WHERE id=25
  11. SELECT m.*, c.`option` AS component
      FROM jos_menu AS m
      LEFT JOIN jos_components AS c
      ON m.componentid = c.id
      WHERE m.published = 1
      ORDER BY m.sublevel, m.parent, m.ordering
  12. SELECT *
      FROM jos_jss_hooks
      WHERE `published` = '1'
      ORDER BY `hook`, `ord`
  13. SELECT p.`folder_name`
                                   
      FROM jos_jss_plugins p
      WHERE p.`published` = '1'
  14. SELECT a.`folder_name`
                                           
      FROM jos_jss_apps a
      WHERE a.`published` = '1'
  15. SELECT `file`, `params`
      FROM `jos_sefexts`
  16. SELECT template
      FROM jos_templates_menu
      WHERE client_id = 0
      AND (menuid = 0 OR menuid = 31)
      ORDER BY menuid DESC
      LIMIT 0, 1
  17. SELECT *
      FROM jos_jcomments_settings
  18. SELECT a.*, u.name AS author, u.usertype, cc.title AS category, s.title AS section, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug, g.name AS groups, s.published AS sec_pub, cc.published AS cat_pub, s.access AS sec_access, cc.access AS cat_access 
      FROM jos_content AS a
      LEFT JOIN jos_categories AS cc
      ON cc.id = a.catid
      LEFT JOIN jos_sections AS s
      ON s.id = cc.section
      AND s.scope = "content"
      LEFT JOIN jos_users AS u
      ON u.id = a.created_by
      LEFT JOIN jos_groups AS g
      ON a.access = g.id
      WHERE a.id = 28
      AND (  ( a.created_by = 0 )    OR  ( a.state = 1
      AND ( a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2012-05-21 09:57:04' )
      AND ( a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2012-05-21 09:57:04' )   )    OR  ( a.state = -1 )  )
  19. UPDATE jos_content
      SET hits = ( hits + 1 )
      WHERE id='28'
  20. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_content.xml'
      LIMIT 1
  21. SELECT id, name
      FROM jos_agora_roles
  22. SELECT conf_name,conf_value
      FROM jos_agora_config
  23. SELECT conf_name,conf_value
      FROM jos_agora_config
  24. SELECT id
      FROM jos_menu
      WHERE link = 'index.php?option=com_jdownloads'
  25. SELECT setting_name, setting_value
      FROM jos_jdownloads_config
  26. SELECT g.*
      FROM jos_core_acl_aro_groups AS g
      INNER JOIN jos_core_acl_groups_aro_map AS gm
      ON gm.group_id = g.id
      INNER JOIN jos_core_acl_aro AS ao
      ON ao.id = gm.aro_id
      WHERE ao.value='62'
      ORDER BY g.id
  27. SELECT g.*
      FROM jos_core_acl_aro_groups AS g
      INNER JOIN jos_core_acl_groups_aro_map AS gm
      ON gm.group_id = g.id
      INNER JOIN jos_core_acl_aro AS ao
      ON ao.id = gm.aro_id
      WHERE ao.value='62'
      ORDER BY g.id
  28. SELECT id
      FROM jos_components
      WHERE `option`='com_phocagallery'
      AND parent = 0
      LIMIT 0, 1
  29. SELECT *
      FROM jos_components
      WHERE id = '84'
  30. SELECT id
      FROM jos_components
      WHERE `option`='com_phocadownload'
      AND parent = 0
      LIMIT 0, 1
  31. SELECT *
      FROM jos_components
      WHERE id = '95'
  32. SELECT created_by, sectionid, catid
      FROM jos_content
      WHERE id='28'
  33. SELECT count(*)
      FROM jos_attachments
      WHERE article_id='28'
      AND published='1'
  34. SELECT a.id, a.sectionid, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug
      FROM jos_content AS a
      LEFT JOIN jos_categories AS cc
      ON cc.id = a.catid
      WHERE a.id = 28
  35. SELECT count(*)

      FROM jos_jcomments

      WHERE object_id = 28

      AND object_group = 'com_content'

      AND published = 1
  36. SELECT DISTINCT SQL_CALC_FOUND_ROWS u1.id, u1.name, u1.username, u1.email, u1.usertype, u1.block,
                                            u1.registerDate, u1.lastvisitDate, u2.sex, u2.dob, u2.descr, u2.show_email, u2.show_dob, u2.show_name,
                                            u2.views_count, u2.friends_count, u2.rating, u2.votes_count, u2.apps_count, u2.tmplid, u2.avatarid, u2.acceptedterms
                                   
      FROM jos_jss_users u2
                                    JOIN jos_users u1
      ON u1.`id` = u2.`user_id`
                                    JOIN jos_jss_user_friends f
      ON u2.`user_id` = f.`friend_id`
                                           
      AND f.`confirmed` = '1'
                                   
      WHERE f.`user_id` = 0
      LIMIT 0, 12
  37. SELECT m.*, am.params AS adv_params
      FROM jos_modules AS m
      LEFT JOIN jos_advancedmodules AS am
      ON am.moduleid = m.id
      WHERE m.published = 1
      AND m.access <= 0
      AND m.client_id = 0
      ORDER BY m.ordering, m.id
  38. SELECT *
      FROM jos_banner
      WHERE showBanner = 1
      AND (imptotal = 0 OR impmade < imptotal)
      AND cid = 1
      AND catid = 7
      ORDER BY sticky DESC, ordering
      LIMIT 0, 1
  39. UPDATE jos_banner
      SET impmade = impmade + 1
      WHERE bid = 1
  40. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_banners.xml'
      LIMIT 1
  41. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_banners&bid=1&task=click'
  42. SELECT id
      FROM jos_menu
      WHERE link = 'index.php?option=com_jdownloads'
  43. SELECT cat_id
      FROM jos_jdownloads_cats
      WHERE published = 1
      AND cat_access <= 01
  44. SELECT *
      FROM jos_jdownloads_files
      WHERE published = 1
      AND cat_id IN (4,5,6,3,7,8,9,10,11,12,13,14,15,16,17)
      ORDER BY downloads DESC
      LIMIT 3
  45. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_jdownloads.xml'
      LIMIT 1
  46. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=17&cid=17&task=view.download'
  47. SELECT id
      FROM jos_menu
      WHERE link = 'index.php?option=com_jdownloads'
  48. SELECT cat_id
      FROM jos_jdownloads_cats
      WHERE published = 1
      AND cat_access <= 01
  49. SELECT *
      FROM jos_jdownloads_files
      WHERE published = 1
      AND cat_id IN (4,5,6,3,7,8,9,10,11,12,13,14,15,16,17)
      ORDER BY downloads DESC
      LIMIT 5
  50. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=17&cid=17&task=view.download'
  51. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=4&cid=47&task=view.download'
  52. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=4&cid=49&task=view.download'
  53. SELECT cat_id
      FROM jos_jdownloads_cats
      WHERE published = 1
      AND cat_access <= 01
  54. SELECT COUNT(*)
      FROM jos_jdownloads_files
      WHERE published = 1
      AND cat_id IN (4,5,6,3,7,8,9,10,11,12,13,14,15,16,17)
  55. SELECT SUM(downloads)
      FROM jos_jdownloads_files
      WHERE published = 1
      AND cat_id IN (4,5,6,3,7,8,9,10,11,12,13,14,15,16,17)
  56. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_agora.xml'
      LIMIT 1
  57. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_user.xml'
      LIMIT 1
  58. SELECT `value`
      FROM jos_jss_config
      WHERE `optname` = 'allow_user_registration'
  59. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_jsocialsuite.xml'
      LIMIT 1
  60. SELECT *
      FROM jos_banner
      WHERE showBanner = 1
      AND (imptotal = 0 OR impmade < imptotal)
      AND cid = 2
      AND catid = 52
      ORDER BY sticky DESC, ordering
      LIMIT 0, 1
  61. UPDATE jos_banner
      SET impmade = impmade + 1
      WHERE bid = 2
  62. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_banners&bid=2&task=click'
  63. SELECT DISTINCT u.id, u.username, u.name, u.email, au.id AS `agora_user_id` 
      FROM jos_session s, jos_users u, jos_agora_users au 
      WHERE s.userid = u.id
      AND u.id = au.jos_id
      AND s.client_id = 0
      ORDER BY u.`username`
  64. SELECT DISTINCT `data`
      FROM jos_session
      WHERE guest <> 0
      AND client_id = 0 
      AND `data` NOT LIKE '%bot%'
      AND `data` NOT LIKE '%igdeSpyder%'
      AND `data` NOT LIKE '%Mail.Ru%'
      AND `data` NOT LIKE '%StackRambler%'
      AND `data` NOT LIKE '%Yandex%'
      AND `data` NOT LIKE '%Yanga%'
      AND `data` NOT LIKE '%Yahoo%'
      AND `data` NOT LIKE '%Snoopy%'
  65. SELECT w.tstamp, w.this_user, w.that_user, w.output, w.app_id, w.plg_id, w.icon, w.STATUS, u1.name AS this_name, u1.username AS this_username, u2.name AS that_name, u2.username AS that_username, a.name AS appname, p.name AS plgname, ju1.show_name AS this_showname, ju1.avatarid AS this_avatarid, ju1.sex AS this_sex, ju2.show_name AS that_showname, ju2.avatarid AS that_avatarid, ju2.sex AS that_sex 
      FROM (
                                                    SELECT DISTINCT w1.*, w2.userid, w2.tstamp
                                                   
      FROM jos_jss_thewall w1
                                                    JOIN jos_jss_thewall_users w2
      ON w1.id = w2.wall_id
                                                           
      AND w1.this_user = w2.userid
                                                   
                                            ) w JOIN `jos_jss_users` AS ju1
      ON ju1.user_id = w.this_user  JOIN `jos_users` AS u1
      ON u1.id = w.this_user 
      LEFT JOIN `jos_users` AS u2
      ON u2.id = w.that_user 
      LEFT JOIN `jos_jss_users` AS ju2
      ON ju2.user_id = w.that_user 
      LEFT JOIN `jos_jss_apps` AS a
      ON w.`app_id` = a.`id`
      LEFT JOIN `jos_jss_plugins` AS p
      ON w.`plg_id` = p.`id`
      GROUP BY w.tstamp
      ORDER BY w.tstamp DESC 
      LIMIT 10
  66. SELECT id
      FROM jos_menu
      WHERE link = 'index.php?option=com_jdownloads'
  67. SELECT cat_id
      FROM jos_jdownloads_cats
      WHERE published = 1
      AND cat_access <= 01
  68. SELECT *
      FROM jos_jdownloads_files
      WHERE published = 1
      AND cat_id IN (4,5,6,3,7,8,9,10,11,12,13,14,15,16,17)
      ORDER BY date_added DESC
      LIMIT 5
  69. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=7&cid=96&task=view.download'
  70. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=7&cid=95&task=view.download'
  71. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=12&cid=94&task=view.download'
  72. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=16&cid=93&task=view.download'
  73. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads&catid=14&cid=92&task=view.download'
  74. SELECT cc.id, cc.userid, cc.comment, cc.name, cc.username, cc.email, cc.date, cc.object_id, cc.object_group, '' AS avatar
     
      FROM jos_jcomments AS cc
     
      LEFT JOIN jos_content AS c
      ON c.id = cc.object_id
     
      WHERE cc.published = 1
       
      AND c.access <= '0'
       
      AND (c.publish_up = '0000-00-00 00:00:00' OR c.publish_up <= NOW())
       
      AND (c.publish_down = '0000-00-00 00:00:00' OR c.publish_down >= NOW())
       
      AND cc.object_group = 'com_content'
       
      AND (c.sectionid IN (5) )
     
      ORDER BY cc.date DESC
     
      LIMIT 5
  75. SELECT a.id, a.sectionid, a.access, CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END AS slug, CASE WHEN CHAR_LENGTH(cc.alias) THEN CONCAT_WS(":", cc.id, cc.alias) ELSE cc.id END AS catslug
      FROM jos_content AS a
      LEFT JOIN jos_categories AS cc
      ON cc.id = a.catid
      WHERE a.id = 19
  76. SELECT title
      FROM jos_content
      WHERE id = 19
  77. SELECT `catid`
      FROM `jos_content`
      WHERE `id` = '4'
  78. SELECT `catid`
      FROM `jos_content`
      WHERE `id` = '2'
  79. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_content&catid=1&id=2&view=article'
  80. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_aikadmin.xml'
      LIMIT 1
  81. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_weblinks.xml'
      LIMIT 1
  82. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_chronocontact.xml'
      LIMIT 1
  83. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_jdownloads'
  84. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_lyftenbloggie.xml'
      LIMIT 1
  85. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_quickfaq.xml'
      LIMIT 1
  86. SELECT `filters`
      FROM `jos_sefexts`
      WHERE `file` = 'com_phocadocumentation.xml'
      LIMIT 1
  87. SELECT `sefurl`, `Itemid`
      FROM `jos_sefurls`
      WHERE `origurl` = 'index.php?option=com_content&layout=form&view=article'

•Language Files Loaded•

•Untranslated Strings Diagnostic•

MYDETAILS	::LyftenBloggieBuildRoute()	[/home/goopedg1/public_html/components/com_sef/joomsef.php:215]
MYENTRIES	::LyftenBloggieBuildRoute()	[/home/goopedg1/public_html/components/com_sef/joomsef.php:215]

•Untranslated Strings Designer•


# /home/goopedg1/public_html/components/com_sef/joomsef.php

MYDETAILS=MYDETAILS
MYENTRIES=MYENTRIES