{"size": 43979, "ext": "js", "max_stars_repo_path": "ForumArchive/acc/post_27691_page_1.js", "max_stars_repo_name": "doc22940/Extensions", "max_stars_repo_stars_event_min_datetime": "2015-01-01T17:33:35.000Z", "max_stars_repo_stars_event_max_datetime": "2022-02-26T16:38:08.000Z", "max_issues_repo_path": "ForumArchive/acc/post_27691_page_1.js", "max_issues_repo_name": "doc22940/Extensions", "max_issues_repo_issues_event_min_datetime": "2015-06-20T00:39:16.000Z", "max_issues_repo_issues_event_max_datetime": "2021-09-02T22:55:27.000Z", "max_forks_repo_path": "ForumArchive/acc/post_27691_page_1.js", "max_forks_repo_name": "doc22940/Extensions", "max_forks_repo_forks_event_min_datetime": "2015-04-29T09:50:11.000Z", "max_forks_repo_forks_event_max_datetime": "2022-03-18T09:20:44.000Z"}
{"max_stars_count": 136, "max_issues_count": 60, "max_forks_count": 141, "avg_line_length": 43979.0, "max_line_length": 43979, "alphanum_fraction": 0.8397416949}
[{"Owner":"Rolento","Date":"2017-01-14T12:35:07Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tI am using BABYLON.ArcRotateCamera to visualise and move through my 3D scene. However_co_ I am trying to change the way in which the .alpha rotation works.  \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_strong_gt_My understanding of ArcRotateCamera_dd__lt_/strong_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tBy default the .aplha is used to rotate the camera around the _qt_Y_qt_ axis and .beta rotates the camera around _qt_X_qt_ axis.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_strong_gt_What I want ArcRotateCamera to do_dd__lt_/strong_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tI want to change the .alpha rotation such that it rotates around the _qt_Z_qt_ axis instead of the default _qt_Y_qt_ axis.  \n_lt_/p_gt_\n\n_lt_p_gt_\n\tDoes anyone know how I can do ths?\n_lt_/p_gt_\n\n_lt_p_gt_\n\tFYI - I have experimented with creating custom camera inputs (which is great for manipulating mouse buttons/wheel actions) but I can see no way obvious of achieving the above_co_ hence there is probably another approach that is needed.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThanks...\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":"Wingnut","Date":"2017-01-15T12:53:07Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHi again_co_ Rolento!  I see you got yourself a little forum error... and some message _qt_echo_qt_.  Interesting.  (Wingy whacks on the forum software with a Nerf baseball bat_co_ and grins)\n_lt_/p_gt_\n\n_lt_p_gt_\n\tOkay_co_ I_t_m about the LAST person you would want... working this issue.  I dislike BJS camera inputs system... beyond your wildest imaginations.  Actually_co_ it is probably fine_co_ but it could sure use another layer of friendliness atop.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tFirst_co_ know that I have NO IDEA what I am doing.  There are people around here that are MUCH better at this_co_ than I.  But_co_ you_t_ve waited 23 hours_co_ PLUS all the work you went through earlier... fighting with camera inputs.  You deserve a break_co_ and what little info I can give.  So here it is_co_ briefly_co_ and _lt_u_gt_no promises that I am saying anything correct_lt_/u_gt_.  I am not an expert_co_ and not even close to one.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tTo get started_co_ I wanted to bring a JS version of Babylon.js/src/Cameras/Inputs/babylon.arcrotatecamera.input.pointers.ts... into the playground.  I did a playground search for pertinent keyword... _lt_a href_eq__qt_http_dd_//doc.babylonjs.com/playground?q_eq_ArcRotateCameraPointersInput_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//doc.babylonjs.com/playground?q_eq_ArcRotateCameraPointersInput_lt_/a_gt_ and got 50 results.  I used the _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%235_qt_ rel_eq__qt_external nofollow_qt__gt_18KHF6#5_lt_/a_gt_ PG_co_ and as you can see_co_ it has the code we want to _qt_hack_qt_... already put into the playground (at the top).  KEEP in mind_co_ it might not be default framework version! (see the console.log(test) in there?)\n_lt_/p_gt_\n\n_lt_p_gt_\n\tSo_co_ THAT version of ArcRotateCameraPointersInput _lt_strong_gt_COULD BE OLD_lt_/strong_gt_ and _lt_strong_gt_COULD ALREADY BE CUSTOMIZED_lt_/strong_gt_.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_/p_gt_\n\n_lt_p_gt_\n\tThat said_co_ let_t_s go hacking... with the feeble-minded Wingnut... who is like a baby with a chainsaw.  Count-on pursuing in wrong directions (wild goose chases).  And_co_ count-on Wingnut taking the LONG WAY and/or REAL OLD SCHOOL way... to do something that COULD be simple. _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_/p_gt_\n\n_lt_p_gt_\n\tHere we go.  _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%237_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#18KHF6#7_lt_/a_gt_  There it is... z-rotation on an arc cam... when pointer drag left-right.  Holy crap_co_ batman.  Don_t_t bother trying the mousewheel... it_t_s still kind of broken.  Might be able to fix it somewhat... by make camgiz... super-tiny.  I think the mousewheel takes the camera into the camgiz _qt_box_qt_ and the camera can_t_t see out of it (from its inside).\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThe camera gizmo is generally needed... because arcCams don_t_t like spinning on z axis (without view matrix wrenchings).  But when arc cam is parented to camera gizmo_co_ we can force him around... such as lines 79-80.  Here_co_ I scale-down the offsetX value and feed it to camera gizmo rot z.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThe rest of the hacking is in lines 170-190.  When parenting a camera to a gizmo_co_ we need to null-out any camera transforms (positions/rotations) before parenting to camera gizmo.  So_co_ line 170 has initial settings that sort of _qt_square-up_qt_ the camera with the camera gizmo box.  We want to avoid using camera setTarget_co_ and instead... if using ANYTHING... we want to use a camera _lt_strong_gt_gizmo_lt_/strong_gt_ _lt_em_gt_lookAt(sometarget)._lt_/em_gt_ The camera gizmo is now... _qt_alpha boss_qt_ _lt_img alt_eq__qt__dd_D_qt_ data-emoticon_eq__qt__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_ title_eq__qt__dd_D_qt_ width_eq__qt_20_qt_ /_gt_  He has decided to route offsetX... to camera.rotation.z... using force.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_/p_gt_\n\n_lt_p_gt_\n\tAnd that_t_s it.  That_t_s all I have accomplished... but not bad for 2 hours and only one cup of coffee_co_ so far.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI hope some of this can help you.  I hope I didn_t_t show you _qt_dangerous_qt_ things or send you on any goose chases.   Perhaps_co_ you have already been this far down this trail.   Camera inputs pretty much suck_co_ huh?  We have built ourselves a device-to-camera wiring system that is unscalable_co_ and completely not ready for the 25000 new input devices that will be invented in the next 10 years.  This system... is an alligator yet to be wrestled_co_ in my opinion.  I had big hopes for the universal camera.  I thought... alright... and it uses universalInputs?  Nooo.  It still used attachAnEventCollision like current camera inputs.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tAnd I think SOME people are forgetting that device inputs are just as likely to be wired to actionManagers... as they are cameras.  We haven_t_t even BEGUN to address actionManager inputs and inputManagers.  It_t_s all going to turn ugly.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  What we really need is a central inputs actionManager.  It can route inputs to lights_co_ mesh_co_ cameras_co_ properties_co_ just a dream come true.  Last time I proposed this_co_ it didn_t_t meet with applause from BJS HQ.  _lt_img alt_eq__qt__dd_D_qt_ data-emoticon_eq__qt__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_ title_eq__qt__dd_D_qt_ width_eq__qt_20_qt_ /_gt_  That_t_s very normal... for my big fat (implausible) dreams/aspirations. hehe.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tStill_co_ I would love to see a real nice _qt_patch panel_qt_ type of thing.  Wire anything to anything... and it_t_s user friendly.  *sigh*.  Maybe someday.\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":"Rolento","Date":"2017-01-15T15:06:18Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHi Wingnut_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tI love your disclaimer _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ - but whatever help you can provide will always be well received by me_co_ so shoot away!_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tI just finished reading your post and at first glance it looks like it provides what I am looking for (so a big thanks to you once again!)._lt_span_gt_  _lt_/span_gt_I have not got into the nuts and bolts of what you have done (im going to do that this evening) but fingers crossed there is no black magic and I can manipulate the code as needed._lt_span_gt_  _lt_/span_gt__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tActually - the one area I would like to learn more about is _qt_camera.camgiz_qt_._lt_span_gt_  _lt_/span_gt_I have no idea how you know about this_co_ when I search the BabylonJS documentation I find no references to it_co_ so this does feel like were dabbling with the dark arts! _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_span_gt_  _lt_/span_gt_If you know of a page that explains camgiz that would be great_co_ otherwise I guess you have to delve into the code?_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n_lt_p_gt_ _lt_/p_gt_\n\n\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tQuote\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\tStill_co_ I would love to see a real nice _qt_patch panel_qt_ type of thing._lt_span_gt_  _lt_/span_gt_Wire anything to &gt_sm_ anything... and it_t_s user friendly._lt_span_gt_  _lt_/span_gt_*sigh*._lt_span_gt_  _lt_/span_gt_Maybe someday._lt_br /_gt__lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tThe core BGS team in fairness have done a great job with camera and inputs_co_ but I have to agree with your above request. An intuitive easy to use configurable system enabling events/inputs to be linked to objects of varying types would be spot on!_lt_span_gt_  _lt_/span_gt_Fingers and toes crossed._lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tIf I make any useful tweaks to your code I will repost what I have done hoping it might help others._lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tIF anyone has any other pointers please shout..._lt_/p_gt_\n_lt_p_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":"2017-01-15T16:08:51Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tOh_co_ thanks for the kind words_co_ Rolento... and yeah... camera.camgiz is just something I made happen.  It_t_s called _qt_overloading_qt__co_ I think.  In line 179_co_ I know there is an object called _t_camera_t_ that exists_co_ and I just created an object called camgiz... in the previous line.  SO... I just crammed that new object into a NEW _qt_property_qt_ or _qt_pocket_qt_... on the camera object.  Its not documented because... I just forced it to exist with line 179.  Its like injecting gizmo under the camera_t_s skin... and saying _qt_Here_co_ carry this _t_widget_t_ along with you_co_ wherever you go_co_ from now-on_qt_  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_/p_gt_\n\n_lt_p_gt_\n\tNow you_t_re making custom versions of ArcRotateCameraPointersInput.  I think... you get full control_co_ now... once you learn to drive that input code.\n_lt_/p_gt_\n\n_lt_p_gt_\n\tUp in line 80_co_ where the little modification to the input code happens...  camera.gizmo gets used (repeatedly). _lt_em_gt_ _this.camera.camgiz.rotation_lt_/em_gt_.  The engine uses the code in our playground_co_ now (instead of its old version).   The engine uses something stored in our new _qt_pocket_qt_. \n_lt_/p_gt_\n\n_lt_p_gt_\n\tIt_t_s not at all _qt_normal_qt_ so it won_t_t be documented.  It_t_s a demented mad-scientist activity.  Intervening.  Hijacking BJS framework code_co_ and banging on it with a hammer_co_ and seeing what happens.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  FUN!\n_lt_/p_gt_\n\n_lt_p_gt_\n\tDuct-taping and hot-wiring stuff together_co_ and always with the possibility of explosions and other FRR (far-reaching ramifications)  (such as... suddenly_co_ in the next version of BJS_co_ our _qt_hack_qt_ no longer works correctly and needs re-hacking)  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_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":"Rolento","Date":"2017-01-15T22:18:48Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHi Wingnut\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHa_co_ that makes much more sense now _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  Thanks for explaining... \n_lt_/p_gt_\n\n_lt_p_gt_\n\tI added your code to my project_co_ and... it works a treat! The zoom seems to work for me too_co_ so im a happy chap.  The only thing that does not work is the inertia effect - so I applied an algorithm that I found here (_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#10VHTS%2312_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#10VHTS#12)_lt_/a_gt_ - sorry_co_ I dont know who created this PG (thanks anyway!).\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHere is the modified version of your code_dd_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%239_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#18KHF6#9_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThis code is a little mangled now_co_ i.e. the main function is manipulating the camera making it tightly coupled_co_ but it does the job.  If you know of a better way of applying inertia please let me know.  Once again thanks!\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \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":"Wingnut","Date":"2017-01-16T00:28:38Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tCool!  Ya know... you_t_re really not far away from converting to universalCamera... with only one attached input...  RolentoCameraPointersInput.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  Your own camera_co_ invented by you.  Wow!  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt__lt_/p_gt_\n\n_lt_p_gt_\n\tYeah_co_ I think there is an easier way to activate inertia.  It_t_s within that input code somewhere.  camera.inertialPanningX and camera.inertialAlphaOffset... something there.  (not sure).\n_lt_/p_gt_\n\n_lt_p_gt_\n\tBut yeah_co_ you got this camera working well.  Good job.  RolentoCam.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  It has hardly ANY modifications to the inputs code_co_ now.  hmm.  It_t_s a shame that it needs to be carried along_co_ in your project.  It_t_s not TOO fat... but... you know... we hate ALL unnecessary code fat.  _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_  Somebody will have a secret idea... soon.\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":"Rolento","Date":"2017-01-16T00:50:45Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tHi Wingnut\n_lt_/p_gt_\n\n_lt_p_gt_\n\tLOL - RolentoCam_co_ well my knowledge of BJS camera_t_s is somewhat limited at the moment_co_ so the RolentoCam could be unpredictable if you were to use it! _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ \n_lt_/p_gt_\n\n_lt_p_gt_\n\tThat said_co_ I have ran into a glitch - basically when I use the code ( _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%239_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#18KHF6#9_lt_/a_gt_) in the PG everything works fine.  However_co_ when I added the code to one of my local projects (I thought it was working) but its not.  Basically for some reason the addEventListerner() functions are not working - e.g.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t...\n_lt_/p_gt_\n\n_lt_p_gt_\n\tcanvas _eq_ document.getElementById(_qt_renderCanvas_qt_)_sm_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t...\n_lt_/p_gt_\n\n_lt_p_gt_\n\tcanvas.addEventListener(_t_pointerdown_t__co_ function (e) { ... }\n_lt_/p_gt_\n\n_lt_p_gt_\n\tIn the above example for some reason the pointerdown event is not being caught.  I double checked that the canvas was named correctly in the HTML code and it is - i.e.\n_lt_/p_gt_\n\n_lt_p_gt_\n\t    &lt_sm_canvas id_eq__qt_renderCanvas_qt_&gt_sm_&lt_sm_/canvas&gt_sm_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tSo_co_ im baffled as to why this is not working.  Something silly no doubt_co_ if you can think of anything obvious let me know.  I will try debugging this more tomorrow.\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":"aWeirdo","Date":"2017-01-16T07:37:54Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/23736-rolento/?do_eq_hovercard_qt_ data-mentionid_eq__qt_23736_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/23736-rolento/_qt_ rel_eq__qt__qt__gt_@Rolento_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\tHi_co_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tthe mostlikely reason is missing pointer event support_lt_br /_gt__lt_br /_gt_\n\ttry this_co_ it might help_co_ it might not _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_pre_gt_\n_lt_code_gt_// Check pointer support\nvar pPrefix _eq_ (!window.PointerEvent &amp_sm_&amp_sm_ !navigator.pointerEnabled ? _qt_mouse_qt_ _dd_ _qt_pointer_qt_)_sm_\n\n//Add event listener_sm_\nrenderCanvas.addEventListener(pPrefix + _qt_down_qt__co_ pointerDownFunc)_sm_\n\n\n//.. function to call on pointerdown\nfunction pointerDownFunc(evt){\n  //do something .. evt is the pointer event.\n}\n\n//The reason i use a seperate function is that this way i can remove the eventlistener again if/when it_t_s no longer needed_co_ from outside the function itself. E.g_sm_\nrenderCanvas.removeEventListener(pPrefix + _qt_down_qt__co_ pointerDownFunc)_sm_\n_lt_/code_gt__lt_/pre_gt_\n\n_lt_p_gt_\n\t_lt_br /_gt_\n\t \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":"Nabroski","Date":"2017-01-16T14:47:02Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t_lt_p_gt_\n\tfor loop grab everything rotate it - 1 single line of code _lt_br /_gt_\n\toptional second line_dd_ add a callback / remove callback\n_lt_/p_gt_\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":"Rolento","Date":"2017-01-16T21:14:10Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/17943-aweirdo/?do_eq_hovercard_qt_ data-mentionid_eq__qt_17943_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/17943-aweirdo/_qt_ rel_eq__qt__qt__gt_@aWeirdo_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tThe alternative solution you provided works perfectly for me (Internet Explorer &amp_sm_ Firefox). \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%2310_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#18KHF6#10_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\tHowever_co_ a friend of mine using a MAC (Safari) discovered that the system crashes (well the 3D objects vanish from the scene) when he moves the mouse on to the canvas region.  Unfortunately I dont have a MAC so I cant debug this - does anyone else see this problem?\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \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":"Visam","Date":"2017-01-16T23:05:01Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_159400_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484601250_qt_ data-ipsquote-userid_eq__qt_23736_qt_ data-ipsquote-username_eq__qt_Rolento_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\t1 hour ago_co_ Rolento said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/17943-aweirdo/?do_eq_hovercard_qt_ data-mentionid_eq__qt_17943_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/17943-aweirdo/_qt_ rel_eq__qt__qt__gt_@aWeirdo_lt_/a_gt_\n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\tThe alternative solution you provided works perfectly for me (Internet Explorer &amp_sm_ Firefox). \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#18KHF6%2310_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#18KHF6#10_lt_/a_gt_\n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\tHowever_co_ a friend of mine using a MAC (Safari) discovered that the system crashes (well the 3D objects vanish from the scene) when he moves the mouse on to the canvas region.  Unfortunately I dont have a MAC so I cant debug this - does anyone else see this problem?\n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tI have the same problem. I can set camera position to see a scene from different _lt_span_gt_sides. But rotation..... looks exactly as in your example... Hopefully somebody will help us._lt_/span_gt_\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":"2017-01-17T19:20:42Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tSorry I did not read everything in detail (in a meeting right now) but if you want to rotate the camera around Z_co_ you can change camera.upVector (like here_dd_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#1A64GI%231_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#1A64GI#1)_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \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":"Visam","Date":"2017-01-20T19:12:11Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_159566_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484680842_qt_ data-ipsquote-userid_eq__qt_4442_qt_ data-ipsquote-username_eq__qt_Deltakosh_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tOn 17/01/2017 at 8_dd_20 PM_co_ Deltakosh said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\tSorry I did not read everything in detail (in a meeting right now) but if you want to rotate the camera around Z_co_ you can change camera.upVector (like here_dd_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#1A64GI%231_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#1A64GI#1)_lt_/a_gt_\n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tHi_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%237_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#7_lt_/a_gt__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tI have several questions regarding these 3 lines_dd__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\t    camera.setPosition(new BABYLON.Vector3(10_co_ 0_co_ 0))_sm__lt_br /_gt_\n\t    camera.setPosition(new BABYLON.Vector3(0_co_ 10_co_ 0))_sm__lt_br /_gt_\n\t    camera.setPosition(new BABYLON.Vector3(0_co_ 0_co_ 10))_sm__lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tIf I uncomment line 9 or 11_co_ I can see the scene. But if I uncomment line 10_co_ the scene is disappeared. Why?_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\tBut if the line 10 will work_co_ how can I set vertical rotation around axe X or Z?_lt_/p_gt_\n_lt_p_gt__lt_/p_gt_\n\n\n_lt_p_gt_\n\t \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":"Nabroski","Date":"2017-01-20T19:31:40Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%239_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#9_lt_/a_gt__lt_br /_gt__lt_a href_eq__qt_http_dd_//babylonjsguide.github.io/advanced/Euler_Angles.html_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//babylonjsguide.github.io/advanced/Euler_Angles.html_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\tfor fun _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%238_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#8_lt_/a_gt_\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":"Visam","Date":"2017-01-20T19:38:22Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_160088_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484940700_qt_ data-ipsquote-userid_eq__qt_21965_qt_ data-ipsquote-username_eq__qt_Nabroski_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\t13 minutes ago_co_ Nabroski said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%239_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#9_lt_/a_gt__lt_br /_gt__lt_a href_eq__qt_http_dd_//babylonjsguide.github.io/advanced/Euler_Angles.html_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//babylonjsguide.github.io/advanced/Euler_Angles.html_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\t\t\tfor fun _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%238_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#8_lt_/a_gt_\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tThank you!\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%239_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#9_lt_/a_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\thow can I set a vertical rotation around Z (blue) instead of Y (green) for the whole scene?\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":"aWeirdo","Date":"2017-01-20T19:49:14Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t_lt_p_gt_\n\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ ArcRotateCamera uses Alpha_co_ Beta &amp_sm_ radius_sm_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2310_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#10_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\t \n_lt_/p_gt_\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":"Visam","Date":"2017-01-20T19:57:56Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_160093_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484941754_qt_ data-ipsquote-userid_eq__qt_17943_qt_ data-ipsquote-username_eq__qt_aWeirdo_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\t8 minutes ago_co_ aWeirdo said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ ArcRotateCamera uses Alpha_co_ Beta &amp_sm_ radius_sm_ _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2310_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#10_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p style_eq__qt_line-height_dd_normal_sm__qt__gt_\n\t_lt_span style_eq__qt_font-size_dd_12pt_sm_font-family_dd__t_Times New Roman_t__co_ serif_sm__qt__gt_Yes_co_ of course. But you misunderstood the question. I will try to explain it little more._lt_/span_gt_\n_lt_/p_gt_\n\n_lt_p style_eq__qt_line-height_dd_normal_sm__qt__gt_\n\t_lt_span style_eq__qt_font-size_dd_12pt_sm_font-family_dd__t_Times New Roman_t__co_ serif_sm__qt__gt__lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2312_qt_ rel_eq__qt_external nofollow_qt__gt__lt_span style_eq__qt_color_dd_#0000FF_sm__qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#12_lt_/span_gt__lt_/a_gt__lt_/span_gt_\n_lt_/p_gt_\n\n_lt_p style_eq__qt_line-height_dd_normal_sm__qt__gt_\n\t_lt_span style_eq__qt_font-size_dd_12pt_sm_font-family_dd__t_Times New Roman_t__co_ serif_sm__qt__gt_1. If you moving the mouse horizontally_co_ you can see the scene rotation around axe Y (green)._lt_/span_gt_\n_lt_/p_gt_\n\n_lt_p style_eq__qt_line-height_dd_normal_sm__qt__gt_\n\t_lt_span style_eq__qt_font-size_dd_12pt_sm_font-family_dd__t_Times New Roman_t__co_ serif_sm__qt__gt_2. Comment line 9 and uncomment line 10. if you moving the mouse horizontally_co_ you can see the scene rotation around axe Y (green) again. But I would like to see the scene rotation around axe X (blue)._lt_/span_gt_\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t \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":"aWeirdo","Date":"2017-01-20T20:14:53Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ _lt_br /_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\tYes_co_ all you_t_re doing is changing the position &amp_sm_ angle of the camera_co_ it isn_t_t actually changing the axis it rotates around._lt_br /_gt__lt_br /_gt_\n\tWouldn_t_t it be easier to do something like this_sm_  _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2313_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#13_lt_/a_gt_\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":"Nabroski","Date":"2017-01-20T20:16:28Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2314_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#14_lt_/a_gt_\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":"Visam","Date":"2017-01-20T20:21:23Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_160097_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484943388_qt_ data-ipsquote-userid_eq__qt_21965_qt_ data-ipsquote-username_eq__qt_Nabroski_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\t3 minutes ago_co_ Nabroski said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2314_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#14_lt_/a_gt_\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tdoes not work well.... plane blinking...\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":"Visam","Date":"2017-01-20T20:23:32Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_160096_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484943293_qt_ data-ipsquote-userid_eq__qt_17943_qt_ data-ipsquote-username_eq__qt_aWeirdo_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\t7 minutes ago_co_ aWeirdo said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ _lt_br /_gt_\n\t\t\t \n\t\t_lt_/p_gt_\n\n\t\t_lt_p_gt_\n\t\t\tYes_co_ all you_t_re doing is changing the position &amp_sm_ angle of the camera_co_ it isn_t_t actually changing the axis it rotates around._lt_br /_gt__lt_br /_gt_\n\t\t\tWouldn_t_t it be easier to do something like this_sm_  _lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2313_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#13_lt_/a_gt_\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tyou are changing meshes coordinates. not good for engineers.\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":"Nabroski","Date":"2017-01-20T20:24:56Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2315_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#15_lt_/a_gt_\n_lt_/p_gt_\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":"Nabroski","Date":"2017-01-20T20:30:07Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_p_gt_\n\tOh_co_ yeah  value -_eq_value\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \n_lt_/p_gt_\n\n_lt_p_gt_\n\tits now slower\n_lt_/p_gt_\n\n_lt_p_gt_\n\t_lt_a href_eq__qt_http_dd_//www.babylonjs-playground.com/#2EE9UD%2316_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//www.babylonjs-playground.com/#2EE9UD#16_lt_/a_gt_\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":"Nabroski","Date":"2017-01-20T20:34:14Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t_lt_p_gt_\n\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ their is no easy way to came to a comfortable result you have to dive deep into the engine_lt_br /_gt__lt_a href_eq__qt_http_dd_//webglfundamentals.org/webgl/lessons/webgl-3d-camera.html_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//webglfundamentals.org/webgl/lessons/webgl-3d-camera.html_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\tgood luck _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ share a playground_co_ when you got something usefull_lt_br /_gt__lt_br /_gt_\n\t[im out of here]\n_lt_/p_gt_\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":"Visam","Date":"2017-01-22T21:20:42Z","Content":"_lt_div class_eq__qt_mages_qt__gt_\n\t\t\t\n_lt_blockquote class_eq__qt_ipsQuote_qt_ data-ipsquote_eq__qt__qt_ data-ipsquote-contentapp_eq__qt_forums_qt_ data-ipsquote-contentclass_eq__qt_forums_Topic_qt_ data-ipsquote-contentcommentid_eq__qt_160103_qt_ data-ipsquote-contentid_eq__qt_27691_qt_ data-ipsquote-contenttype_eq__qt_forums_qt_ data-ipsquote-timestamp_eq__qt_1484944454_qt_ data-ipsquote-userid_eq__qt_21965_qt_ data-ipsquote-username_eq__qt_Nabroski_qt__gt_\n\t_lt_div class_eq__qt_ipsQuote_citation_qt__gt_\n\t\tOn 20/01/2017 at 9_dd_34 PM_co_ Nabroski said_dd_\n\t_lt_/div_gt_\n\n\t_lt_div class_eq__qt_ipsQuote_contents_qt__gt_\n\t\t_lt_p_gt_\n\t\t\t_lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/?do_eq_hovercard_qt_ data-mentionid_eq__qt_24621_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/24621-itekvr/_qt_ rel_eq__qt__qt__gt_@iTekVR_lt_/a_gt_ their is no easy way to came to a comfortable result you have to dive deep into the engine_lt_br /_gt__lt_a href_eq__qt_http_dd_//webglfundamentals.org/webgl/lessons/webgl-3d-camera.html_qt_ rel_eq__qt_external nofollow_qt__gt_http_dd_//webglfundamentals.org/webgl/lessons/webgl-3d-camera.html_lt_/a_gt__lt_br /_gt__lt_br /_gt_\n\t\t\tgood luck _lt_img alt_eq__qt__dd_)_qt_ data-emoticon_eq__qt__qt_ height_eq__qt_20_qt_ src_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/default_smile.png_qt_ srcset_eq__qt_http_dd_//www.html5gamedevs.com/uploads/emoticons/smile@2x.png 2x_qt_ title_eq__qt__dd_)_qt_ width_eq__qt_20_qt_ /_gt_ share a playground_co_ when you got something usefull_lt_br /_gt__lt_br /_gt_\n\t\t\t[im out of here]\n\t\t_lt_/p_gt_\n\t_lt_/div_gt_\n_lt_/blockquote_gt_\n\n_lt_p_gt_\n\tmay be _lt_a contenteditable_eq__qt_false_qt_ data-ipshover_eq__qt__qt_ data-ipshover-target_eq__qt_http_dd_//www.html5gamedevs.com/profile/4442-deltakosh/?do_eq_hovercard_qt_ data-mentionid_eq__qt_4442_qt_ href_eq__qt_http_dd_//www.html5gamedevs.com/profile/4442-deltakosh/_qt_ rel_eq__qt__qt__gt_@Deltakosh_lt_/a_gt_ help us?\n_lt_/p_gt_\n\n_lt_p_gt_\n\t \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_"}]