<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
</head>
<body bgcolor="#ffffff" text="#000000">
<font size="-1"><font face="Verdana">Hi list,<br>
<br>
If I understand SVN right I'm on revision 918. <br>
<br>
I'm using the free version of Google SketchUp (v6.4.112) to make DAE
files (using that hack to get the DAE from the KMZ it outputs), but I
can't get the ShadedMaterials to work with it.<br>
<br>
Here's a demo I've made:<br>
<a class="moz-txt-link-freetext" href="http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/DanWasHereWorld.html">http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/DanWasHereWorld.html</a><br>
(Mouse Up/Down to move in and out, Mouse Left/Right to move the light
source)<br>
<br>
The paddling pool is meant to be shaded - the cube uses the same shaded
materials as the pool to prove that the materials themselves are ok.<br>
<br>
Is it maybe that the DAE created in this way isn't compatible with
ShadedMaterials? Here's a link to the DAE file:<br>
</font></font><font size="-1"><font face="Verdana"><a class="moz-txt-link-freetext" href="http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/">http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/</a></font></font><font
size="-1"><font face="Verdana">paddling%20pond.dae<br>
<br>
Or in case it's a code problem, here's the relevant code, or you can
also get the AS file here:<br>
</font></font><font size="-1"><font face="Verdana"><a class="moz-txt-link-freetext" href="http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/DanWasHereWorld.as">http://www.danwashere.com/dev/papervision/shadedtextures_and_collada_problem/DanWasHereWorld.as</a><br>
<br>
(Note that I have the textures in the FLA library)<br>
</font></font><font size="-1"><font face="Verdana"><br>
public function DanWasHereWorld($mc:MovieClip) {<br>
<br>
mc = $mc;<br>
<br>
viewport = new Viewport3D(800, 600, true, true, true, true);<br>
mc.addChild(viewport);<br>
<br>
camera = new Camera3D(standardViewCameraFOV, 10, 5000,
true);<br>
camera.x = standardViewCameraX;<br>
camera.y = standardViewCameraY;<br>
camera.z = standardViewCameraZ;<br>
camera.zoom = standardViewCameraZoom;<br>
<br>
renderer = new BasicRenderEngine();<br>
mc.addChild(viewport);<br>
<br>
scene = new Scene3D();<br>
<br>
light = new PointLight3D();<br>
scene.addChild(light);<br>
light.x = 0;<br>
light.y = 400;<br>
light.z = -100;<br>
light.showLight = true;<br>
<br>
var textureBottomRing:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_bottomring") as
Class;<br>
var textureMidRing:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_midring") as
Class;<br>
var textureTopRing:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_topring") as
Class;<br>
var textureWater:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_water") as Class;<br>
var textureExtra1:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_extra_1") as
Class;<br>
var textureExtra2:Class =
ApplicationDomain.currentDomain.getDefinition("Texture_extra_2") as
Class;<br>
<br>
// Not in a logical order here because that's how they came
out in the Collada DAE file.<br>
mcTexture0 = new textureWater();<br>
mcTexture1 = new textureBottomRing();<br>
mcTexture2 = new textureTopRing();<br>
mcTexture3 = new textureMidRing();<br>
<br>
// Two extra textures to show the text cube.<br>
mcTexture4 = new textureExtra1();<br>
mcTexture5 = new textureExtra2();<br>
<br>
movieMaterial0 = new MovieMaterial(mcTexture0, false, true,
false);<br>
movieMaterial1 = new MovieMaterial(mcTexture1, false,
false, false);<br>
movieMaterial2 = new MovieMaterial(mcTexture2, false,
false, false);<br>
movieMaterial3 = new MovieMaterial(mcTexture3, false,
false, false);<br>
movieMaterial4 = new MovieMaterial(mcTexture4, false,
false, false);<br>
movieMaterial5 = new MovieMaterial(mcTexture5, false,
false, false);<br>
<br>
movieMaterial0.precise = true;<br>
<br>
movieMaterial0.doubleSided = false;<br>
movieMaterial1.doubleSided = false;<br>
movieMaterial2.doubleSided = false;<br>
movieMaterial3.doubleSided = false;<br>
movieMaterial4.doubleSided = false;<br>
movieMaterial5.doubleSided = false;<br>
<br>
<br>
shadedMaterial0 = new ShadedMaterial(movieMaterial0, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
shadedMaterial1 = new ShadedMaterial(movieMaterial1, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
shadedMaterial2 = new ShadedMaterial(movieMaterial2, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
shadedMaterial3 = new ShadedMaterial(movieMaterial3, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
shadedMaterial4 = new ShadedMaterial(movieMaterial4, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
shadedMaterial5 = new ShadedMaterial(movieMaterial5, new
FlatShader(light, 0xFFFFFF, 0x555555));<br>
<br>
<br>
var mat:MaterialsList = new MaterialsList();<br>
<br>
mat.addMaterial(movieMaterial0, "material0");<br>
mat.addMaterial(movieMaterial1, "material1");<br>
mat.addMaterial(movieMaterial2, "material2");<br>
mat.addMaterial(movieMaterial3, "material3");<br>
mat.addMaterial(movieMaterial4, "material4");<br>
mat.addMaterial(movieMaterial5, "material5");<br>
<br>
island = new Collada("paddling pond.dae", mat, 0.0005);<br>
scene.addChild(island);<br>
island.x = -200;<br>
island.y = 0;<br>
island.z = 200;<br>
<br>
island.replaceMaterialByName(shadedMaterial0, "material0");<br>
island.replaceMaterialByName(shadedMaterial1, "material1");<br>
island.replaceMaterialByName(shadedMaterial2, "material2");<br>
island.replaceMaterialByName(shadedMaterial3, "material3");<br>
<br>
//island.rotationY = -180 + Math.random() * 360;<br>
<br>
camera.target = island;<br>
<br>
// Set up the cube.<br>
var matCube:MaterialsList = new MaterialsList();
<br>
matCube.addMaterial(shadedMaterial0, "front");<br>
matCube.addMaterial(shadedMaterial1, "back");<br>
matCube.addMaterial(shadedMaterial2, "right");<br>
matCube.addMaterial(shadedMaterial3, "left");<br>
matCube.addMaterial(shadedMaterial4, "top");<br>
matCube.addMaterial(shadedMaterial5, "bottom");<br>
<br>
testCube = new Cube(matCube, 100, 100, 100, 6, 6, 6);
<br>
scene.addChild(testCube);<br>
testCube.x = 0;<br>
testCube.y = 150;<br>
testCube.z = 50;<br>
<br>
<br>
mc.stage.addEventListener(Event.ENTER_FRAME,
handleEnterFrame);<br>
}<br>
<br>
<br>
<br>
I'd love an explanation of how to do this if someone can help? <br>
<br>
Many thanks,<br>
Dan<br>
<br>
<br>
</font></font>
</body>
</html>