text: [{"Owner":"elkyu","Date":"2015-07-02T00:59:04Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_div_gt_\n\tHey_co_\n_lt_/div_gt_\n\n_lt_div_gt_\n\tI have a plane with a multitude of points which compose it_co_ that constitute triangles.\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tI created an animation on this which made it move on the y axis.\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tBut_co_ my plane is uniform color so nothing is visible.\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tI would like to create an effect on my face like that (with light ? )_dd_\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\t_lt_a href_eq__qt_http_dd_//playground.babylonjs.com/#CG2MJ%238_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/#CG2MJ#8_lt_/a_gt_\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tBut on this example_co_ it_t_s a _qt_ground_qt_ with a heightmap apply on.\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tI don_t_t know if it_t_s possible to apply a heightmap on the plane and combine it with a points animation.\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tI would like to create this effect but with a plane_co_ not a ground\n_lt_/div_gt_\n\n_lt_div_gt_\n\t \n_lt_/div_gt_\n\n_lt_div_gt_\n\tThanks\n_lt_/div_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jahow","Date":"2015-07-02T07:05:22Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Hey_co__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Do you want to actually modify your mesh (i.e. add bumps) in order for the light to reflect on it_co_ or do you simply want to modify the color of your mesh_t_s faces?_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Also_co_ what do you mean by _qt_points animation_qt_?_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Thanks _lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ alt_eq__qt__dd_)_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ width_eq__qt_20_qt_ height_eq__qt_20_qt__gt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_PS_dd_ the best and quickest way to have your problem solved is reproducing it in a playground example_co_ then it_t_s much clearer for everyone and then someone can write the solution directly in your code!_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"RaananW","Date":"2015-07-02T07:38:12Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_My first question would be - why not simply do it with a plane instead of a ground mesh? those two functions (flat shading and displacement maps) are both available to all meshes._lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_I guess there is something I am missing?_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-02T08:14:13Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote data-ipsquote_eq__qt__qt_ class_eq__qt_ipsQuote_qt_ data-ipsquote-contentcommentid_eq__qt_87881_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentid_eq__qt_15516_qt_ data-ipsquote-username_eq__qt_RaananW_qt_ data-cite_eq__qt_RaananW_qt_ data-ipsquote-timestamp_eq__qt_1435822692_qt__gt__lt_div_gt__lt_div_gt__lt_p_gt_My first question would be - why not simply do it with a plane instead of a ground mesh? those two functions (flat shading and displacement maps) are both available to all meshes._lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_I guess there is something I am missing?_lt_/p_gt__lt_/div_gt__lt_/div_gt__lt_/blockquote_gt__lt_p_gt_I try to do the same with a plane but it_t_s not working_co_ I have a warning _dd__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt__qt_BJS - Cannot call applyDisplacementMap_dd_ Given mesh is not complete. Position_co_ Normal or UV are missing_qt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_My plane is a Blender import_co_ I think it_t_s because the mesh is not updatable_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"RaananW","Date":"2015-07-02T08:56:23Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Well_co_ the error message actually tells you exactly what_t_s wrong - Something is missing._lt_/p_gt__lt_p_gt_My guess would be the UV coordinates. Positions are surely there. Normals can be easily calculated. UV should come from blender. Check that everything is there!_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-02T09:19:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_How to put a file in the Babylon playground ? (for a blender import)_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"RaananW","Date":"2015-07-02T09:25:56Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_You will have to enable CORS on your server and serve it from there. Or just simply attach it here and someone will be able to quickly tell you that the UVs or Normals are missing _lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ alt_eq__qt__dd_)_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ width_eq__qt_20_qt_ height_eq__qt_20_qt__gt__lt_/p_gt__lt_p_gt_You could do this as well - look inside your babylon file and make sure all properties are there. I am sadly not a blender expert (gryff_co_ I started with the tutorials! _dd_-) ) but I guess somewhere there you can make sure as well that everything is being exported correctly._lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-02T09:54:09Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_I think UVs is missing_co_ not normals_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_I can_t_t upload the file I have an error _qt_You aren_t_t permitted to upload this kind of file_qt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_So_co_ I copy the content of the .babylon file _dd__lt_/p_gt__lt_pre class_eq__qt_ipsCode prettyprint_qt__gt_{_qt_autoClear_qt__dd_true_co__qt_clearColor_qt__dd_[0_co_0_co_0]_co__qt_ambientColor_qt__dd_[0_co_0_co_0]_co__qt_gravity_qt__dd_[0_co_-9.81_co_0]_co__qt_materials_qt__dd_[]_co__qt_multiMaterials_qt__dd_[]_co__qt_skeletons_qt__dd_[]_co__qt_meshes_qt__dd_[{_qt_name_qt__dd__qt_Plane_qt__co__qt_id_qt__dd__qt_Plane_qt__co__qt_billboardMode_qt__dd_0_co__qt_position_qt__dd_[0_co_0_co_0]_co__qt_rotation_qt__dd_[0_co_0_co_0]_co__qt_scaling_qt__dd_[1_co_1_co_1]_co__qt_isVisible_qt__dd_true_co__qt_isEnabled_qt__dd_true_co__qt_useFlatShading_qt__dd_false_co__qt_checkCollisions_qt__dd_false_co__qt_receiveShadows_qt__dd_false_co__qt_positions_qt__dd_[0.8603_co_0_co_0.8436_co_1_co_0_co_0.75_co_1_co_0_co_1_co_-0.0401_co_0_co_0.8269_co_0_co_0_co_1_co_-0.25_co_0_co_1_co_-0.25_co_0_co_-0.25_co_0_co_0_co_-0.25_co_-0.0702_co_0_co_-0.1036_co_0.6698_co_0_co_-0.2934_co_1_co_0_co_-0.25_co_1_co_0_co_0_co_0.3603_co_0_co_-0.1564_co_0.5_co_0_co_-0.25_co_0.5969_co_0_co_0.0835_co_0.4031_co_0_co_-0.6832_co_0.5_co_0_co_-0.5_co_0.3068_co_0_co_-0.5568_co_1_co_0_co_-0.75_co_1_co_0_co_-0.5_co_0.6598_co_0_co_-0.6905_co_-0.613_co_0_co_-0.1865_co_-0.5468_co_0_co_-0.3636_co_-0.5_co_0_co_0_co_-0.6531_co_0_co_-0.6665_co_-0.6103_co_0_co_-0.8402_co_-0.5_co_0_co_-0.5_co_-0.1003_co_0_co_-0.6731_co_-0.0501_co_0_co_-0.4198_co_-0.25_co_0_co_-0.5_co_-0.5_co_0_co_0.75_co_-0.5_co_0_co_1_co_-0.75_co_0_co_1_co_-0.4165_co_0_co_0.3035_co_-0.5501_co_0_co_0.5802_co_-0.75_co_0_co_0.5_co_-0.1404_co_0_co_0.1798_co_0_co_0_co_0.5_co_-0.25_co_0_co_0.5_co_0.4031_co_0_co_0.8168_co_0.5_co_0_co_1_co_0.25_co_0_co_1_co_0.5_co_0_co_0.25_co_0.5_co_0_co_0.5_co_0.2934_co_0_co_0.4131_co_0.8736_co_0_co_0.3904_co_1_co_0_co_0.25_co_1_co_0_co_0.5_co_0.6497_co_0_co_0.5769_co_0.75_co_0_co_0.0936_co_0.1531_co_0_co_0.3168_co_0.25_co_0_co_0_co_0.25_co_0_co_0.75_co_-0.3703_co_0_co_0.3035_co_-0.2066_co_0_co_-0.0869_co_-1_co_0_co_0.25_co_-0.8202_co_0_co_0.1464_co_-1_co_0_co_0_co_-0.75_co_0_co_0.0936_co_-1_co_0_co_0.75_co_-0.6932_co_0_co_0.6932_co_-0.2901_co_0_co_-0.6731_co_-0.5_co_0_co_-1_co_-0.25_co_0_co_-1_co_0_co_0_co_-1_co_-1_co_0_co_-0.75_co_-0.8603_co_0_co_-0.5902_co_-0.75_co_0_co_-1_co_-1_co_0_co_-0.25_co_0.75_co_0_co_-0.887_co_0.5_co_0_co_-1_co_0.75_co_0_co_-1_co_1_co_0_co_-1_co_0.1999_co_0_co_-0.7934_co_0.25_co_0_co_-1_co_-0.1932_co_0_co_0.6932_co_0.75_co_0_co_1_co_-1_co_0_co_0.5_co_-1_co_0_co_1_co_-1_co_0_co_-0.5_co_-1_co_0_co_-1]_co__qt_normals_qt__dd_[0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0_co_0_co_1_co_0]_co__qt_indices_qt__dd_[0_co_1_co_2_co_3_co_4_co_5_co_6_co_7_co_8_co_9_co_10_co_11_co_12_co_13_co_14_co_15_co_16_co_17_co_18_co_19_co_20_co_21_co_22_co_23_co_24_co_25_co_26_co_27_co_28_co_29_co_30_co_31_co_32_co_33_co_34_co_35_co_36_co_37_co_38_co_39_co_40_co_41_co_42_co_43_co_44_co_45_co_46_co_47_co_42_co_45_co_48_co_49_co_45_co_42_co_49_co_11_co_46_co_50_co_44_co_37_co_51_co_50_co_36_co_51_co_14_co_42_co_3_co_52_co_41_co_37_co_44_co_52_co_43_co_39_co_52_co_33_co_53_co_38_co_23_co_54_co_53_co_54_co_8_co_36_co_55_co_56_co_35_co_57_co_58_co_56_co_58_co_23_co_33_co_59_co_60_co_32_co_35_co_60_co_59_co_34_co_30_co_60_co_61_co_29_co_26_co_62_co_63_co_61_co_63_co_64_co_27_co_65_co_24_co_66_co_67_co_24_co_65_co_67_co_62_co_25_co_21_co_58_co_57_co_66_co_21_co_68_co_66_co_26_co_22_co_15_co_69_co_20_co_70_co_71_co_69_co_72_co_18_co_69_co_27_co_73_co_17_co_64_co_74_co_73_co_74_co_70_co_15_co_7_co_12_co_51_co_17_co_12_co_7_co_17_co_16_co_13_co_9_co_49_co_14_co_16_co_20_co_9_co_19_co_10_co_9_co_6_co_54_co_23_co_29_co_6_co_22_co_28_co_7_co_6_co_30_co_75_co_5_co_38_co_75_co_30_co_37_co_3_co_75_co_39_co_0_co_76_co_48_co_0_co_39_co_48_co_47_co_1_co_76_co_0_co_2_co_75_co_3_co_5_co_54_co_6_co_8_co_49_co_9_co_11_co_51_co_12_co_14_co_73_co_15_co_17_co_69_co_18_co_20_co_58_co_21_co_23_co_66_co_24_co_26_co_61_co_27_co_29_co_60_co_30_co_32_co_56_co_33_co_35_co_53_co_36_co_38_co_52_co_39_co_41_co_50_co_42_co_44_co_48_co_45_co_47_co_43_co_42_co_48_co_14_co_49_co_42_co_45_co_49_co_46_co_36_co_50_co_37_co_8_co_51_co_36_co_50_co_51_co_42_co_4_co_3_co_41_co_3_co_37_co_52_co_44_co_43_co_52_co_34_co_33_co_38_co_33_co_23_co_53_co_53_co_54_co_36_co_77_co_55_co_35_co_55_co_57_co_56_co_56_co_58_co_33_co_78_co_59_co_32_co_77_co_35_co_59_co_35_co_34_co_60_co_25_co_61_co_26_co_25_co_62_co_61_co_61_co_63_co_27_co_79_co_65_co_66_co_80_co_67_co_65_co_24_co_67_co_25_co_68_co_21_co_57_co_79_co_66_co_68_co_21_co_66_co_22_co_16_co_15_co_20_co_15_co_70_co_69_co_71_co_72_co_69_co_28_co_27_co_17_co_27_co_64_co_73_co_73_co_74_co_15_co_8_co_7_co_51_co_28_co_17_co_7_co_12_co_17_co_13_co_13_co_9_co_14_co_13_co_16_co_9_co_20_co_19_co_9_co_22_co_6_co_23_co_26_co_29_co_22_co_29_co_28_co_6_co_31_co_30_co_5_co_34_co_38_co_30_co_38_co_37_co_75_co_40_co_39_co_76_co_43_co_48_co_39_co_0_co_48_co_1]_co__qt_subMeshes_qt__dd_[{_qt_materialIndex_qt__dd_0_co__qt_verticesStart_qt__dd_0_co__qt_verticesCount_qt__dd_81_co__qt_indexStart_qt__dd_0_co__qt_indexCount_qt__dd_384}]_co__qt_instances_qt__dd_[]}]_co__qt_cameras_qt__dd_[]_co__qt_lights_qt__dd_[]_co__qt_shadowGenerators_qt__dd_[]}_lt_/pre_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"RaananW","Date":"2015-07-02T09:56:39Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Look_co_ you have the answer right in front of you._lt_/p_gt__lt_p_gt_As I assumed before - you are missing the UV coordinates. Look at the Babylon file - do you see positions? do you see normals? do you see uv? There_co_ you have your answer... How to solve it? In Blender..._lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-02T13:16:37Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt__lt_span_gt_Yes I saw that there was no UV map_co_ I just put the code for you to see the file_co_ if that helps .._lt_/span_gt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_So_co_ I_t_ll see _lt_span_gt_with blender if I can add the uv map (I know nothing about Blender)_lt_/span_gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"RaananW","Date":"2015-07-02T13:41:30Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_I wonder - does the mesh have a texture in blender? I guess adding a texture to it would for it to have uv coordinates. _lt_/p_gt__lt_p_gt_I also wonder (out loud) why the uvs are required at all. They don_t_t seem obligatory... Technically_co_ when no uv is found_co_ 0 is used - _lt_a href_eq__qt_https_dd_//github.com/BabylonJS/Babylon.js/blob/master/src/Mesh/babylon.mesh.ts#L1029_qt_ rel_eq__qt_external nofollow_qt__gt_https_dd_//github.com/BabylonJS/Babylon.js/blob/master/src/Mesh/babylon.mesh.ts#L1029_lt_/a_gt_ . Anyone? _lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"gryff","Date":"2015-07-02T14:01:53Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote data-ipsquote_eq__qt__qt_ class_eq__qt_ipsQuote_qt__gt__lt_div_gt_I_t_ll see _lt_span_gt_with blender if I can add the uv map (I know nothing about Blender)_lt_/span_gt__lt_/div_gt__lt_/blockquote_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_1. Start a new Blender File._lt_/p_gt__lt_p_gt_2. Add a plane to the scene_lt_/p_gt__lt_p_gt_3. Add a material to the plane_lt_/p_gt__lt_p_gt_4. Now_co_ in EDIT mode select all the vertices (toggle the A key until vertices are highlighted)_lt_/p_gt__lt_p_gt_5 Go into TOP view_lt_/p_gt__lt_p_gt_5. With all the vertices selected Mesh -&gt_sm_ UV Unwrap -&gt_sm_ Project From View (Bounds)_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Now export as usual._co_ the babylon  file will have UV co-ordinates._lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_cheers_co_ gryff _lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ alt_eq__qt__dd_)_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ width_eq__qt_20_qt_ height_eq__qt_20_qt__gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-02T14:09:23Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Thanks !_lt_/p_gt__lt_p_gt__lt_span_gt_I_t_ll try that as soon as I can._lt_br_gt_I will keep you informed_lt_/span_gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-03T11:52:37Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tIt_t_s working.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI have the UV array on my babylon file and I can apply the heightmap on my plane ! \n_lt_/p_gt_\n\n_lt_p_gt_\n\tBut ! Like I said_co_ I want to do an animation of all my points (vertices) on the y axis.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAnd_co_ Because of convertToFlatShadedMesh() when I move a point it separates from the others. Like this _dd_ \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//playground.babylonjs.com/#CG2MJ%2311_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/#CG2MJ#11_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tBut_co_ I want all the faces stay together and it does not do a hole\n_lt_/p_gt_\n\n_lt_p_gt_\n\tIt_t_s possible ? If not_co_ there is an other way to do the same without convertToFlatShadedMesh() (or without heightmap )?\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Deltakosh","Date":"2015-07-03T16:07:56Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_THis is possible. you just have to keep a list of vertices that share the same position and then when you want to move a specific vertex you also move all the _qt_attached_qt_ vertices that share the same location_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jahow","Date":"2015-07-03T16:25:48Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tWell_co_ since you converted your mesh to flat shaded_co_ all the polygons have been separated from one another_co_ so each point in your grid is actually composed of six different vertices_co_ each belonging to a different polygon.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI managed to get it working in your PG_co_ but _lt_em_gt_this is very hacky_lt_/em_gt_ (I did it completely based on trial &amp_sm_ error)... _lt_a href_eq__qt_http_dd_//playground.babylonjs.com/#CG2MJ%2313_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/#CG2MJ#13_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAlso you_t_ll need to check for grid borders_co_ otherwise you_t_ll end up with an out of bound index.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tSo yeah_co_ modifying a flat shaded ground mesh is... painful _lt_img alt_eq__qt__dd_D_qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_biggrin.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/biggrin@2x.png 2x_qt_ width_eq__qt_20_qt_ data-emoticon_eq__qt__qt_ /_gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"Wingnut","Date":"2015-07-03T18:39:50Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tNice job_co_ Jahow.  It holds-up with backfacecull false and wireframe true_co_ too.  Sweet!\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI was going to go flat-shade the heightmap in _lt_a href_eq__qt_http_dd_//playground.babylonjs.com/?14_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/?14_lt_/a_gt_ (the heightmap demo) but he looks sick.  Looks like his light is pale... I thought I better let him sleep it off.  _dd_/\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-06T08:29:52Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-cite_eq__qt_jahow_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_88061_qt_ data-ipsquote-contentid_eq__qt_15516_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1435940748_qt_ data-ipsquote-username_eq__qt_jahow_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tOn 7/3/2015 at 11_dd_25 AM_co_ jahow said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_div_gt_\n\t\t\t_lt_div_gt_\n\t\t\t\t_lt_p_gt_\n\t\t\t\t\tWell_co_ since you converted your mesh to flat shaded_co_ all the polygons have been separated from one another_co_ so each point in your grid is actually composed of six different vertices_co_ each belonging to a different polygon.\n\t\t\t\t_lt_/p_gt_\n\n\t\t\t\t_lt_p_gt_\n\t\t\t\t\tI managed to get it working in your PG_co_ but _lt_em_gt_this is very hacky_lt_/em_gt_ (I did it completely based on trial &amp_sm_ error)... _lt_a href_eq__qt_http_dd_//playground.babylonjs.com/#CG2MJ%2313_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/#CG2MJ#13_lt_/a_gt_\n\t\t\t\t_lt_/p_gt_\n\n\t\t\t\t_lt_p_gt_\n\t\t\t\t\tAlso you_t_ll need to check for grid borders_co_ otherwise you_t_ll end up with an out of bound index.\n\t\t\t\t_lt_/p_gt_\n\n\t\t\t\t_lt_p_gt_\n\t\t\t\t\tSo yeah_co_ modifying a flat shaded ground mesh is... painful _lt_img alt_eq__qt__dd_D_qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_biggrin.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/biggrin@2x.png 2x_qt_ width_eq__qt_20_qt_ data-emoticon_eq__qt__qt_ /_gt__lt_/p_gt_\n\t\t\t_lt_/div_gt_\n\t\t_lt_/div_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tHi !\n_lt_/p_gt_\n\n_lt_p_gt_\n\tOk_co_ If I have a vertices _co_ I can find the other vertices with its value.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tBut Yes it_t_s very ... painful ..\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI_t_m not closed with this solution_co_ If someone have a solution which can do the same effect without convert my mesh to flat shaded i_t_m listening ...\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jerome","Date":"2015-07-06T08:41:59Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_@elkyu _dd_ did I tell you that updatable ribbons were done for this ?_lt_/p_gt__lt_p_gt_Yes_co_ I did._lt_/p_gt__lt_p_gt_elkyu_co_ please re-read the mail I wrote for you and re-read the related linked docs. Everything_co_ including PG examples_co_ is documented._lt_/p_gt__lt_p_gt__lt_a class_eq__qt_ipsAttachLink ipsAttachLink_image_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_07_2015/post-5453-0-74041900-1436172283.png_qt_ rel_eq__qt_external nofollow_qt__gt__lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/monthly_07_2015/post-5453-0-74041900-1436172283.png_qt_ data-fileid_eq__qt_4595_qt_ class_eq__qt_ipsImage ipsImage_thumbnailed_qt_ alt_eq__qt_post-5453-0-74041900-1436172283.png_qt__gt__lt_/a_gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"iiceman","Date":"2015-07-06T12:06:44Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Show us all the playground that belongs to the screenshot I say! _lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_tongue.png_qt_ alt_eq__qt__dd_P_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/tongue@2x.png 2x_qt_ width_eq__qt_20_qt_ height_eq__qt_20_qt__gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jahow","Date":"2015-07-06T12:13:25Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote data-ipsquote_eq__qt__qt_ class_eq__qt_ipsQuote_qt_ data-ipsquote-contentcommentid_eq__qt_88239_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentid_eq__qt_15516_qt_ data-ipsquote-username_eq__qt_jerome_qt_ data-cite_eq__qt_jerome_qt_ data-ipsquote-timestamp_eq__qt_1436172119_qt__gt__lt_div_gt__lt_div_gt__lt_p_gt_@elkyu _dd_ did I tell you that updatable ribbons were done for this ?_lt_/p_gt__lt_p_gt_Yes_co_ I did._lt_/p_gt__lt_p_gt_elkyu_co_ please re-read the mail I wrote for you and re-read the related linked docs. Everything_co_ including PG examples_co_ is documented._lt_/p_gt__lt_/div_gt__lt_/div_gt__lt_/blockquote_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_But... but... This is not flat shaded!! *hopes shattered*_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jerome","Date":"2015-07-06T14:08:54Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_hi_co__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_here_t_s a lead _dd_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#AGDUB_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#AGDUB_lt_/a_gt__lt_/p_gt__lt_p_gt_I just build a ribbon 30 paths of 30 vectors each _dd_ line 15_lt_/p_gt__lt_p_gt_Say_co_ it is your plane you want to animate._lt_/p_gt__lt_p_gt_Note that this ribbon is _lt_em_gt_updatable (parameter updatable set to true_lt_/em_gt_)_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Now_co_ line 34_co_ I define a function to update the y coordinate of each vector._lt_/p_gt__lt_p_gt_You could have done your own here instead of mine _dd_ a sinus or cosinus according to the (i  - j)  modulus 3._lt_/p_gt__lt_p_gt_Feel free to change the way the vertices evolve ex _dd_ i * j_co_ % 2_co_ or cos(k + 0.1) or anything else fitting better your needs_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_That_t_s all._lt_/p_gt__lt_p_gt_Now_co_ I just call this function in the render loop and I call also the _lt_em_gt_CreateRibbon()_lt_/em_gt_ function_co_ passing to it as last parameter the ribbon instance reference _dd__lt_/p_gt__lt_p_gt__lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#AGDUB%231_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#AGDUB#1_lt_/a_gt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_Now_co_ if you_t_ve got the right material and the right light orientation_co_ each face should enlight the wanted way._lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_This is just a lead to easily morph a mesh. _lt_img src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_wink.png_qt_ alt_eq__qt__sm_)_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/wink@2x.png 2x_qt_ width_eq__qt_20_qt_ height_eq__qt_20_qt__gt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_[EDIT] _dd_ it_t_s better with scale.z instead of scale.y _dd_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#AGDUB%234_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#AGDUB#4_lt_/a_gt__lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jerome","Date":"2015-07-06T16:06:04Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_funny waves _dd_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#AGDUB%235_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#AGDUB#5_lt_/a_gt__lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_I just changed the offset computation_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"elkyu","Date":"2015-07-06T23:18:22Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_Question_co_ if I just have to find the right equipment/tool and the right light orientation_co_ then I can keep my plane instead of the ribbon_co_ no ?_lt_/p_gt__lt_p_gt_ _lt_/p_gt__lt_p_gt_If I don_t_t convert in flat shaded_co_ I don_t_t have any problem for the animation .. _lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"},{"Owner":"jahow","Date":"2015-07-07T06:10:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHey Elkyu_co_ what about that_dd_ _lt_a href_eq__qt_http_dd_//playground.babylonjs.com/#CG2MJ%2314_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//playground.babylonjs.com/#CG2MJ#14_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThe vertices altitude (y component) is updated based on the x and z values_co_ so as long as you use a mesh oriented the same way_co_ any mesh should work.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tFor some mysterious reason_co_ the PG does not work (faces tear apart) one time out of two. Please reload if it happens. I think there_t_s a bug that needs some love here... EDIT_dd_ this is just a matter of float precision_co_ no BJS bug here.\n_lt_/p_gt_\n\n\n\t\t\t\n\t\t_lt_/div_gt_\n\n\t\t_lt_div class_eq__qt_ipsI_qt__gt__lt_/div_gt__lt_/div_gt_"}]