3DML

3DML

3DML is a format for creating 3 dimensional websites. It was invented in 1996 by Michael Powers. The files are written in a kind of (non-valid) XML and can be shown with a browser plugin and independent 3DML browser called [http://www.flatland.com Flatland Rover] . Unfortunately the latest version is from spring 2005, which is also why there is only a plugin for Internet Explorer, Netscape Navigator and AOL, but not for Mozilla Firefox. An older version of the plugin is available for Opera: [http://www.opera.com/docs/plugins/] .

A 3DML world is called a "Spot". In the spot "blocks" can be inserted, laid out in a grid. The blocks can be ordered into "levels" - each has the same size. This approach was designed to simplify the building process and comprehension of 3D pages. The following is an example of a full Spot description of a 3D room with walls.

<blockset href="http://blocksets.flatland.com/flatsets/basic.bset"/> <map style="single" dimensions="(9,9,2)" /> <sky texture="images/clouds.gif" brightness="90%" /> <ground texture="images/dirt.gif" /> <ambient_light brightness="100%" /> <ambient_sound file="sounds/waves.wav" volume="65%" playback="looped"/> </head> <body> <level number="1"> ###...### #.......# #.......# #.......# #.......# #.......# #.......# #.......# ######### </level> <level number="2"> ###---### #-------# #-------# #-------# #-------# #-------# #-------# #-------# ######### </level> <entrance location="(5,8,1)" name="default" angle="0,0" /> </body> </spot><p>You can walk the spots either by using mouse or arrow keys.<p><strong>ee also</strong><p>* <r>VRML</r><br>* <r>X3D</r><br>* <r>3DMLW</r><br>* <r>3DXML</r><p><strong>Links</strong><p>* [<small><i>http://www.flatland.com Homepage of the developers</i></small>] <br>* [<small><i>http://www.opera.com/docs/plugins The Opera plugin</i></small>] <br>* [<small><i>http://www.xml.com/pub/a/1999/01/3dml/3dml-plain.html An introduction to 3DML</i></small>] <br>* [<small><i>http://www.flatland.com/build/tutorial/ Another tutorial</i></small>] </dd> <br /> <p id="TerminSourceInfo" class="src"> <em><span itemprop="source">Wikimedia Foundation</span>. <span itemprop="source-date">2010</span>.</em> </p> </div> </dl> </div> <div style="padding:5px 0px;"> <a href="https://games.academic.ru" style="color: green; font-size: 16px; margin-right:10px"><b>Игры ⚽</b></a> <b><a title='онлайн-сервис помощи студентам' href='https://homework.academic.ru/?type_id=9'>Поможем решить контрольную работу</a></b></div> <div id="socialBar_h"></div> <ul class="post-nav" id="TerminsNavigationBar"> <li class="prev"><a href="https://en-academic.com/dic.nsf/enwiki/5946354" title="Li Ke">Li Ke</a></li> <li class="next"><a href="https://en-academic.com/dic.nsf/enwiki/5946356" title="Interest Equalization Tax">Interest Equalization Tax</a></li> </ul> <div class="other-info"> <div class="holder"> <h3 class="dictionary">Look at other dictionaries:</h3> <ul class="terms-list"> <li><p><strong><a href="//en-academic.com/dic.nsf/enwiki/11092486">Pieter Leemans</a></strong> — (1897 1980) was a Belgian composer. He worked in a variety of genres, including orchestral and choral music, film scores, and songs, but is best known for his marches. [http://www.mirasound.nl/wwm/wwm 2005 new.html] The March of the Belgian… …   <span class="src2">Wikipedia</span></p></li> <li><p><strong><a href="//de-academic.com/dic.nsf/dewiki/1531824">X3dv</a></strong> — Dieser Artikel wurde aufgrund von inhaltlichen Mängeln auf der Qualitätssicherungsseite der Redaktion Informatik eingetragen. Dies geschieht, um die Qualität der Artikel aus dem Themengebiet Informatik auf ein akzeptables Niveau zu bringen. Hilf… …   <span class="src2">Deutsch Wikipedia</span></p></li> </ul> </div> </div> </div> </div> <div id="ad_bottom"> </div> <div id="footer"> <div id="liveinternet"> <!--LiveInternet counter--><a href="https://www.liveinternet.ru/click;academic" target="_blank"><img id="licntC2FD" width="31" height="31" style="border:0" title="LiveInternet" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAEALAAAAAABAAEAAAIBTAA7" alt=""/></a><script>(function(d,s){d.getElementById("licntC2FD").src= "https://counter.yadro.ru/hit;academic?t44.6;r"+escape(d.referrer)+ ((typeof(s)=="undefined")?"":";s"+s.width+"*"+s.height+"*"+ (s.colorDepth?s.colorDepth:s.pixelDepth))+";u"+escape(d.URL)+ ";h"+escape(d.title.substring(0,150))+";"+Math.random()}) (document,screen)</script><!--/LiveInternet--> </div> <div id="restrictions">18+</div> © Academic, 2000-2024 <ul> <li> Contact us: <a id="m_s" href="#">Technical Support</a>, <a id="m_a" href="#">Advertising</a> </li> </ul> <div> <a href="//partners.academic.ru/partner_proposal.php">Dictionaries export</a>, created on PHP, <div class="img joom"></div> Joomla, <div class="img drp"></div> Drupal, <div class="img wp"></div> WordPress, MODx. </div> </div> <div id="contextmenu"> <ul id="context-actions"> <li><a data-in="masha">Mark and share</a></li> <li class="separator"></li> <!--li><a data-in="dic">Look up in the dictionary</a></li--> <!--li><a data-in="synonyms">Browse synonyms</a></li--> <li><a data-in="academic">Search through all dictionaries</a></li> <li><a data-in="translate">Translate…</a></li> <li><a data-in="internet">Search Internet</a></li> <!--li><a data-in="category">Search in the same category</a></li--> </ul> <ul id="context-suggestions"> </ul> </div> <div id="sharemenu" style="top: 1075px; left: 240px;"> <h3>Share the article and excerpts</h3> <ul class="smm"> <li class="vk"><a onClick="share('vk'); return false;" href="#"></a></li> <li class="ok"><a onClick="share('ok'); return false;" href="#"></a></li> <li class="fb"><a onClick="share('fb'); return false;" href="#"></a></li> <li class="tw"><a onClick="share('tw'); return false;" href="#"></a></li> <li class="gplus"><a onClick="share('g+'); return false;" href="#"></a></li> <li class="mailru"><a onClick="share('mail.ru'); return false;" href="#"></a></li> <li class="lj"><a onClick="share('lj'); return false;" href="#"></a></li> <li class="li"><a onClick="share('li'); return false;" href="#"></a></li> </ul> <div id="share-basement"> <h5>Direct link</h5> <a href="" id="share-directlink"> … </a> <small> Do a right-click on the link above<br/>and select “Copy Link” </small> </div> </div> <script async src="/js/academic.min.js?150324" type="text/javascript"></script> <div id="ad_right"> <div class="banner"> <div class="EAC_ATFR_300n"></div> </div> <div class="banner sticky"> <div class="EAC_MIDR_300c"></div> </div> </div> </div> <!-- /59581491/bottom --> <div id='div-gpt-ad-bottom'> <script> googletag.cmd.push(function() { googletag.display('div-gpt-ad-bottom'); }); </script> </div> <div id='div-gpt-ad-4fullscreen'> </div> <br/><br/><br/><br/> <!-- Yandex.Metrika counter --> <script type="text/javascript" > (function(m,e,t,r,i,k,a){m[i]=m[i]||function(){(m[i].a=m[i].a||[]).push(arguments)}; m[i].l=1*new Date();k=e.createElement(t),a=e.getElementsByTagName(t)[0],k.async=1,k.src=r,a.parentNode.insertBefore(k,a)}) (window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym"); ym(70309897, "init", { clickmap:false, trackLinks:true, accurateTrackBounce:false }); </script> <noscript><div><img src="https://mc.yandex.ru/watch/70309897" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> <!-- Begin comScore Tag --> <script> var _comscore = _comscore || []; _comscore.push({ c1: "2", c2: "23600742" }); (function() { var s = document.createElement("script"), el = document.getElementsByTagName("script")[0]; s.async = true; s.src = (document.location.protocol == "https:" ? "https://sb" : "http://b") + ".scorecardresearch.com/beacon.js"; el.parentNode.insertBefore(s, el); })(); </script> <noscript> <img src="//b.scorecardresearch.com/p?c1=2&c2=23600742&cv=2.0&cj=1" /> </noscript> <!-- End comScore Tag --> <div id="adfox_170348457446416523"></div> <script> window.yaContextCb.push(()=>{ Ya.adfoxCode.createAdaptive({ ownerId: 332443, containerId: 'adfox_170348457446416523', type:'floorAd', platform:"desktop", params: { p1: 'daqeo', p2: 'iqvg' } }, ['desktop', 'tablet'], { tabletWidth: 830, phoneWidth: 480, isAutoReloads: false }) }) </script> <script> setInterval(function(){ window.Ya.adfoxCode.reload('adfox_170348457446416523', {onlyIfWasVisible: true}) }, 30000); </script> </body> <link rel="stylesheet" href="/css/academic_v2.css?20210501a" type="text/css" /> <link rel="stylesheet" href="/css/mobile-menu.css?20190810" type="text/css" /> </html>