ãã¤ã¯ãã½ããã®HoloLensãªãããã¿ã¦ããã¨ãããããã¯ãã¯ãVRã¨ãARã¿ãããªæè¡ãã©ãã©ã社ä¼ãè¯ãå¤ãã¦ããã®ã ããã¨ãã¯ã¯ã¯ã¯ããããã¾ãããã
â¦ã¨ã¯ããããããã£ãæè¡ã¯ãã¤ãã£ãã主æµã¨ããæãããã¾ãããªã¢ã«ã¿ã¤ã æ§ã®é«ãããã¼ãã¦ã§ã¢ã®æ§è½ãæ±ããããããã«ãWebã ã¨ã©ããã¦ãããããã®ã¯é£ããã¨èããããã¡ã§ããããç§ãããèãã¦ããæ代ãããã¾ããã
ã¨ããããããæ¥ã®ãã¨â¦
ãæç°ããªããããã¡ãããNRIã§ããã«ã½ã³ããããæ¥ã¦ãã¼ã
ãå·ç°ãã¯ï¼å«ããããªãã§ãããªãè¡ããªãããããã
ãæç°ããããªãè¨ããªãã¼ã
ãå·ç°ããããããã«ã½ã³è¦æããããä¸äººã§æ·¡ã ã¨ã³ã¼ãæ¸ãã¦ãæ¹ããåãéä¸ã§ãã¦æ¥½ããããªã
ãæç°ããã®ãã£ã¦ãã¼ãã¢ãã¤ã«Webã§VRããããï¼ã
ãå·ç°ãããã£ãããã¾ããè¡ãï¼ã
å¦çæ代ã®ç¥äººã®èªãã§ããªãã¨ãªãã¢ãã¤ã«Webã§VRãã«è¡ããã¨ã«ãªãã¾ãããGoogleãHTML5ã§VRã®ãµã³ãã«ãä½ã£ã¦ããããã§ããªãããªãã ããã¨ä½è£ãã¶ã£ãã¾ãã¦ããã®ã§ãããç¾å°ã«çããå¦ãããã®ä¼ç»ã®ã¤ããã«é ãæ±ãããã¨ã«ãªãã®ã§ãã
ãªã¢ã«ã¿ã¤ã ãªåç»ãã¤ãã£ã¦VR!?
NRIããã«ã½ã³ããã®ã¤ãã³ãããããã大ããã®ä¼æ¥ãªããã«ã¯ãããããåºç¤æ¬é¨ãã¿ãããªå ´æã主å¬ãã¦ã¾ãã¦ã2æ¥ãããã§ä½ãã¢ããä½ã£ã¦ããã®é¢ç½ãã§ç«¶ãåãã¨ãããã®ããï¼ããã£ã¦ã¢ã¤ãã¢ã½ã³ãããï¼ã¨ããæããããã®ã§ãããæè¡çã«é¢ç½ãããªã¬ã¸ã§ããé¡ãã´ãã´ã転ãã£ã¦ããã®ã§ãããã¯ãã£ã¨ããã«ã½ã³ãªãã ã¨æãã¾ãã
ã«ãã¦ããFirefoxOSã¨ãUnityããOculus Riftããããããã¾ãããã¾ã§éãããã®ã ãªãã¨ããããªã®ã社å¤ã«è»¢ãã£ã¦ããç§ã¿ãããªã¨ã³ã¸ãã¢ãªããã«ãå ¬éãã¦ãã¾ã£ã¦ãããã®ãªã®ãã¨ã
ä¼å ´å ã«ã¯50ã60åãã®ã¼ã¯ãªäººã ã°ãããã¨æãããããã¶ã¤ãã¼ãä¼ç»å±ã£ã½ã人ãªãããããããã¾ãããããã2æ¥ãããã§ä½ããçºæããããã§ãããã¾ã å§ã¾ã£ãã°ãããªã®ã«ãæ¢ã«å¤ãã®åå è ãå¾¹å¤ãè¦æãã¦ããã¨ããç¶æ³ã§ããç§ãã¡ãã£ã¨éã³ã«è¡ããããã®ã¤ããã§æ¥ãã®ã«ããã¤ã®éã«ããå¾¹å¤ãªç©ºæ°ã«ãªã£ã¦ãã¾ããã
ãæç°ãã§ãä½ããã¨æã£ã¦ããã®ãããã人ã®ç®ããå¥ã®äººã®ç®ã«è»¢éãããã¨ããè£ ç½®ãªããããã¼ãã
ãå·ç°ãããã¡ãã£ã¨ä½è¨ã£ã¦ããã®ãããããªããã§ããã©ãã
ãæç°ããã®ã¦ã§ã¢ã©ãã«ããã¤ã¹ããåç»ãæ®å½±ããæ åããé éå°ãããªã¢ã«ã¿ã¤ã ã§VRã§ããããã«ãããã¨æã£ã¦ã¦ãªã
ãå·ç°ãã¡ãã£ã¨ã¾ã£ã¦ãã»ã»ã»ããããµã¨ããå¹²ãæã«ä½¿ãã¯ãã¿ã«ããè¦ããã®ããã©ï¼ã
ãæç°ãããæãã§ããï¼ãã©ããã200åã§ä½ãããæ軽ãªã¦ã§ã¢ã©ãã«ããã¤ã¹ãããã¦ï¼ï¼100ååä¸ã§ã¦ã§ã¢ã©ãã«ãä½ããã¨ãããã¸ã§ã¢ãããªãï¼ï¼ã
ãå·ç°ãâ¦ããä½è¨ã£ã¨ãï¼ã
ãæç°ãããã§ãªã俺ã®ç¼ããè¦ãããããWebã§ã·ã§ã¢ããããï¼ï¼ä¸çãå¤ããã§ï¼ã
ãå·ç°ããã¹ã¼ãªããã®çºè¨ï¼ãåãã©ãè¦ã¦ãGooglerã«ããè¦ããããå¸å£ããµãããé ã«æãã§ãªããã°ãªãã
å人ãèãããVRã®ä»çµã¿ã¯ãããªæã
確ãã«ãããã200åã§ã§ãããé¢ç½ãããã
1. ãªã¢ã«ã¿ã¤ã åç»åçãWebã§æ±ã : WebRTC
å®ã¯æåã200åã®è£ ç½®ãªãã¦æ¡ã¯ç¡ãã¦ãæSé»æ°ã¡ã¼ã«ã¼ã®ã«ã¡ã©ã使ã£ã¦åç»ããªã¢ã«ã¿ã¤ã ã«ustreamã¸éä¿¡ããæ¡ãåºã¦ãã¾ãããããããããã試ãã¦ã¿ãã¨ãããã¾ã£ãããã£ã¦ãã¡ãã¡ãããããã¡ã ãããªãã¨ãªãã¨ãæãã¤ã¤ããä¸ãä¸ã«ãå¥è·¡ãèµ·ãããããããªãã¨æå¾ ãã¦ããã®ã§ããã
ãæç°ãããã¯ãã¡ãããªã¢ã«ã¿ã¤ã ã£ã¦æãã®è¨å ´æãç¡ãããã£ã¨ä»ã®æ¹æ³ãæ¢ããªããããã
ãã¯ãçµãããããããªç©ºæ°ãæ¼ãä¸ãæãããããã¨è¨ã£ã¦ãã¾ã£ãããã§ãã
ãå·ç°ãã»ã»ã»ãããWebRTC使ãã¨ãããã§ãã
ãæç°ããããï¼ï¼ï¼ï¼ã
ãããã¦ãå¸å£ããµãã¨ã®ã³ã©ãã¬ã¼ã·ã§ã³ã決å®ãããå価ããã200åã®VRè£ ç½®ãä½ãã¨ããä¼ç»ã¸ã¨å¤ãã£ã¦ãã£ãã®ã§ãã
ãããä»®ã«WebRTCã§ãã£ãã¨ãã¦ããã¢ãã¤ã«ã§ãããªãã¦ãããªã®ã»ã¼ã»ã¼ç¡çã ããã¨æã£ãããã§ãããã©ããããããããä½ãå¥è·¡ãèµ·ãããããããªãããæ°ããã¢ã¤ãã¢ãçã¿åºããããããããªãã試ãã¦ã¿ã価å¤ã¯ããã¯ããä¸ãå «ããæåãããããããªãããããªããªã§WebRTCã«æãã§ã¿ãããã§ããã
ã§ãWebRTCã使ãã«ã¯ãéä¿¡ãããã¤ã³ãéã§é»è©±çªå·æ å ±ã«ç¸å½ãããã®ã管çãéç¨ããªãã¦ã¯ããã¾ããããããç¡æã§å®ç¾ããæ¹æ³ã¨ãã¦ãNTTã³ã ã®SkyWayãæãããã¾ãããã¼ã ä¸åãèã«ããããæãã§ãã®ãµã¼ãã¹ã«ç»é²ããã®ã§ãããç»é²æ©ã ããµã¼ãã¹ã®ãã¥ã¼ã¹ã®æ¬ã«æ¸ãããä¸æã«æ°ãã¤ãã¦ãã¾ãã¾ããã
å«ãªäºæãâ¦ï¼ï¼
Can I useã調ã¹ãã¨ãWebRTCã®ã¢ãã¤ã«å¯¾å¿ã¯Androidãªã大ä¸å¤«ã¨ããæãã«è¦ãã¾ããé»è©±ãªãã ããRTC対å¿ã¯ã¯ããï¼ãªãã¦ãã¨ã¯ãã¯ãç¡ãããã§ããiOSã¯ä¸æãããããã£ã¨å¯¾å¿ããªãããããªãã ãããã
ããã¦ãå®éã«AndroidçChromeã§å ¬éããã¦ãããµã³ãã«ãåãããã¨è©¦ã¿ãããæ¡ã®å®ãåããªããAndroidã¯ã¾ã ã¾ã è½ã¡çãã®ãªãOSã ããããã¯ããä»æ¹ããªãã®ã§ããããã
Mozilla Japanããã®ããã«ã½ã³ã«ãã¼ãæä¾ãã¦ããããã§ã大éã®FirefoxOS端æ«ããããã£ã¦ãã¾ããããããMozillaãããªããªããã£ã¨RTCãã£ã¦ãããã¯ãï¼ããã¥ãã§ã¹ããã¡ã¤ã«ãã©ãã®ããã®è¨ããã¦ãããã¾ãWebã£ã½ããªãä½æ¥ãå¤ããã¨ã«ãããï¼ãã¨æãã¤ã¤ãã»ããã£ã³ã°ã
æ¨æºãã©ã¦ã¶ã§ã¯ãã¯ãåãããããã¯ç¡çãªã®ãâ¦ã
ãããªä¸ããã¾ãã¾æ¤è¨¼ããã¨ãããã©ã¦ã¶ããããæ´»èºãã¿ãããã¨ã«ãªãã¾ããã
ããã§ããMozillaå´ãããè¦æ¨ã¦ãããã¡ãªãã®ãã©ã¦ã¶ãAndroidçFirefoxããæ°¸é ã®ãã¼ã¿ã¨åããããã®ãã©ã¦ã¶ããããã«ãã¦ãã¢ãã¤ã«ÃWebRTCãã¨ãããå¸å ´ã§å¯ä¸ãæã«ããã®ã§ããä¸æãããMozillaå´ãããåä»è ããã¦ããããããªããã¨æããã»ã©æ±ããéãªãã©ã¦ã¶ãªã®ã«ãWebRTCã¯è¶ å®å®ãã¦åããã¨ãããã¨ãããã¨ã§ããã©ãããã©ã¼ã ã¯Android+Firefoxã¨ããã誰ããè³ãçãçµã¿åããããã¢ç°å¢ã«é¸ã³ã¾ããã
ä»åãåç»ã¯ä¸æ¹éè¡ã§ãããé³å£°ã¯åæ¹åã§ãªã¢ã«ã¿ã¤ã éä¿¡ããã¨ããè¥å¹²å¤ãã£ãä»æ§ã§ãããµã³ãã«ã«ãã£ãã³ã¼ããè²ã æ¹é ãã¾ããCallee IDãå¥ã®ç»é¢ããå ¥ã£ã¦ããã¿ã¤ãã³ã°ã§URLä¸ã«è²¼ãä»ãã¦ãã¾ãå½¢å¼(location.hashã§æ¾ã)ã«ãã¦ãæ¨å¹´12æã«æåç»ãµã¤ããå ¬éããã¢ãã¤ã«åãåç»ãµã¼ãã¹ã¿ãããªæãã®ä»æ§ã«ãã¦ã¿ã¾ããã
VRã¨èãã¨ãå³ç®ã¨å·¦ç®ã§è¥å¹²ç°ãªãåç»ãåçãããã¨ã§ã3Dã®è¨å ´æãå¾ããããã®ä»çµã¿ãæ³åãããã¨æãã¾ããHTMLã®å ´åããããã¯è¦ç´ ãå·¦å³ååã«å²ãå½ã¦ã¦ãCSSã§ãoverflow:hiddenãããã°ã§ããããã§ããDirectXãªããã使ã£ã¦ããã¨ãViewãã¼ãã®ç®¡çãªãããããªãã¡ããããªãã£ããã§ã¨ã¦ãã¨ã¦ãé¢åãªã®ã§ããããããç°¡åã«ã§ãã¦ãã¾ãã®ãWebã®ããã¨ããã
â¼ãã¦ã¹ããã¬ã¼ã å
ã§åããã¦ã¿ã¦ãã ãã
ãã ãçµæ§ãªè©¦è¡é¯èª¤ãç¹°ãè¿ãã¾ãããããåç»ã®åçãã¨ãªãã¨ãããã©ã¼ãã³ã¹ã®é¢ä¿ä¸ç¡çã§ãããWebRTCã¯videoã¿ã°ãéãã¦åç»åçãããããã§ãããä»ã®ãã¼ãã ã¨2æ¬åæã«åçã¨ããã®ã¯ã¾ã ã¾ã ãªã½ã¼ã¹ä¸è¶³ã¿ããã§ãã6ã8å¹´åãYoutubeããã³åãè¦ã¦ããæ代ãã®é ãããã«ã¯ãã¼ãã®æ§è½ã¯è¿½ãã¤ãã¦ããã¨æãè¾¼ãã§ããã®ã§ãããã¾ã ããã«ãè³ã£ã¦ããªãæããªãã§ããã
2. ã¢ã¼ã·ã§ã³ããã¤ã¹ã®å ¥åãWebã§æ±ã : Motion Device API
ãã¦ãå ã»ã©ã®ãµã¨ãããµãã¿ãããªã¦ã§ã¢ã©ãã«ããã¤ã¹ããWebRTCãéãã¦éããã¦ããåç»ãåä¿¡ã¯ã§ããã®ã§ããããã©ã®ããã«ãã¦VRã£ã½ããã¦ããã®ãï¼
ããã³ã¹ã³ãã¨ããè£ ç½®ãéãã¦ã¿ããã¨ã«ãã¾ããã
å ç¨ãè¨ãã¾ããããWebRTCã¯åç»1ã¤ã®éä¿¡ãéçãªã®ã§ã1ã¤ã®åç»ã ãã§ãªãã¨ã3D空éãè¦æ¸¡ããããªä½é¨ãä¸ããªãã¦ã¯ããã¾ããããããå©ããã®ããã®ããã³ã¹ã³ãã¨ãããã¼ã«ã§ããå ã»ã©ã®WebRTCã§éããã¦ããåç»ããã©ã¦ã¶ä¸ã«æ ããç¶æ ã§ããã³ã¹ã³ã«ã»ãããã¦ä½¿ãã¾ããWebRTCã§éããããåç»ã3Dã£ã½ãè¦ãã¾ãã
ã¾ããéããã¦ããåç»ã®ä¸ããè¦æ¸¡ããããªãã¨ãããããä¾ãã°ããã³ã¹ã³ãè¦ãã¦ãã人ãå³ãåãã°å³ã®æ¯è²ããå·¦ãåãã°å·¦ã®æ¯è²ãè¦ããããã«ãããã¨ãããããã§ã©ãããã®ãã¨ããã¨ãåç»ãåçããvideoã¿ã°ã3ã4åã«æ¡å¤§ããã¢ã¼ã·ã§ã³ã»ã³ãµã¼ã®åãã«åããã¦videoã¿ã°ã®ä½ç½®ãå¤ããããã«ãããã¨ã§ãWebRTCã§éããã¦ããåç»ã®ä¸ãè¦æ¸¡ããããªä½é¨ãå¾ãããããã«ãã¦ã¿ã¾ããã
ãã®éãã©ã£ã¡ãåãã¦ããã®ãã¨ããæ å ±ã¯devicemotionã使ãã¾ãããå·¦å³ãä¸ä¸ãéåã®æ¤åºã«ãã天å°å®å®åã¨ã3次å 軸ã§videoã¿ã°ãã°ãªã°ãªã¨åããã®ã§ãããæã£ãããããã©ã¼ãã³ã¹ãé«ãã¦é©ãã§ããã©ããªã¢ã«ã´ãªãºã ã使ã£ãã®ãå ·ä½çã«è¨ãã¨â¦
window.addEventListener("devicemotion",function(event) { // 横æ¹åã®ç§»å x += event.rotationRate.alpha/15; // åä½(%) // 縦æ¹åã®ç§»å y -= event.rotationRate.beta/8; // åä½(%) // é¦ãå¾ãã rotate = event.accelerationIncludingGravity.y*9.0; // åä½(deg) ⦠},false);
ãã ãã¢ã¼ã·ã§ã³ç³»ã¯çãã¼ã¿ããã®ã¾ã¾ä½¿ãã¨æãã¬ã¿ãããªã®ãããããããå®éã«CSSã«å¤ãè¨å®ããã¨ãã¯ãã¡ãã£ã¨ããç©åã®å¤ãã¯ãã·ã§ã³ä»£ããã«ä½¿ã£ã¦ããã¾ããæ¯ãã¬ã¼ã ãã¨ã«ã以ä¸ã®ã³ã¼ããå®è¡ãããã¨ã§ã¬ãã¬ãã¨åãã¦ããã¾ãããã®å¼ã3Dã²ã¼ã ãªããã§ãè¦ç¹ç§»åããµãã£ã¨ãããæãªããã«ã使ããã¦ãã¾ãã
setInterval(function(){ marginLeft = ((x-marginLeft)/5.0)+x; // videoã¿ã°ã®margin-left marginTop = ((y-marginTop)/5.0)+y; // videoã¿ã°ã®margin-top transformRotate = ((rotate-transformRotate)/5.0)+transformRotate; // transform : rotate() ⦠},1000/60);
ãã®æã®å¤è£æ£ã¯çµã¿è¾¼ã¿ãªããã«å¤ãã¦ãä¾ãã°åºå®å°æ°ç¹ç°å¢ä¸ãªããã ã¨å¤ã®è£æ£ã«ã·ããæ¼ç®åã使ããã¨ãæèãã¦æ¡ã®ãã¶ã¤ã³ãããã®ã§ãããä»åã¯ãããããJavaScriptããã¾ãè¨ç®æ©ã®ãã¨ã¯èããªãã§ç´ ç´ã«ä½ã£ã¦ã¿ã¾ããã
ä¸è¨ã®ä¾ãsetIntervalã使ã£ã¦ã¿ã¾ããããããã«ã¤ãã¦ã¯ä½¿ãæ¹æ¬¡ç¬¬ãã¨ãanimationFrameã¯1000/60ç§ã§å¿çããããä»å使ã£ã¦ããdevicemotionã¯1000/15ç§ã§å¿çãããã®ãå¤ãã¿ããã§ãããã ãã©ã¡ããWebã®ä»æ§ã¨ããããã§ã¯ãªããããã¤ã¹ã«å¼·ãä¾åããã®ã§ãç¨éãèãã¦ä½¿ãã¹ãã ã¨èãã¦ãã¾ãã
ãã®ããããè¥å¹²ãçµã¿è¾¼ã¿ç³»ãç©çã®è©±ãå¤ããªã®ã§ã詳ããã¯ã¾ãä»åº¦ã«ã§ãã
3. VR表ç¾ãå®è£ ãã : CSS Transform
a. html/bodyã«overflow:hiddenãé©ç¨ããæ¹æ³
ã¢ãã¤ã«ãã©ã¦ã¶ä¸ã§ãæ¬ä¼¼çã«ãã«ã¹ã¯ãªã¼ã³ã®ãããªãã¨ãããä¸ã§æåã«ã¶ã¤ããã®ã¯ãå¤ãã®å ´åãã¹ã¯ãã¼ã«ããã¨æãã¾ããã¢ãã¤ã«ã®CSSã¯çµæ§çãå¼·ãã®ã§ãããæå³Webæ¨æºã«ã¯ãªãè£ã¯ã¶çæ段ãæ±ãããã¾ããã¢ãã¤ã«ãã©ã¦ã¶ã§ã¯ãCSSã§html/bodyã«å¯¾ããoverflow:hiddenãæå¹ã«ãªããªããããããã§ããã£ããã¨ããã人ã¯å¤ãã®ã§ã¯ãªãã§ããããã
解決æ¹æ³ã¨ãã¦ã¯ãbodyã¿ã°ç´ä¸ã«divã§ããªãã§ãè¯ãã®ã§ãããã¯è¦ç´ ãé ç½®ãã以ä¸ã®ãããªCSSãã»ããããã®é ä¸ã«è¦ç´ ãé ç½®ããã¨ãã¹ã¯ãã¼ã«ãã¼ã¯åºæ¬çã«ã¯åºã¦ããªããªãã¾ãã
.fullscreenView { position : fixed; width : 100%; height :100%; left : 0%; top : 0%; overflow:hidden; }
ä½è«ã§ãããã¢ãã¤ã«ãã©ã¦ã¶ã§ããã¹ã¯ãããã¿ãããªãbackground-attachment:fixedãã¿ãããªèæ¯é ç½®ãå®ç¾ãããã¨ããè¦æãããã®æãå¿ç¨ãã¦è§£æ±ºãããã¨ãã§ãã¾ãã
b. Transformã«ããåç»ãVRã£ã½ããã
ã¢ã¼ã·ã§ã³ã»ã³ãµã¼ããã®ãã£ã¼ãããã¯ã¯ãvideoã¿ã°ã®CSSãæä½ãããã¨ã§VRã£ã½ãæãã«å å·¥ãããã¨ã«ãã¾ãããæ¬æ¥ãªãCanvasãªããã«åç»ã®å 容ãæã¡åºãã¦å å·¥ã¿ãããªãã¨ãããã¹ããªã®ã§ãããããä»å2æ¥ã§ãããªãã¦ã¯ãããªãããããããããã¾ããããããªãã¨ãMicrosoft Direct2Dã¿ãããª2Dãè¶ ç°¡åã«æ±ããæ段ã欲ãããªãã¯ãã§ãã
ããã§ä»å使ã£ãã®ããCSSã®transformãä¾ãã°ãã¹ãã©ã¤ãã«å¯¾ããæä½ãC++(DirectX9.0c)ãªããã§æ¸ãã¦ããã¨ãããªãã¾ããâ¦
sprite.begin() sprite.tranformRotateZ(Angle) sprite.Draw() sprite.End()
ãã®ãtranformRotateZã«ç¸å½ãããã®ããCSSã®transformã ã¨â¦
transform : rotateZ(Angle);
ã¨æ¸ãã¾ããåãã·ã³ãã«ã ãããªãã¨ãªãGPUã«ãåªããæãããã¾ããã
ãã¦ããããå ã»ã©ã®ã¢ã¼ã·ã§ã³ããã¤ã¹ã®å ¥åããJavaScriptãä»ãã¦transformã«è¨å®ãããªãã以ä¸ã®ãããªæãã«ãªãã¾ãã
video.style.marginLeft = marginLeft; video.style.marginTop = marginTop; video.style.transform = "rotate("+transformRotate+"deg)"; video.style.WebkitTransform = "rotate("+transformRotate+"deg)";
transformã¯GPUãæ±ãããã°ã©ãã¼ã«ã¯ä¼¼ããããªä»æ§ã®APIã«è§¦ãããã¨ãå¤ã馴æã¿æ·±ãã¨æãã¾ããããã©ããããè¥å¹²ã¬ã¤ã¤ã¼ãé«ãããããæ±ããããã§ããä»åã®rotateãªãããã¿ã¦ãã¦ãã360度ãä¸å¨ã¨ããdeg(ä¸å¦é«æ ¡ã®æ°å¦ã§æ±ãè§åº¦ã®åä½)ãæ±ãããã®ã§ããããDirectXã¿ããã«ããããPIã¨ã2ã¨ãã®æ°åã使ã£ã¦å¤æãããããªå¿ è¦ããªããã¨ã¦ãã¨ã¦ãç´æçã§ããDOMã ã¨ãåè¦ç´ ãã¾ã¨ãã¦ã¹ãã©ã¤ãã¿ããã«æ±ããã®ã§ãããã10å¹´åã®ããã°ã©ãã¼ããã¿ãããã¾ãã§éæ³ã®ããã«è¦ãã¦ããã®ã§ã¯ãªãã§ããããã
ãã ããã®æ©è½ã¯ã¾ã ã¾ã åé¡ãããæ©ã¿ãå¤ããã§ããä¾ãã°ãtransformãã¢ãã¡ã¼ã·ã§ã³ãããããã«transition-durationãæ´»ç¨ãããã¨ãå¤ãã®ã§ãããFirefoxã®å ´åãã®æ©è½ã使ãã¨ãä»ã®ã¢ãã¡ã¼ã·ã§ã³ã¨ã®ç«¶åæã«ããã©ã¼ãã³ã¹ãæãããã»ã©ã«å£åãã¾ããIEãç¾æç¹ã§ã®ææ°çã ã¨ãã°ããã£ã¦ãä»åã®ããã«ãposition:fixedããæå®ããããããã¯è¦ç´ å ã§ã®transformã¯ã¾ã¨ãã«åãã¾ãããå®ã¯å¶ç¶ã«ã1é±éåãç§ã¯ãã®ãã°ã«æ°ãã¤ãã¦MS Connectã«å ±åãã¦ãããã§ãã
ãããªæãã§ãWebRTCã ãã«éãããVRã«å¿ è¦ãªCSSæ©è½ãã¾ã ä¸å®å®ã¨ããç¶æ³ã§ãã¦ãWebã®VRã¯ã¾ã ã¾ã ããããã ï¼ã¨ãã£ãææ³ãæãã次第ã§ãããã¾ãã
å®æãããã¦çµæã¯ï¼
ãµã¤ããã¶ã¤ã³ã§ããã£ããã¨ä¸ç観ãä¼ããæãã«ãããã¦å®æã¸ã
ããããã®æ¹ã«ãéãã§é ãã¾ããã
çµæã¨ãã¦ãåªåãããã¨ã¯ã§ãã¾ããã§ãããããã¯ãã«ã«è³ãMonoè³ãYahooè³ãªã©ãè²ããªè³ã«é¸ã°ãã¦ãæã潤ãã¾ããã
ç¹ã«å¬ããã£ãã®ãYahoo!è³ã§ããYahoo!ããè³ãé ãããªãã¦ããªãã¦å æ ãªãã¨ã ããããhttp://yahoo.co.jpãã®Webããã©ã¼ãã³ã¹ã¯ããæãã§ãã¦ãå人çã«ãææ代ããã¨ãã¦ä½¿ããã¦ããã£ã¦ããã ãã«ãæãå¤ãããã¨ãã£ã次第ã§ããä½è«ã§ãããå°ãåã«Yahooãå ¬éãã¦ãããéªç¥æ·¡è·¯å¤§éç½è¨å¿µã®Webãã¼ã¸ããããFlashã«è¦ãã¦ãå®ã¯CSS Transformã使ããã¦ããã®ã§ããã
http://hanshinawaji.yahoo.co.jp/
ä»åããã¼ã ã®ã¡ã³ãã¯ç§ä»¥å¤NRI社å¡ããããªãã£ãã®ã§ãããé£ã«å¤§å¦æ代ã«ç©çå¦ããã£ã¦ãã¦ç©çæ°å¦ã®è¨èãããã£ã¦ãã人ãããããããã§ä¸è¶³ããç©çã®ã¢ã«ã´ãªãºã ãçµæ§ãã£ããã¨ä½ã£ã¦ããããã¾ãã¾ãããã£ã¤ãã¨ãã¼ããä½ãã人ããããã§ãé©ãã»ã©äººã«æµã¾ãã¾ãããã¨ã³ã¸ãã¢ã¨ä¸ç·ã«ã¢ãä½ã£ã¦ãããªãã¨ããæãããã¦ãè¶ ãããã¼ãªæ°åã«ãªãã¾ãããå¤åã¿ããªãä»äºã§ã¯å ¨ãéããã¨ããã£ã¦ããã®ã ãããã©ãããã«ãã¦ãããã¾ã§ãã£ããã¨ããåºç¤ãããã¨ããã®ãé©ãã§ãããã ãè¥å¹²ã¨ã³ã¸ãã¢ãå¤ããã¦ããã¼ã±ã¿ã¼ãå¶æ¥çãªè¦ç¹ãä¸è¶³ãã¦ããã®ãä»åã®æå ããªãã¨ãæã£ã¦ãã¾ãã
ã¨ããããã§ãã¿ãªããããç²ãæ§ã§ããï¼å¸å£ããµãã«ä¸çãå¤ããã®ã¯ã¾ã ã¾ã é£ãããã ãããã©ãæ°å¹´ããããæè¡ãã¾ã追ãã¤ãã ããããæ°ãåããããã®ãã¡ã¾ããä»åã®ããã«WebRTCã¨motiondeviceã¨CSS Transformã ãã§ãVRãã£ã¦ã¿ãããã¨æãã¾ãã