Hi again
Oshyan has pretty much covered the basics of my method although he's missed out the image mapping/masking and the vital step of inverting the lower plane.
My work flow:
create a plane, set its size to 1000m x 1000m
Move the plane to its desired location (x & z)
DO NOT MOVE THE PLANE IN THE Y AXISIn the planes internal network plug an image shader into the displacement input of the default shader.
MAKE SURE YOU COPY AND PASTE THE COORDINATES FROM THE PLANES LOCATION TO THE IMAGE MAPS POSITION.Do the same again with another image map shader plugged into the opacity input of the default node, this time with a black and white image that masks out the unwanted areas of the plane.
You should now have a displaced plane sat on the planets surface. To raise the plane off the surface of the planet add another default shader after your main default shader and key in a Displacement offset of say 500m. This will raise your plane off the ground. (I'll explain why this is necessary further down)
That's the top half of your floating island done (simplistically).
To make the lower half of your island copy and paste your plane node and look at the "Edge vector" values. The plane is a single sided object. The default values are:
1, 0, 0
0, 0, 1
Change this in your lower plane:
0, 0, 1
1, 0, 0
This will "flip" the plane over so its normals are pointing down.
Now go into your internal network of the lower plane and change the value of the Displacement offset to its complementary negative value (500m becomes -500m)
In order to populate the plane you'll need to create a population shader at the same coordinates as the planes (copy/paste from your planes position) and plug into the population shaders Terrain input your lowest default shaders output. If you dont use the displacement offset trick to move your plane in the Y axis its populations will not sit correctly on the plane, they will float above the plane.
That's pretty much it, it should all work now. You may have issues with the two planes not meeting properly. Creating higher resolution images together with lower compute terrain settings will alleviate this somewhat but I found that actually moving the Displacement offset to -502m was a good enough cheat.
I hope this is helpful in some way. It really is a dirty hack making Terragen do something it was not envisaged for but it works to a fair degree. I found it very time consuming and labourious (especially with multiple islands) but it may be a solution for you.
Good luck and let us see your results.
Richard
ps I may post a link to a complete project file when I get home.