Search the Community

Showing results for tags 'parent'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 41 results

  1. Is it possible to get the absolute rotation of a child mesh, in the same way it is possible to get the absolute position of a child mesh via mesh.getAbsolutePosition?
  2. Hello there, What an amazing engine to render on webGL/Canvas! We are getting such a boost on performance thanks to this great library. Now, let's go to the point: We managed to partly migrate all our SVG animations to canvas using PixiJS. In order to do that, we had to parse our SVG so we could have a Container/Sprite/Textures structure that Pixi could manage and understand. We finally did it, and we have an Object like the onw you can see on the attached image: It is coming from the SVG you can find here: http://lab.pre.rtve.es/el-cuento/app/public/static/image/otto.svg So, what we have, is a lot of containers (what used to be groups in our SVG) and inside them, more Containers and finally Sprites containing Textures (what used to be paths). THE PROBLEM: We want to use Pixi's AnimatedSprite class so we can animate the mouth of our character, and when we do it, it works, but we lose the position of our Textures and they show at the upper left corner of our character. I can't see any position on this Sprites and Textures, so I guess they are just drawed where they are supposed to be and therefore when we try to animate them, we lose this relativeness to the parent and position. Any way to make them stay in place? Thank you very very much
  3. hi all, i'm trying to calculate the boundingbox of a parent mesh, so that i may get a good camera asprect. but failed to get the boundingbox size of the parent. are there any tricks there? pg http://www.babylonjs-playground.com/#QVIDL9 // Our built-in 'sphere' shape. Params: name, subdivs, size, scene var sphere = BABYLON.Mesh.CreateSphere("sphere1", 16, 2, scene); // Move the sphere upward 1/2 its height sphere.position.y = 1; // Our built-in 'ground' shape. Params: name, width, depth, subdivs, scene var ground = BABYLON.Mesh.CreateGround("ground1", 6, 6, 2, scene); var parent = new BABYLON.Mesh("parent",scene); sphere.parent = parent; ground.parent=parent; parent.showBoundingBox =true;
  4. Hi, have a problem with parenting physics objects together. Here an easy playground: http://www.babylonjs-playground.com/#AF886#1 Why is b dont collide with the ground too like the parent? I want both collide the ground and behave like one. Is it a bug?
  5. Hello guys, I have a little problem in my scenario. I am able to set the parent child relation among two meshes and i am able to move them along only if the parent mesh is dragged but not counter-wise. Both objects need to be able to be dragged and moved along together no matter which object is dragged. So i will be very thankful if anybody could help me. Thanks!
  6. this.updateMovement( ); and this.parent( ); is not supporting in melonjs melonJS Game Engine v4.1.0 can anyone help for this
  7. Hello! I am working on a voxel project and creating a very basic voxel player. It has a box as head, a bigger box for body, etc. I created the whole thing like this: this.player_head = BABYLON.MeshBuilder.CreateBox(PLAYER_HEAD, {size: 1, updatable: true}, scene); this.player_body = BABYLON.MeshBuilder.CreateBox(PLAYER_BODY, {width: 1, depth: 0.5, height: 1.5, updatable: true}, scene); this.player_right_arm = BABYLON.MeshBuilder.CreateBox(PLAYER_RIGHT_ARM, {width: 0.5, depth: 0.5, height: 1.5, updatable: true}, scene); this.player_left_arm = BABYLON.MeshBuilder.CreateBox(PLAYER_LEFT_ARM, {width: 0.5, depth: 0.5, height: 1.5, updatable: true}, scene); this.player_right_leg = BABYLON.MeshBuilder.CreateBox(PLAYER_RIGHT_LEG, {width: 0.5, depth: 0.5, height: 1.5, updatable: true}, scene); this.player_left_leg = BABYLON.MeshBuilder.CreateBox(PLAYER_LEFT_LEG, {width: 0.5, depth: 0.5, height: 1.5, updatable: true}, scene); // Head this.player_head.parent = this.player_body; this.player_head.position.y += 1.25; // Right arm this.player_right_arm.parent = this.player_body; this.player_right_arm.position.x += 0.75; // Left arm this.player_left_arm.parent = this.player_body; this.player_left_arm.position.x -= 0.75; // Right leg this.player_right_leg.parent = this.player_body; this.player_right_leg.position.x -= 0.25; this.player_right_leg.position.y -= 1.5; // Left leg this.player_left_leg.parent = this.player_body; this.player_left_leg.position.x += 0.25; this.player_left_leg.position.y -= 1.5; Since I need all the meshes to be treated as a single mesh, I merged them with: BABYLON.Mesh.MergeMeshes([this.player_head, this.player_body, this.player_right_arm, this.player_left_arm, this.player_left_leg, this.player_right_leg]); Until here, all beautiful and nice. But a problem arises: I want to be able to move the arms, legs and head to make some sort of animation for walking but it doesn't seem to work. My player object has the references to all the meshes before the merging, so I thought I would still be able to transform them even after the merging. What's wrong then? Also, is there perchance a better way to create a bunch of simple meshes, apply a specific material to each of them and then 'merging' them into 1 bigger BABYLON.Mesh without losing their individual texture/material? MergeMeshes destroys the materials of the children objects, which is quite bad :/.
  8. Hi, I hope someone can help me. I want to export my Blender model with the Babylon.js Blender Exporter and import it in my App. In general this works fine, but I have one problem that I can't solve. In Blender I added a parent connection between a plane and a bone of my armature. The idea is that the plane should move if the bone moves. In Blender this works fine, but not with Babylon if I import the exported scene (tried my app and the BABYLON sandbox). Now I have two problems (which may be related to each other ?) 1. The plane is in a different place in Babylon (compared to the Blender model) 2. The parent connection is not exported and if I set the connection in my app directly after the import the plane moves to a weird place (but it follows the bone) Would be nice if someone can have a look at my Blender model. In my model there are actually two planes LED.L and LED.R and a want to attach these planes to the Neck bone of my ReetiArmature. Reeti.blend Reeti.babylon
  9. Hi there, I'm working on a little project where I do a lot of parenting and swapping parents/children around, etc.. Is there an easy way to preserve a child's world position when changing its parent? I'm really new to Babylon so I don't always know what's available to me. If this doesn't exist how would I go about it? Inverse the parent's world matrix and apply to it its child? If someone has an example handy I'd appreciate Thanks!
  10. Hi there! So here's my issue. I have a player sprite which has an orb sprite attached to it as a child. Player = function (game, x, y, image) { Phaser.Sprite.call(this, game, x, y, image); //calls constructor this.orb = this.addChild(game.make.sprite(0, 0, 'orb')); game.add.existing(this); }; /*--------------------------------------------------------*/ Player.prototype = Object.create(Phaser.Sprite.prototype); Player.prototype.constructor = Player; /*--------------------------------------------------------*/ I want to reference the x and y positions of the orb so that I can shoot bullets out of it. BUT, if I console.log(this.orb.x) or the y position, the value that is returned is 0. What do I do so that I can get the x and y positions of the orb, relative to the game world and not the parent sprite??
  11. Hi @all, I have a new Demo with strange camera behavior: http://www.babylonjs-playground.com/#2BCRRW In the Demo is one player again (green box). The player has two children: the camera and a red box. The red box is the view direction of the player. You can move the player with WASD and the camera with the arrowkeys. Now the Problem: You can rotate the player body by pressing the R key. I rotate also the camera, but the camera.getTarget() is very wrong. You can check it by moving around with the camera after some rotations. Similar problem if I dont rotate the camera. I want the vector of the camera view direction if I use camera.getTarget(), like i get if there is still no rotation.
  12. Hi guys I've tried a lot but can't find any solution. Also I try to find in documentation which is not very detailled for the moment about physics behavior but doesn't find an answer... I use oimo.js and when I try to enable physics on a child element it bring me the error : "TypeError: e.physicsBody is undefined"... I may use onCollide but I can't find any ressource on it's behaviour and intersectMesh....but as I have to do it with hundred of object I wonder if there is a different approch than a "brute force" testing of all intersect mesh with all others ( approx. 10 000 test each frame ) Thanks a lot
  13. I have a mesh (container) that contains another mesh (sphere). I'd like to set a material to the container mesh, in a way that it is applied to all the meshes it's parenting. (sphere in this case) I created a PG showing that it doesn't work: http://www.babylonjs-playground.com/#L69M2#1 Is such a thing not supposed to work? My main reason for doing it is adding a material on top of a mesh that already has a material without overriding the previous material. (stacking materials) e.g. adding a material that adds a 50% transparent black tint to a mesh that already has a material, without touching that mesh's material (sort of adding a material on top of it).
  14. Hi there, I'm stuck and I can't seem to find a workaround for achieving this, basically what I wanna do is set the Camera as a parent for a small Platform which has a Box impostor of Mass 0, and make a crate which also has physics (Mass 1) land on it. But the problem is that the platform acts as if it has no physics at all, instead of landing on it, the crate goes through , here is the PG : http://www.babylonjs-playground.com/#18UP4N Any help would be really appreciated. Thanks.
  15. Might be a bug or it could my expectations (again). However the problem could be at the root of people having difficulties placing pivots. If you rotate a parent them translate its child using LOCAL axes the child moves and positions as you would expect. However if you rotate a parent then translate its child using WORLD or use position the child moves again in the direction of LOCAL axes but distances depend on the rotation of the parent. The PG http://www.babylonjs-playground.com/#1J7LGZ shows the effect. The cylinders mark the positions of the child mesh (the pilot) as it and the parent (sphere) move. The red cylinder marks the expected final position following the final move of -2 in the direction of the world x axis. The pilot meshes show the actual positions. Commenting out the pilot and sphere moves and uncommenting them in turn will show the sequence.
  16. In the app I am building, the user can drag in different components that snap together (think lego). As part of that I am introducing grouping (think Microsoft Powerpoint where you can add individual shapes but then group them and any transformations are then applied as a group). The approach I have used so far is that when individual components (meshes) are added they have no parent. When component A is snapped to component B it checks whether either has a parent. If neither has a parent (ie neither is yet part of a group) then it creates an invisible mesh and makes that the parent of both. If one or more has a parent (ie they are already part of a group) then it combines them under one parent (if both have parents, some logic will be introduced to determine which would be the best parent). This works to an extent. The problem I am seeing is that the meshes may have been moved around prior to being grouped. So their position will have a value. What seems to be happening when the parent is set is that the component's position is being re-evaluated relative to the parent and so the component jumps to a new position in space. I just wanted to first validate that this is how parenting should work and also get some advice on how to counter it's behaviour. I don't want the child meshes to move when I set the parent. However from that point on I do want any further movement or rotation to be done as a group. I have already amended my onMouseMove function so that if a mesh has a parent, the movement is applied to the parent (and therefore ALL children) rather than just the mesh being moved. This works a treat. This little playground illustrates the behaviour I am seeing. It creates 3 meshes ... m1, m2 and parent and gives them each a new position away from the world origin. It writes their position and getAbsolutePosition to the console. It then sets m2.parent=parent and again writes their position to the log. You can see that m2 is initially positioned at (10,0,0) and parent is at (20,0,0). However when m2.parent is set to parent, m2 moves to (30,0,0). So its position is now being evaluated relative to its parent (ie 20+10 along the x axis). This is contrary to how I have seen the behaviour described elsewhere in which it seemed to suggest that position was nullified upon setting a parent. Thoughts? Thanks Rich
  17. First and foremost, I want to thank the devs for making Phaser Editor, it's amazing! I'll definitely be purchasing it on my next paycheck (if my company doesn't expense it). For a bit of background I'm new to web-based game development (and web programming as a whole), and Phaser Editor is my entry point! That being said I come from a background as a Unity developer, and so I apologize if many (if not all) of my questions relate more to Phaser and js as a whole and not Phaser Editor in particular, but I'm hoping for the way to best do things using Phaser Editor. These questions are asked having done the "Mario-Style Platformer" tutorial found at: https://gamedevacademy.org/make-a-mario-style-platformer-with-the-phaser-editor/ There are a few things I'm having a bit of trouble wrapping my head around:What exactly is a prototype? Does every object (sprite) have one? Where/how can you access this? Is it the name of the original image file? The first instance you create? The name of a function you first need to write and then assign? How would that be done?When you drag an object from assets to scene, or duplicate an object, does it create a new prototype, or a new instance?Can you assign instance variables to prototypes/objects? Can this be done in the scene editor? (ie every "coin" has the variable "collected" set to "false" at start)What is the best way to do this?In the templates and the "Mario-Style Platformer" tutorial, all logic is done in Level.js. Can you instead place the logic of each prototype/object into its own script? (ie Player.js, Coin.js)As Level.js already loads the assets.json, does every script need to do the same, or can they just access it from Level.js? How is cross-script referencing done?In the same tutorial, all the fruits/coins are collected into a group. Is this a container/parent object? Are the elements then children? What is the best way/when is the best time to assign a variable to all elements? (I tried doing so in Create using "this.pickups.setAll("collected", false);", but when I checked the value in an element later it returned null) In many Phaser examples online, Functions are done with out any form of container (ie Function preload()), and everything is executed by game (ie game.add._____) but in both the tutorial and the templates, functions are done through Level.protoype (ie Level.prototype.preload = function()), and everything is executed by this. (which I assume also points to Level.prototype?). Is there a difference? Is there a reason to doing things one way or the other? What is the best way to check/set a value in each element of the group?(ie Instead of kill the fruit object upon overlap with player, I set them to play an animation. How would I then set them to destroy upon completion?)Is there a way to find a specific element in a group (similar to an array index)?Can you set parent child relations in the scene editor? If not how is this set?Is there a way to use Vectors/containers to compare and assign values? (ie player.position = Vector2(x, y))Is there a way to emulate/simulate a 3 button mouse/middle click? (ie ctrl + alt + left click)I understand that at this time, Phaser Editor does not support Typescript. However as I am more familiar with C based OOP, many have suggested it. Would using Typescript externally alongside Phaser editor break workflow/the project? (From what I understand Phaser Editor does not support editing files externally?)Sorry for the trouble, and thank you for your time!
  18. The main reason for the playground is to produce an example for the guide on BJS that I am writing to show how translate, rotate, parent and setPivot can be used. After various struggles due to mistakes and lack of knowledge I have come up with this http://www.babylonjs-playground.com/#102TBD#14 where you steer(?) the car (which has a set forward speed) with keys A and D Issues are : The response to the keys only happens if after clicking on run the canvas is clicked on immediately afterwards ( and sometimes you have to do this again before it works) While a key is pressed down it interferes with the rendering (too much going on?) If you think too much is going on then have a look back at earlier versions #10 for example. It would be nice to have solutions to these problems but if not then as I can show the parts of the code I wanted to without the key control I will probably just go for a predetermined path for the car to follow.
  19. I'm creating an invisible Mesh to act as a parent. I'm setting it as the parent of a loaded 3D model (loaded from a .babylon file). The model is displayed as expected, however when I change the rotation of the parent Mesh, the rotation of its child 3D model is not updated. I imagine that setting the position and scaling of the parent Mesh will not affect its child 3D model as well. Why does it happen? How can I solve it?
  20. Hello people, I had a good conversation with @JCPalmer. I asked him if he could add parent variable for instance in .babylon file and he did it. you can read it here : At the moment, the fileloader do not apply the right parent but always the same parent of original mesh. I will try to find solution for the babylon fileloader read parent for instance and apply this My idea > Add this in mesh file : // Instances if (parsedMesh.instances) { ... if (parsedInstance.parentId) { instance._waitingParentId = parsedInstance.parentId; } ... } Because in fileLoader, this code allready exist and all instances are in "meshes" array : // Connect parents for (index = 0, cache = scene.meshes.length; index < cache; index++) { var mesh = scene.meshes[index]; if (mesh._waitingParentId) { mesh.parent = scene.getLastEntryByID(mesh._waitingParentId); mesh._waitingParentId = undefined; } ... } What do you think @Deltakosh? Have a nice day, Letsbro studio team.
  21. I have a mesh that is sometimes grouped with another mesh via parenting. That way you can move both meshes together. However I want to be able to separate those meshes and have the meshes stay the exact same size, position and direction as they were when they had a parent. I've demonstrated the problem here http://babylonjs-playground.com/#ZXCRV At the last step, when I remove the parent, the mesh snaps back to its original spot instead of stays where its at. Is there a way in Babylon.js to have it retain its transformations? If not in this framework, is there a mathematical way of doing it? I tried using a rotation matrix to and I got it working when there's a change in one axis only, but can't get it working if there's a change in multiple axes.
  22. Hola hola, So I am working on a 2D basketball game. I am using 2 small sprites (with circular physics bodies) on each side of the basket rim for collision detection with the ball. I parented the 2 sprites to the backboard so I could move them all together (as shown in the child sprite example). I turned on the debug draw for the physics bodies and found the 2 bodies were not in the same position as the sprites. //Load net sprite this.net = this.game.add.sprite(this.game.world.centerX, 200, 'net'); this.net.anchor.setTo(0.5); //Add hoop children markers this.leftMarker = this.net.addChild(this.game.make.sprite(-66, 60, 'marker')); this.leftMarker.anchor.setTo(0.5); this.rightMarker = this.net.addChild(this.game.make.sprite(66, 60, 'marker')); this.rightMarker.anchor.setTo(0.5); I parent them like so.. but my physics bodies don't act as if they are parented. They should be at the same position as the sprite, but instead they are (-66, 60) and (66, 60) from the top left corner (0, 0) instead of (-66, 60) and (66, 60) from the parents position (world center x, 200). You can see the attached image as an example. Is there something I am missing? Is this the way it's supposed to be? Can I somehow update the physics bodies to line up with the sprites easily?
  23. http://www.babylonjs-playground.com/#3HNIJ#1 I am trying to create a Fischer Price type toy with three meshes. I was thinking I could combine the three meshes and have one solid mesh and just move one mesh. Originally I tried connecting them with joints to give the character parts a little movement but the joints were way too loose. After creating and positioning my three meshes, whenever I try to make one mesh a parent it changes the location of the children. That seems very weird. Any ideas on how to combine these meshes? I tried another method (forget what it was called) and it said it was deprecated and to use child/parent. I want the option of making the meshes different colors too. Thanks for any tips.
  24. Is there a way to set the visibility of a mesh to false and have all of it's child meshes be affected as well? I'm setting the children using .parent = parentMesh. Currently it seems that the only way is to loop through all of the children manually. The major problem with this approach is when you have children of children of children. Here is a PG to demonstrate. Uncomment the comment block. http://www.babylonjs-playground.com/#17IGZF#0 var materialSphere = new BABYLON.StandardMaterial("texture2", scene); materialSphere.diffuseColor = new BABYLON.Color3(1, 0, 0); //Red materialSphere.alpha = 0.2; // grand parent var grandParent = BABYLON.Mesh.CreateSphere("sphere1", 16, 3, scene); grandParent.material = materialSphere; // parent var parent = BABYLON.Mesh.CreateSphere("sphere1", 16, 2, scene); parent.material = materialSphere; parent.parent = grandParent; // child var child = BABYLON.Mesh.CreateSphere("sphere1", 16, 1, scene); child.material = materialSphere; child.parent = parent; // uncomment block below to hide the grandParent and its children /* grandParent.visibility = false; // grandParent.getChildren().forEach(function(_child) { _child.visibility = false; }, this); */ // although children's children are not effected
  25. I have an armature in blender and I have a mesh that's cut up into smaller modular meshes. To animate I select the modular meshes and parent them to bones then move the bones and the meshes inherit the translations. When I export from blender to babylon it seems that any mesh that is explicitly parented to a bone is missing. I've attached my blend file for reference. It appears as though the mesh and bone data for the missing limbs are in the .babylon file. maybe they are hidden or something? ,{"name":"arm.L","id":"arm.L","materialId":"combined.lambert0.006","billboardMode":0,"position":[0.0203,0.1534,-0.5203],"rotation":[0,1.5708,-1.514],"scaling":[0.05,0.05,0.05],"isVisible":true,"freezeWorldMatrix":false,"isEnabled":true,"checkCollisions":false,"receiveShadows":false ,"positions":[1.1351,6.4324,4.5946,1.1351,-9.5676,6.5946,1.1351,-9.5676,4.5946,1.1351,6.4324,4.5946,1.1351,6.4324,6.5946,1.1351,-9.5676,6.5946,-0.8649,6.4324,-7.4054,-0.8649,4.4324,-5.4054,-0.8649,4.4324,-7.4054,-0.8649,6.4324,-7.4054,-0.8649,6.4324,-5.4054,-0.8649,4.4324,-5.4054,-0.8649,4.4324,-5.4054,-0.8649,2.4324,4.5946,-0.8649,2.4324,-5.4054,-0.8649,4.4324,-5.4054,-0.8649,4.4324,4.5946,-0.8649,2.4324,4.5946,-2.8649,6.4324,-5.4054,-2.8649,4.4324,4.5946,-2.8649,4.4324,-5.4054,-2.8649,6.4324,-5.4054,-2.8649,6.4324,4.5946,-2.8649,4.4324,4.5946,-2.8649,2.4324,0.5946,-2.8649,-9.5676,4.5946,-2.8649,-9.5676,0.5946,-2.8649,2.4324,0.5946,-2.8649,2.4324,4.5946,-2.8649,-9.5676,4.5946,-2.8649,2.4324,-5.4054,-2.8649,-9.5676,-1.4054,-2.8649,-9.5676,-5.4054,-2.8649,2.4324,-5.4054,-2.8649,2.4324,-1.4054,-2.8649,-9.5676,-1.4054,-4.8649,2.4324,-1.4054,-4.8649,-9.5676,0.5946,-4.8649,-9.5676,-1.4054,-4.8649,2.4324,-1.4054,-4.8649,2.4324,0.5946,-4.8649,-9.5676,0.5946,7.1351,4.4324,-5.4054,7.1351,6.4324,-7.4054,7.1351,4.4324,-7.4054,7.1351,6.4324,4.5946,7.1351,6.4324,-7.4054,7.1351,4.4324,-5.4054,7.1351,6.4324,4.5946,7.1351,4.4324,-5.4054,7.1351,-9.5676,4.5946,7.1351,-9.5676,4.5946,7.1351,4.4324,-5.4054,7.1351,-9.5676,-5.4054,3.1351,-9.5676,6.5946,3.1351,6.4324,4.5946,3.1351,-9.5676,4.5946,3.1351,6.4324,6.5946,3.1351,6.4324,4.5946,3.1351,-9.5676,6.5946,7.1351,-9.5676,-5.4054,3.1351,-9.5676,4.5946,7.1351,-9.5676,-5.4054,-2.8649,-9.5676,-1.4054,1.1351,-9.5676,4.5946,3.1351,-9.5676,4.5946,-2.8649,-9.5676,-1.4054,7.1351,-9.5676,4.5946,7.1351,-9.5676,-5.4054,3.1351,-9.5676,4.5946,-2.8649,-9.5676,0.5946,1.1351,-9.5676,4.5946,-2.8649,-9.5676,-1.4054,3.1351,-9.5676,4.5946,-2.8649,-9.5676,0.5946,-2.8649,-9.5676,-1.4054,-4.8649,-9.5676,0.5946,-2.8649,-9.5676,4.5946,1.1351,-9.5676,4.5946,-2.8649,-9.5676,0.5946,3.1351,-9.5676,6.5946,3.1351,-9.5676,4.5946,1.1351,-9.5676,6.5946,-2.8649,-9.5676,-1.4054,7.1351,4.4324,-7.4054,7.1351,4.4324,-5.4054,7.1351,4.4324,-7.4054,-0.8649,4.4324,-5.4054,-0.8649,4.4324,-5.4054,-0.8649,4.4324,4.5946,-0.8649,4.4324,-5.4054,-2.8649,4.4324,4.5946,-0.8649,2.4324,-5.4054,-2.8649,2.4324,-1.4054,-2.8649,2.4324,-5.4054,-0.8649,2.4324,-5.4054,-0.8649,2.4324,4.5946,-2.8649,2.4324,-1.4054,-0.8649,2.4324,4.5946,-2.8649,2.4324,0.5946,-2.8649,2.4324,-1.4054,-2.8649,2.4324,-1.4054,-2.8649,2.4324,0.5946,-4.8649,2.4324,0.5946,-0.8649,2.4324,4.5946,-2.8649,2.4324,4.5946,-2.8649,2.4324,0.5946,-2.8649,2.4324,-1.4054,-4.8649,2.4324,0.5946,-4.8649,2.4324,-1.4054,-0.8649,6.4324,-5.4054,-0.8649,6.4324,-7.4054,7.1351,6.4324,-7.4054,3.1351,6.4324,4.5946,-0.8649,6.4324,-5.4054,3.1351,6.4324,4.5946,1.1351,6.4324,4.5946,-0.8649,6.4324,-5.4054,7.1351,6.4324,-7.4054,7.1351,6.4324,4.5946,3.1351,6.4324,4.5946,-0.8649,6.4324,-5.4054,1.1351,6.4324,4.5946,-2.8649,6.4324,4.5946,1.1351,6.4324,6.5946,1.1351,6.4324,4.5946,-0.8649,6.4324,-5.4054,-2.8649,6.4324,4.5946,-2.8649,6.4324,-5.4054,3.1351,6.4324,4.5946,1.1351,6.4324,6.5946,-2.8649,-9.5676,-1.4054,-4.8649,2.4324,-1.4054,-2.8649,-9.5676,-1.4054,-4.8649,2.4324,-1.4054,7.1351,-9.5676,-5.4054,-0.8649,2.4324,-5.4054,-2.8649,-9.5676,-5.4054,-0.8649,2.4324,-5.4054,-2.8649,2.4324,-5.4054,-2.8649,-9.5676,-5.4054,7.1351,-9.5676,-5.4054,7.1351,4.4324,-5.4054,-0.8649,2.4324,-5.4054,7.1351,4.4324,-5.4054,-0.8649,4.4324,-5.4054,-0.8649,2.4324,-5.4054,-0.8649,4.4324,-5.4054,-2.8649,6.4324,-5.4054,-0.8649,4.4324,-5.4054,-2.8649,6.4324,-5.4054,7.1351,4.4324,-7.4054,-0.8649,6.4324,-7.4054,7.1351,4.4324,-7.4054,7.1351,6.4324,-7.4054,-0.8649,6.4324,-7.4054,-4.8649,2.4324,0.5946,-2.8649,-9.5676,0.5946,-4.8649,-9.5676,0.5946,-2.8649,2.4324,0.5946,-2.8649,-9.5676,0.5946,-4.8649,2.4324,0.5946,1.1351,6.4324,6.5946,3.1351,-9.5676,6.5946,1.1351,-9.5676,6.5946,3.1351,-9.5676,6.5946,1.1351,6.4324,6.5946,3.1351,6.4324,4.5946,7.1351,-9.5676,4.5946,7.1351,6.4324,4.5946,7.1351,-9.5676,4.5946,3.1351,6.4324,4.5946,-0.8649,2.4324,4.5946,1.1351,-9.5676,4.5946,-2.8649,-9.5676,4.5946,-2.8649,2.4324,4.5946,-0.8649,2.4324,4.5946,-2.8649,-9.5676,4.5946,1.1351,6.4324,4.5946,1.1351,-9.5676,4.5946,-0.8649,2.4324,4.5946,-0.8649,4.4324,4.5946,1.1351,6.4324,4.5946,-0.8649,2.4324,4.5946,1.1351,6.4324,4.5946,-0.8649,4.4324,4.5946,-2.8649,6.4324,4.5946,-2.8649,6.4324,4.5946,-0.8649,4.4324,4.5946,-2.8649,4.4324,4.5946] ,"normals":[-0.3015,0.9045,0.3015,-0.5773,-0.5773,0.5773,-0.3015,-0.9045,0.3015,-0.3015,0.9045,0.3015,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.3015,0.9045,-0.3015,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.3015,0.3015,0.9045,-0.3015,0.3015,-0.9045,-0.5773,-0.5773,-0.5773,-0.3015,-0.3015,0.9045,-0.3015,0.3015,0.9045,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.5773,-0.3015,0.9045,0.3015,-0.5773,-0.5773,0.5773,-0.3015,-0.9045,0.3015,-0.3015,0.9045,0.3015,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.3015,-0.9045,-0.3015,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.3015,0.9045,-0.3015,-0.3015,-0.9045,-0.3015,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.5773,0.9045,-0.3015,-0.3015,0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,0.5773,0.5773,0.5773,-0.5773,0.9045,-0.3015,-0.3015,0.5773,0.5773,0.5773,0.9045,-0.3015,-0.3015,0.5773,-0.5773,0.5773,0.5773,-0.5773,0.5773,0.9045,-0.3015,-0.3015,0.5773,-0.5773,-0.5773,0.5773,-0.5773,0.5773,0.3015,0.9045,0.3015,0.3015,-0.9045,0.3015,0.5773,0.5773,0.5773,0.3015,0.9045,0.3015,0.5773,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.3015,-0.9045,0.3015,0.5773,-0.5773,-0.5773,-0.3015,-0.9045,-0.3015,-0.3015,-0.9045,0.3015,0.3015,-0.9045,0.3015,-0.3015,-0.9045,-0.3015,0.5773,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.3015,-0.9045,0.3015,-0.3015,-0.9045,0.3015,-0.3015,-0.9045,0.3015,-0.3015,-0.9045,-0.3015,0.3015,-0.9045,0.3015,-0.3015,-0.9045,0.3015,-0.3015,-0.9045,-0.3015,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,-0.3015,-0.9045,0.3015,-0.3015,-0.9045,0.3015,0.5773,-0.5773,0.5773,0.3015,-0.9045,0.3015,-0.5773,-0.5773,0.5773,-0.3015,-0.9045,-0.3015,0.5773,-0.5773,-0.5773,0.9045,-0.3015,-0.3015,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.3015,-0.3015,0.9045,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.3015,0.3015,-0.9045,-0.3015,0.9045,-0.3015,-0.5773,0.5773,-0.5773,-0.3015,0.3015,-0.9045,-0.3015,0.3015,0.9045,-0.3015,0.9045,-0.3015,-0.3015,0.3015,0.9045,-0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,-0.3015,0.9045,-0.3015,-0.3015,0.9045,0.3015,-0.5773,0.5773,0.5773,-0.3015,0.3015,0.9045,-0.5773,0.5773,0.5773,-0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,-0.5773,0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.3015,0.9045,-0.3015,-0.5773,0.5773,-0.5773,0.5773,0.5773,-0.5773,0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,0.3015,0.9045,0.3015,-0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,0.5773,0.5773,-0.5773,0.5773,0.5773,0.5773,0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,-0.3015,0.9045,0.3015,-0.5773,0.5773,0.5773,-0.5773,0.5773,0.5773,-0.3015,0.9045,0.3015,-0.3015,0.9045,-0.3015,-0.5773,0.5773,0.5773,-0.5773,0.5773,-0.5773,0.3015,0.9045,0.3015,-0.5773,0.5773,0.5773,-0.3015,-0.9045,-0.3015,-0.5773,0.5773,-0.5773,-0.3015,-0.9045,-0.3015,-0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.3015,0.3015,-0.9045,-0.5773,-0.5773,-0.5773,-0.3015,0.3015,-0.9045,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.9045,-0.3015,-0.3015,-0.3015,0.3015,-0.9045,0.9045,-0.3015,-0.3015,-0.5773,-0.5773,-0.5773,-0.3015,0.3015,-0.9045,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,-0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,-0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,-0.3015,-0.9045,0.3015,-0.5773,-0.5773,0.5773,-0.3015,0.9045,0.3015,-0.3015,-0.9045,0.3015,-0.5773,0.5773,0.5773,-0.5773,0.5773,0.5773,0.5773,-0.5773,0.5773,-0.5773,-0.5773,0.5773,0.5773,-0.5773,0.5773,-0.5773,0.5773,0.5773,0.3015,0.9045,0.3015,0.5773,-0.5773,0.5773,0.5773,0.5773,0.5773,0.5773,-0.5773,0.5773,0.3015,0.9045,0.3015,-0.3015,0.3015,0.9045,-0.3015,-0.9045,0.3015,-0.5773,-0.5773,0.5773,-0.5773,0.5773,0.5773,-0.3015,0.3015,0.9045,-0.5773,-0.5773,0.5773,-0.3015,0.9045,0.3015,-0.3015,-0.9045,0.3015,-0.3015,0.3015,0.9045,-0.3015,-0.3015,0.9045,-0.3015,0.9045,0.3015,-0.3015,0.3015,0.9045,-0.3015,0.9045,0.3015,-0.3015,-0.3015,0.9045,-0.5773,0.5773,0.5773,-0.5773,0.5773,0.5773,-0.3015,-0.3015,0.9045,-0.5773,-0.5773,0.5773] ,"uvs":[0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.6001,0.3334,0.6999,0.5414,0.6999,0.3334,0.6001,0.3336,0.6001,0.5416,0.6999,0.5416,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4999,0.8331,0.4001,0.6668,0.4999,0.6668,0.4001,0.8331,0.4001,0.6668,0.4999,0.6945,0.1001,0.8333,0.2001,0.6251,0.8998,0.8333,0.6002,0.6666,0.6999,0.4724,0.6999,0.6666,0.4999,0.8331,0.4001,0.6668,0.4999,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.44,0.8332,0.4001,0.6668,0.4999,0.7334,0.4334,0.8332,0.4001,0.8332,0.4998,0.667,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4999,0.7223,0.4002,0.8331,0.4999,0.6669,0.4001,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4999,0.8332,0.4001,0.8332,0.4999,0.6669,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.4001,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6668,0.4001,0.8332,0.4999,0.7334,0.4002,0.8331,0.4999,0.7223,0.4999,0.6669,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4001,0.8332,0.4999,0.8332,0.4999,0.6669,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6668,0.45,0.8331,0.4999,0.6945,0.4002,0.8332,0.45,0.8332,0.4999,0.667,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.45,0.6669,0.4001,0.8332,0.4999,0.8332,0.4999,0.8331,0.4999,0.6668,0.4001,0.6668,0.4999,0.8331,0.4999,0.6668,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.48,0.8331,0.4999,0.6668,0.4001,0.8332,0.4999,0.8332,0.4999,0.6669,0.6999,0.6665,0.6999,0.4723,0.6001,0.5001,0.6001,0.3332,0.6999,0.3332,0.6999,0.1669,0.4001,0.6668,0.4999,0.8331,0.4001,0.6669,0.4999,0.8332,0.4001,0.6668,0.4999,0.8331,0.4001,0.6669,0.4001,0.8332,0.4999,0.8332,0.4999,0.8331,0.4001,0.6668,0.4999,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.4999,0.8331,0.4001,0.6668,0.4999,0.6668,0.4001,0.6669,0.4999,0.8332,0.4999,0.8331,0.4001,0.6668,0.4001,0.8332,0.4001,0.6669,0.4999,0.8332,0.45,0.8331,0.4001,0.6668,0.4999,0.6668,0.4999,0.8332,0.4001,0.8332,0.4999,0.6669,0.4001,0.8332,0.4001,0.6668,0.4999,0.7916,0.4999,0.75,0.4002,0.8331,0.4999,0.6669,0.4001,0.8332,0.45,0.6669,0.4999,0.8332,0.4999,0.8331,0.4001,0.6668,0.4999,0.6668] ,"indices":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,31,60,32,61,62,63,64,65,66,67,68,69,70,71,72,1,73,2,74,75,76,77,78,79,80,81,82,37,83,38,7,84,8,85,86,87,19,88,20,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,43,110,111,112,113,114,115,116,117,118,119,120,121,122,123,55,124,125,126,127,128,129,57,130,131,132,38,133,34,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,20,149,10,150,151,152,8,153,154,155,156,157,158,159,160,161,162,163,164,57,165,166,167,168,56,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189] ,"subMeshes":[{"materialIndex":0,"verticesStart":0,"verticesCount":190,"indexStart":0,"indexCount":210}] ,"instances":[]} combined.blend