home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Homebrewer's Handbook / vr.iso / vr386 / anirooms.wld < prev    next >
Text File  |  1996-03-19  |  9KB  |  323 lines

  1. #
  2. # ANIROOMS.WLD
  3. #
  4. # A sample set of rooms
  5. #
  6. # Created by Bernie Roehl and Dave Stampe, June 1992
  7. # for use with the REND386 package.
  8. # Animation added by Dave Stampe
  9. # For more information, contact broehl@sunee.uwaterloo.ca or
  10. # dstampe@sunee.uwaterloo.ca
  11. #
  12.  
  13. loadpath rooms
  14.  
  15. hither            10    # anything closer than this gets clipped
  16. yon          1000000    # anything farther than this doesn't get rendered
  17.  
  18. start 9200,1200,1300 0,-77,0 2  # starting location, orientation and zoom
  19.  
  20. camera 2 18000,20000,9000 60,-110,0
  21. camera 3 5500,45000,-1800 73,54,180
  22.  
  23. ambient 50
  24. light 50000,5000,50000 0
  25. #light 0,0,0 1
  26.  
  27. # Surface definitions:
  28.  
  29. surfacedef plaster   0x1fd8
  30. surfacedef brick     0x11ff
  31. surfacedef wood      0x12df
  32. surfacedef painted   0x13f8
  33. surfacedef glass1    0x3e00
  34. surfacedef glass2    0x3a00
  35. surfacedef tin       12
  36. surfacedef carpet    0x4a
  37. surfacedef greypaint 239
  38. surfacedef bright    255
  39. surfacedef grain     0x14e8
  40. surfacedef artwork   4
  41. surfacedef beige     0xfd
  42. surfacedef blue      8    #123
  43. surfacedef red       9    #123
  44. surfacedef orange    10    #123
  45. surfacedef cobble    239
  46. surfacedef marble    0x1Df8
  47. surfacedef steel1    0x28eF
  48. surfacedef steel2    0x25eF
  49. surfacedef teak      0x12ff
  50. surfacedef mirror    0x2a00
  51. surfacedef uglypaint 12
  52.  
  53.  
  54. # Surface mappings:
  55.  
  56. surfacemap single1
  57. surface 1 plaster
  58.  
  59. surfacemap single2
  60. surface 1 brick
  61.  
  62. surfacemap single3
  63. surface 1 wood
  64.  
  65. surfacemap double1
  66. surface 1 painted
  67. surface 2 brick
  68.  
  69. surfacemap double2
  70. surface 1 brick
  71. surface 2 painted
  72.  
  73. surfacemap double3
  74. surface 2 plaster
  75. surface 1 painted
  76.  
  77. surfacemap double4
  78. surface 2 plaster
  79. surface 1 brick
  80.  
  81. surfacemap wind1
  82. surface 1 plaster
  83. surface 2 glass1
  84. surface 3 brick
  85. surface 4 mirror
  86. surface 5 tin
  87.  
  88. surfacemap wind2
  89. surface 1 painted
  90. surface 2 glass1
  91. surface 3 tin
  92. surface 4 glass2
  93. surface 5 wood
  94.  
  95.  
  96. surfacemap floorgrey
  97. surface 1 carpet
  98.  
  99. surfacemap ceilgrey
  100. surface 1 greypaint
  101.  
  102. surfacemap roadcolors
  103. surface 1 cobble
  104.  
  105. surfacemap rugcolors
  106. surface 1 beige
  107. surface 2 blue
  108. surface 3 red
  109. surface 4 orange
  110.  
  111. surfacemap piccolors
  112. surface 1 grain
  113. surface 2 artwork
  114. surface 3 mirror
  115. surface 4 marble
  116. surface 5 steel2
  117.  
  118. surfacemap pic2colors
  119. surface 1 teak
  120. surface 2 mirror
  121.  
  122. surfacemap basecolors
  123. surface 1 marble
  124. surface 2 marble
  125. surface 3 marble
  126. surface 4 marble
  127. surface 5 marble
  128. surface 6 marble
  129.  
  130. surfacemap sculptcolors
  131. surface 1 steel1
  132. surface 2 steel2
  133.  
  134. # Splits and associated surfaces:
  135.  
  136. split 0,0,0 0,1,0        0   # 0  (floor plane)
  137. polyobj 4 carpet 800,0,0      800,0,2800   4000,0,2800  4000,0,0
  138. polyobj 6 carpet 4000,0,2800  4000,0,4800  5600,0,4800  8800,0,4800  8800,0,0    4000,0,0
  139. polyobj 6 carpet 0,0,4800     0,0,10400    2400,0,10400 5600,0,10400 5600,0,4800 4000,0,4800
  140. polyobj 4 carpet 5600,0,10400 8800,0,10400 8800,0,4800  5600,0,4800
  141. polyobj 5 carpet 2400,0,12800 8800,0,12800 8800,0,10400 5600,0,10400 2400,0,10400
  142.  
  143. split 0,2400,0 0,1,0    12   #    (ceiling plane)
  144. polyobj 4 greypaint 4000,2400,0     4000,2400,2800      800,2400,2800   800,2400,0
  145. polyobj 6 greypaint 4000,2400,0     8800,2400,0     8800,2400,4800  5600,2400,4800  4000,2400,4800  4000,2400,2800
  146. polyobj 6 greypaint 4000,2400,4800  5600,2400,4800  5600,2400,10400 2400,2400,10400 0,2400,10400    0,2400,4800
  147. polyobj 4 greypaint 5600,2400,4800  8800,2400,4800  8800,2400,10400 5600,2400,10400
  148. polyobj 5 greypaint 2400,2400,10400 5600,2400,10400 8800,2400,10400 8800,2400,12800 2400,2400,12800
  149.  
  150.  
  151. split 8800,1,0 1,0,0     1   # 1
  152. object bigwin 1,1,1 0,0,0     8800,0,0        0  wind2
  153. object wall1  80,48,4 0,90,0 8800,0,12800    0  single3   fixed  # H
  154.  
  155. split 0,1,0 0,0,1        2   # 2
  156. object wall1  80,48,4  0,180,0 8800,0,0       0  single2   fixed  # I
  157.  
  158. split 0,1,10400 0,0,1    3   # 3
  159. object wall2  56,48,4  0,0,0   0,0,10400      0  double1   fixed  # B
  160.  
  161. split 2401,10,11000 1,0,0 4   # 4
  162. object bigwin 1,1,0.5 0,180,0 2400,0,12800    0  wind2     fixed  # F
  163.  
  164. split 2500,1,12800 0,0,1 5   # 5
  165. object wall1  64,48,4  0,0,0   2400,0,12800   0  single1   fixed  # G
  166.  
  167. split 0,1,4000 1,0,0     6   # 6
  168. object wall1  56,48,4  0,-90,0  0,0,4800       0  single1   fixed  # A
  169.  
  170. split 100,1,4800 0,0,1   7   # 7
  171. object wall2  56,48,4  0,0,0   0,0,4800       0  double2   fixed  # C
  172.  
  173. split 4000,1,2000 1,0,0  8   # 8
  174. object wall2  20,48,4  0,-90,0  4000,0,2800    0  double1   fixed  # L
  175.  
  176. split 800,1,2800 0,0,1   9   # 9
  177. object window1 32,48,4 0,0,0   800,0,2800     0  wind2     fixed  # K
  178.  
  179. split 5600,1,5000 1,0,0 10   # 10
  180. object wall2  8,48,4   0,-90,0  5600,0,4800    0  double4   fixed  # E
  181. object wall2  16,12,4  0,-90,0  5600,1800,5600 0  double4   fixed  # M
  182. object window2 32,48,4 0,90,0 5600,0,10400   0  wind1     fixed  # D
  183.  
  184. split 800,1,0 1,0,0     11   # 11
  185. object wall1  28,48,4  0,-90,0  800,0,0        0  single1   fixed  # J
  186.  
  187. split 3000,1430,11000 0,1,0 13 # shelf 3 split
  188. #split 6000,1430,3000  0,1,0 14 # shelf 1 split
  189. split 6000,1430,6000 0,1,0 13  # shelf 4 split
  190.  
  191.  
  192. split 3000,1430,6000 0,1,0 13  # shelf 2 split
  193. #split 3000,850,9000 0,1,0 13   # desk split
  194.  
  195. endsplits
  196.  
  197.  
  198. # Areas:
  199.  
  200. #area 200,10,5000     Office-lo
  201. #area 200,1100,5000      Office-med
  202. area 200,1500,5000       Office
  203. area 6800,10,8000        Hall-lo
  204. area 6800,1500,8000      Hall-hi
  205. area 1000,10,1000        Gallery
  206. #area 6800,10,2000    Playroom-lo
  207. area 6800,1500,2000  Playroom-hi
  208. area 7000,10,11000   Sunroom-lo
  209. area 7000,1500,11000 Sunroom-hi
  210. area 1000,10,3000    Backyard
  211. area 0,10,11000      Forest
  212. area 9000,10,8000    Outside1
  213. area 4000,10,-1000   Outside2
  214. area 7000,10,15000   Outside3
  215. area -100,10,100     Outside4
  216. area 0,-100,0        Underground
  217. area 0,2500,0        Sky
  218.  
  219.  
  220. floorpts forest 0,0,10200 1200,0,10200 0,3000,14000
  221.  
  222. # A road outside:
  223.  
  224. object floor   40,1,20  0,0,0   8800,0,6000     0  roadcolors fixed
  225. object floor   40,1,20  0,-45,0  12800,0,6000    0  roadcolors fixed
  226. object floor   40,1,20  0,-90,0  15628,0,8828    0  roadcolors fixed
  227. object floor   400,1,20 0,0,0   13628,0,12828   0  roadcolors fixed
  228.  
  229. # Now for some furnishings:
  230.  
  231. object rug     10,1,10  0,-90,0  7500,1,7500     0  rugcolors
  232. object art     20,20,1  0,180,0 6500,1200,5     0  piccolors
  233. object picture 20,20,1  0,180,0 4000,1200,4805  0  pic2colors
  234. object vwlogo  6,6,6    0,180,0   4500,1800,10406   0  pic2colors
  235.  
  236.  
  237. #object shelf 1,2,3 0,0,0 4550,1400,4800   256  . fixed
  238. object shelf 4,2,2 0,-90,0 0,1400,5800     256  . fixed
  239. object shelf 3,2,2 0,0,0 3500,1400,12800  256  . fixed
  240. object shelf 4,2,2 0,90,0 8800,1400,8000 256  . fixed
  241.  
  242. # A small forest:
  243. object tree2     12,12,12        0,0,0     800,1,12000   0
  244. object tree2     8,8,8           0,0,0    -800,1,14000   0
  245. object tree2     14,16,14        0,0,0   -1200,1,19000   0
  246.  
  247. # A big fir tree:
  248. object fir2 1,1,1  0,0,0  12000,0,3800 256 . fixed
  249.  
  250. # Some furniture:
  251. object sofa       1,1,1           0,45,0  6500,1,12000   0  sofacolors
  252. object desk3 1.5,1.3,1 0,0,0 3400,0,9680  256 . fixed
  253. object lamp .1,.1,.1 0,0,0 700,0,9500 256
  254.  
  255. #stuff on shelves, etc
  256.  
  257. object cone6    .02,.02,.02  0,0,0   4250,1440,12500   0
  258. object metlcube 2,5,3        0,-30,0  8500,1440,7000   0
  259. object wedge    3,2,3        0,-30,0   700,1440,6000   256
  260. object ball6    6,6,6        0,0,0   4200,1000,10000   0
  261.  
  262.         # A precessing cone:
  263. segment segspin=world 20,0,0 7500,-100,1400
  264. object  conespin = ccone6  .05,.05,.05  0,0,0  0,300,0   0 . segspin
  265.  
  266. animation 200
  267.  state a
  268.     do segspin=step(x,x,x x,150,x)[][]
  269.     do conespin=step(x,x,x x,-150,x)[][]
  270.  
  271. animation 10    # capture viewpoint
  272.  state off
  273.   do sensor(6500,-5000,0 9000,5000,3000)[][state=goon]
  274.  state goon
  275.   do poptext(0.5) Gotcha!
  276.   do conespin=attach(1)[state=on]
  277.  state on
  278.   do sensor(6500,-5000,0 9000,5000,3000)[state=gooff][]
  279.  state gooff
  280.   do conespin=attach(0)[state=off]
  281.  
  282.         # animation of bouncing, spinning head
  283. object sculpbase=block 6,10,6     0,0,0    4400,1,3800    0  basecolors
  284. object mh=methead  4,4,4        0,180,0   300,1100,300    0 . sculpbase
  285.  
  286. animation 150
  287.  state init
  288.     do mh=moveto(x,1005,x 0,90,0)[state=a]    # position head
  289.  state a
  290.     do mh=gravity(0,3000,0 0,-4000,0)[]       # start bounce
  291.     do mh=step(x,x,x 0,100,0)[]               # start spin
  292.     do mh=poslimit(x,1000,x x,x,x)[state=b][] # test for end
  293.  state b
  294.     do mh=gravity(0,3000,0 0,-4000,0)[]       # same, but reversed spin
  295.     do mh=step(x,x,x 0,-100,0)[]
  296.     do mh=poslimit(x,1000,x x,x,x)[state=a][]
  297.  
  298.         #el roboto: dancing robot-- may be poor with slow systems
  299. figure mm=metalman 1.3,1.5,1.3 0,-90,0 1400,800,1200
  300.  
  301. include rdance.ani
  302.  
  303.                 # sun in sky -- can be chased!
  304. segment stilt=world 0,0,0 15000,10000,3000
  305. segment larm=stilt 0,0,0 0,0,0
  306. object suny=sun   10,10,10  0,0,0  0,1000,15000  0  . larm
  307. mlight 0,0,0 0 70 suny
  308.  
  309. animation 150
  310.  state a
  311.   do larm=step(x,x,x 0,13,0)[]
  312.  
  313. include ball.ani  # the living ball thing
  314.  
  315.  
  316. title Animation Demo
  317. title by Dave Stampe
  318. title Created 1/11/92
  319. title
  320. title memory
  321.  
  322. loadpath .
  323.