henyana Posted November 16, 2015 Share Posted November 16, 2015 Dear All, Below is the code listing to try out the dynamic texture on imported mesh, but kind of fail on the "targetMesh".It only works when I'm using Plane mesh "newPlane" produced from the code using BABYLON.Mesh.CreatePlane.Am I missing something here?BABYLON.SceneLoader.Load("", "plane.babylon", engine, function (newScene) { newScene.executeWhenReady(function () { var canvas = engine.getRenderingCanvas(); //newScene.activeCamera.attachControl(canvas); // This creates and positions a free camera (non-mesh) var camera = new BABYLON.FreeCamera("camera1", new BABYLON.Vector3(0, 5, -125), newScene); camera.setTarget(BABYLON.Vector3.Zero()); camera.attachControl(canvas, true); newScene.activeCamera = camera; //now here I want to select some meshes from the active scene var targetMesh = newScene.getMeshByName('plane'); if(targetMesh) { // debugger; // Create new standard material var stdMat = new BABYLON.StandardMaterial('Material', newScene); stdMat.alpha = 1; stdMat.backFaceCulling = true; stdMat.specularPower = 64; stdMat.useSpecularOverAlpha = true; stdMat.useAlphaFromDiffuseTexture = false; // emissive definitions; stdMat.emissiveColor = new BABYLON.Color3(0.00, 0.00, 0.00); // ambient definitions; stdMat.ambientColor = new BABYLON.Color3(0.00, 0.00, 0.00); // specular definitions; stdMat.specularColor = new BABYLON.Color3(1.00, 1.00, 1.00); var dynTexture = new BABYLON.DynamicTexture("Dynamic texture", 1024, newScene, true); dynTexture.uScale = 1; dynTexture.vScale = 1; dynTexture.coordinatesMode = 0; dynTexture.uOffset = 0; dynTexture.vOffset = 0; dynTexture.uAng = 0; dynTexture.vAng = 0; dynTexture.level = 1; dynTexture.coordinatesIndex = 0; dynTexture.hasAlpha = false; dynTexture.getAlphaFromRGB = false; // set stdMat diffuse texture stdMat.diffuseTexture = dynTexture; // draw text dynTexture.drawText("Eternalcoding", null, 100, "70px Segoe UI", "red", "#555555"); // set sub mesh material targetMesh.material = stdMat; // calculate mesh size var vectorsWorld = targetMesh.getBoundingInfo().boundingBox.vectorsWorld; var size = vectorsWorld[1].subtract(vectorsWorld[0]).length(); // distance between summit 0 and summit 1 // New Plane var newPlane = BABYLON.Mesh.CreatePlane("New Plane", size, newScene, false); newPlane.scale = 0.5; newPlane.position.z = targetMesh.position.z; newPlane.position.y = targetMesh.position.y; newPlane.position.x = targetMesh.position.x+(size/2); // newPlane.parent = targetMesh; // set sub mesh material newPlane.material = stdMat; stdMat.diffuseTexture.update(); } engine.runRenderLoop(function() { newScene.render(); }); });});Here is the "plane.babylon"{"autoClear":true,"clearColor":[0.0,0.0,0.0],"ambientColor":[0.0,0.0,0.0],"fogMode":0,"fogColor":null,"fogStart":0.0,"fogEnd":0.0,"fogDensity":0.0,"gravity":[0.0,0.0,0.0],"cameras":[{"name":"Camera001","id":"a713edbb-dbb0-4077-a018-06a07e8fb30c","parentId":null,"lockedTargetId":"5523fadc-396d-4b51-b859-4b9df68f56dd","type":"FreeCamera","position":[-202.8126,116.4834,-271.5265],"rotation":[0.0,0.0,0.0],"target":null,"fov":0.6024,"minZ":0.1,"maxZ":10000.0,"speed":1.0,"inertia":0.9,"checkCollisions":false,"applyGravity":false,"ellipsoid":[0.0,0.0,0.0],"autoAnimate":false,"autoAnimateFrom":0,"autoAnimateTo":0,"autoAnimateLoop":false,"animations":[]}],"activeCameraID":"a713edbb-dbb0-4077-a018-06a07e8fb30c","lights":[{"name":"Default light","id":"2baddbc0-0c64-46ee-89ac-aa01cd23c503","parentId":null,"position":null,"direction":[0.0,1.0,0.0],"type":3,"diffuse":[1.0,1.0,1.0],"specular":[1.0,1.0,1.0],"intensity":1.0,"range":3.40282347E+38,"exponent":0.0,"angle":0.0,"groundColor":[0.0,0.0,0.0],"excludedMeshesIds":null,"includedOnlyMeshesIds":null,"autoAnimate":false,"autoAnimateFrom":0,"autoAnimateTo":0,"autoAnimateLoop":false,"animations":null}],"meshes":[{"id":"a2652875-3a25-4d9c-97ab-1d7d038c5f8e","parentId":null,"materialId":null,"isEnabled":true,"isVisible":true,"pickable":false,"pivotMatrix":null,"positions":[-56.0677,0.0,-45.6579,56.0677,0.0,-45.6579,56.0677,0.0,45.6579,56.0677,0.0,45.6579,-56.0677,0.0,45.6579,-56.0677,0.0,-45.6579],"normals":[0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0,0.0,1.0,0.0],"uvs":[0.0,1.0,1.0,1.0,1.0,2.0,1.0,2.0,0.0,2.0,0.0,1.0],"uvs2":null,"colors":null,"hasVertexAlpha":false,"matricesIndices":null,"matricesWeights":null,"indices":[0,1,2,3,4,5],"checkCollisions":false,"receiveShadows":true,"infiniteDistance":false,"billboardMode":0,"visibility":1.0,"subMeshes":[{"materialIndex":0,"verticesStart":0,"verticesCount":6,"indexStart":0,"indexCount":6}],"instances":[],"skeletonId":-1,"showBoundingBox":false,"showSubMeshesBoundingBox":false,"applyFog":true,"alphaIndex":1000,"physicsImpostor":0,"physicsMass":0.0,"physicsFriction":0.0,"physicsRestitution":0.0,"name":"plane","position":[0.0,0.0,0.0],"rotation":[-1.5708,0.0,0.0],"scaling":[1.0,1.0,1.0],"rotationQuaternion":null,"actions":null,"animations":[],"autoAnimate":true,"autoAnimateFrom":0,"autoAnimateTo":100,"autoAnimateLoop":true},{"id":"5523fadc-396d-4b51-b859-4b9df68f56dd","parentId":null,"materialId":null,"isEnabled":true,"isVisible":true,"pickable":false,"pivotMatrix":null,"positions":null,"normals":null,"uvs":null,"uvs2":null,"colors":null,"hasVertexAlpha":false,"matricesIndices":null,"matricesWeights":null,"indices":null,"checkCollisions":false,"receiveShadows":true,"infiniteDistance":false,"billboardMode":0,"visibility":1.0,"subMeshes":null,"instances":[],"skeletonId":-1,"showBoundingBox":false,"showSubMeshesBoundingBox":false,"applyFog":true,"alphaIndex":1000,"physicsImpostor":0,"physicsMass":0.0,"physicsFriction":0.0,"physicsRestitution":0.0,"name":"Camera001.Target","position":[-3.9516,-2.5059,23.297],"rotation":[-1.2479,0.5934,0.0],"scaling":[1.0,1.0,1.0],"rotationQuaternion":null,"actions":null,"animations":[],"autoAnimate":true,"autoAnimateFrom":0,"autoAnimateTo":100,"autoAnimateLoop":true}],"sounds":[],"materials":[],"multiMaterials":[],"particleSystems":null,"lensFlareSystems":null,"shadowGenerators":[],"skeletons":[],"actions":null} Quote Link to comment Share on other sites More sharing options...
GameMonetize Posted November 16, 2015 Share Posted November 16, 2015 Hello as always I suggest sharing your example on the playground Quote Link to comment Share on other sites More sharing options...
dbawel Posted November 16, 2015 Share Posted November 16, 2015 DK is always right, as this makes things much simpler to troubleshoot. However, based upon you're description: Below is the code listing to try out the dynamic texture on imported mesh, but kind of fail on the "targetMesh".It only works when I'm using Plane mesh "newPlane" produced from the code using BABYLON.Mesh.CreatePlane. It would suffice to say that it is a mapping issue, or an irregular attribute of your exported mesh - such as inverted normals. If it were me, I would export a plane and cube from the 3D software you are using without manipulating either at all. I would also strip or remark out all of the attibutes for your DynamicTexture and StandardMaterial - especially back face culling. That should provide you with the path to correcting the problem quickly. Oh, I would also remove the condition for creating your materials and textures - although I know this appears to work on a native mesh plane, if this is part of a larger script, there could certainly be other conflicts unknown - although this is probably irrellevant, as it reads correctly. Quote Link to comment Share on other sites More sharing options...
henyana Posted November 17, 2015 Author Share Posted November 17, 2015 Hello as always I suggest sharing your example on the playground Sorry, but I've no idea to upload the mesh "plane.babylon" file to the playground server and when I try loading outside the playground server, it failing with dealing cors header. Btw, the problem now is fixed after adding 2 line code start from 38 after defining the "dynTexture":dynTexture.wrapU = 1;dynTexture.wrapV = 1; Quote Link to comment Share on other sites More sharing options...
iiceman Posted November 17, 2015 Share Posted November 17, 2015 I fixed an example I did a while ago where you can paint on a dynamic texture on an imported mesh: http://p215008.mittwaldserver.info/BabylonDev/space_paint/ Maybe that helps somebody else Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.