{"id":990,"date":"2012-06-18T19:01:35","date_gmt":"2012-06-18T10:01:35","guid":{"rendered":"http:\/\/www.digifie.jp\/blog\/?p=990"},"modified":"2012-06-18T21:26:20","modified_gmt":"2012-06-18T12:26:20","slug":"away3d-4-0-beta-%e3%81%a7%e3%82%ad%e3%83%a9%e3%82%ad%e3%83%a9%e3%82%a8%e3%83%95%e3%82%a7%e3%82%af%e3%83%88","status":"publish","type":"post","link":"https:\/\/www.digifie.jp\/blog\/archives\/990","title":{"rendered":"Away3D 4.0 Beta \u3067\u30ad\u30e9\u30ad\u30e9\u30a8\u30d5\u30a7\u30af\u30c8"},"content":{"rendered":"<div class='wp_social_bookmarking_light'>        <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=https%3A%2F%2Fwww.digifie.jp%2Fblog%2Farchives%2F990&t=Away3D%204.0%20Beta%20%E3%81%A7%E3%82%AD%E3%83%A9%E3%82%AD%E3%83%A9%E3%82%A8%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/www.digifie.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/www.digifie.jp\/blog\/archives\/990\" data-text=\"Away3D 4.0 Beta \u3067\u30ad\u30e9\u30ad\u30e9\u30a8\u30d5\u30a7\u30af\u30c8\" data-via=\"LLC DigiFie\" data-lang=\"ja\">Tweet<\/a><\/div><\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n<p>\u4eca\u65e5\u3082\u5b9a\u6642\u3092\u904e\u304e\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u3060\u3051 Away3D 4.0 Beta \u306e\u52c9\u5f37\u3092\u3002<\/p>\n<p>\u4ee5\u524d wonderfl \u306b PV3D \u3092\u4f7f\u3063\u305f <a href=\"http:\/\/wonderfl.net\/c\/9rZ9\" target=\"_blank\">\u3053\u3046\u3044\u3046\u306e<\/a> \u3092\u30dd\u30b9\u30c8\u3057\u305f\u3053\u3068\u304c\u3042\u3063\u3066\u3001\u3053\u308c\u306b\u306a\u3093\u304b\u3044\u3044\u611f\u3058\u306e\u30a8\u30d5\u30a7\u30af\u30c8\u3092\u4ed8\u3051\u3066\u307f\u305f\u304b\u3063\u305f\u3093\u3067\u3059\u304c\u6fc0\u91cd\u3067\u2026<br \/>\n\u52d5\u304b\u3059\u3060\u3051\u3067\u4e00\u676f\u4e00\u676f\u3060\u3063\u305f\u306e\u3067\u3042\u3063\u3055\u308a\u65ad\u5ff5\u3057\u307e\u3057\u305f\u3002<\/p>\n<p>\u305d\u3057\u3066\u6708\u65e5\u306f\u6d41\u308c\u3001Stage3D \u3092\u624b\u8efd\u306b\u4f7f\u3048\u308b\u4fbf\u5229\u306a\u4e16\u306e\u4e2d\u306b\u306a\u3063\u3066\u304d\u305f\u306e\u3067\u3001\u4eca\u56de\u306f Away3D 4.0 \u3092\u4f7f\u3063\u3066\u518d\u6311\u6226\u3057\u3066\u307f\u307e\u3057\u305f\u3002<br \/>\n\u3067\u3001\u306a\u3093\u3068\u306a\u304f\u3067\u304d\u305f\u306e\u304c\u3053\u308c\u3002<\/p>\n<div id=\"attachment_991\" style=\"width: 600px\" class=\"wp-caption aligncenter\"><a href=\"http:\/\/www.digifie.jp\/labo\/away3d_gitter_demo\/\" target=\"_blank\"><img aria-describedby=\"caption-attachment-991\" decoding=\"async\" loading=\"lazy\" src=\"http:\/\/www.digifie.jp\/blog\/wp-content\/uploads\/2012\/06\/away3d_gitter_demo.jpg\" alt=\"Away3D_Gitter_Demo\" title=\"Away3D_Gitter_Demo\" width=\"590\" height=\"363\" class=\"size-full wp-image-991\" srcset=\"https:\/\/www.digifie.jp\/blog\/wp-content\/uploads\/2012\/06\/away3d_gitter_demo.jpg 590w, https:\/\/www.digifie.jp\/blog\/wp-content\/uploads\/2012\/06\/away3d_gitter_demo-300x184.jpg 300w\" sizes=\"(max-width: 590px) 100vw, 590px\" \/><\/a><p id=\"caption-attachment-991\" class=\"wp-caption-text\">Away3D 4.0 Beta BloomFilter3D Demo<\/p><\/div>\n<p>\u203b \u753b\u50cf\u3092\u30af\u30ea\u30c3\u30af\u3059\u308b\u3068\u30c7\u30e2\u304c\u958b\u304d\u307e\u3059\u3002<\/p>\n<p>\u4eca\u56de\u306e\u30b3\u30fc\u30c9\u306f\u3053\u3093\u306a\u611f\u3058\u3002<br \/>\naway3d.filters.BloomFilter3D \u3067\u30ad\u30e9\u30ad\u30e9\u52b9\u679c\u3092\u4ed8\u3051\u3066\u3044\u307e\u3059\u3002<\/p>\n<pre class=\"brush: as3; title: ; notranslate\" title=\"\">package\r\n{\r\n\timport away3d.cameras.Camera3D;\r\n\timport away3d.cameras.lenses.PerspectiveLens;\r\n\timport away3d.containers.Scene3D;\r\n\timport away3d.containers.View3D;\r\n\timport away3d.debug.AwayStats;\r\n\timport away3d.filters.BloomFilter3D;\r\n\timport away3d.primitives.WireframeCube;\r\n\r\n\timport flash.display.Sprite;\r\n\timport flash.events.Event;\r\n\timport flash.geom.Vector3D;\r\n\timport flash.utils.getTimer;\r\n\r\n\t[SWF( backgroundColor = &quot;0&quot;, frameRate = &quot;60&quot;, width = &quot;800&quot;, height = &quot;600&quot; )]\r\n\r\n\tpublic class Main extends Sprite\r\n\t{\r\n\r\n\t\tprivate var _view:View3D;\r\n\t\tprivate var _scene:Scene3D;\r\n\t\tprivate var _camera:Camera3D;\r\n\r\n\t\tpublic function Main()\r\n\t\t{\r\n\t\t\tsetup();\r\n\t\t}\r\n\r\n\t\tprivate function setup():void\r\n\t\t{\r\n\t\t\t_view = addChild( new View3D()) as View3D;\r\n\t\t\t_view.antiAlias = 4;\r\n\t\t\t_view.backgroundColor = 0;\r\n\r\n\t\t\tvar lens:PerspectiveLens = new PerspectiveLens( 70 );\r\n\t\t\t_view.camera.lens = lens;\r\n\r\n\t\t\t_scene = _view.scene;\r\n\t\t\t_camera = _view.camera;\r\n\r\n\t\t\tvar bloom:BloomFilter3D = new BloomFilter3D( 8, 8, .3, .5, .01 );\r\n\t\t\t_view.filters3d = [ bloom ];\r\n\r\n\t\t\tsetObj();\r\n\t\t\taddEventListener( Event.ENTER_FRAME, update );\r\n\r\n\t\t\tvar awayStats:AwayStats = new AwayStats( _view );\r\n\t\t\taddChild( awayStats );\r\n\t\t}\r\n\r\n\t\tprivate var _numLoops:int = 20;\r\n\t\tprivate var _pitchOfCube:int = 500;\r\n\r\n\t\tprivate function setObj():void\r\n\t\t{\r\n\t\t\tvar n:int = 0\r\n\t\t\tvar i:int = 0\r\n\t\t\twhile ( n &lt; _numLoops )\r\n\t\t\t{\r\n\t\t\t\tvar h:Number = ( 360 \/ _numLoops ) * n\r\n\t\t\t\ti = 0\r\n\t\t\t\twhile ( i &lt; _numLoops )\r\n\t\t\t\t{\r\n\t\t\t\t\tvar s:Number = Math.random() * 1\r\n\t\t\t\t\tvar v:Number = i * .05;\r\n\t\t\t\t\tif ( i % 2 != 0 )\r\n\t\t\t\t\t\tv += .05;\r\n\t\t\t\t\tvar rgb:int = ColorUtil.hsvToRgb( h, s, v )\r\n\t\t\t\t\t\/\/\r\n\t\t\t\t\tvar cube:WireframeCube = new WireframeCube( 70, 70, 70, rgb, 2 );\r\n\t\t\t\t\tcube.y = v * ( _pitchOfCube * 1.6 ) - _pitchOfCube;\r\n\t\t\t\t\tcube.x = Math.cos( h * i * Math.PI \/ 180 ) * s * _pitchOfCube;\r\n\t\t\t\t\tcube.z = Math.sin( h * i * Math.PI \/ 180 ) * s * _pitchOfCube;\r\n\t\t\t\t\t_scene.addChild( cube )\r\n\t\t\t\t\t\/\/\r\n\t\t\t\t\ti++\r\n\t\t\t\t}\r\n\t\t\t\tn++\r\n\t\t\t}\r\n\t\t}\r\n\r\n\r\n\t\tprivate function update( e:Event ):void\r\n\t\t{\r\n\t\t\t_camera.x = 500 * Math.sin( getTimer() \/ 4000 );\r\n\t\t\t_camera.z = 100 * Math.cos( getTimer() \/ 2000 );\r\n\t\t\t_camera.y = 500 * Math.sin( getTimer() \/ 5000 );\r\n\t\t\t_camera.lookAt( new Vector3D());\r\n\t\t\t_view.render();\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n<p>HSV \u3068 RGB \u3092\u76f8\u4e92\u5909\u63db\u3059\u308b ColorUtil \u30af\u30e9\u30b9\u3002<\/p>\n<pre class=\"brush: as3; title: ; notranslate\" title=\"\">package\r\n{\r\n\tpublic class ColorUtil\r\n\t{\r\n\t\t\/\/ HSV &gt; RGB\r\n\t\tpublic static function hsvToRgb( h:Number, s:Number, v:Number ):Number\r\n\t\t{\r\n\t\t\tvar cv:Number = Math.round( v * 255 );\r\n\t\t\tvar r:Number = cv;\r\n\t\t\tvar g:Number = cv;\r\n\t\t\tvar b:Number = cv;\r\n\t\t\tif ( s &gt; 0 )\r\n\t\t\t{\r\n\t\t\t\tvar i:Number = Math.floor( h \/ 60 );\r\n\t\t\t\tvar f:Number = h \/ 60 - i;\r\n\t\t\t\tvar m:Number = Math.round( v * ( 1 - s ) * 255 );\r\n\t\t\t\tvar n:Number = Math.round( v * ( 1 - s * f ) * 255 );\r\n\t\t\t\tvar k:Number = Math.round( v * ( 1 - s * ( 1 - f )) * 255 );\r\n\t\t\t\tswitch ( i )\r\n\t\t\t\t{\r\n\t\t\t\t\tcase 0:\r\n\t\t\t\t\t\tg = k;\r\n\t\t\t\t\t\tb = m;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 1:\r\n\t\t\t\t\t\tr = n;\r\n\t\t\t\t\t\tb = m;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 2:\r\n\t\t\t\t\t\tr = m;\r\n\t\t\t\t\t\tb = k;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 3:\r\n\t\t\t\t\t\tr = m;\r\n\t\t\t\t\t\tg = n;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 4:\r\n\t\t\t\t\t\tr = k;\r\n\t\t\t\t\t\tg = m;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 5:\r\n\t\t\t\t\t\tg = m;\r\n\t\t\t\t\t\tb = n;\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn r &lt;&lt; 16 | g &lt;&lt; 8 | b;\r\n\t\t}\r\n\t\t\r\n\t\t\/\/ RGB &gt; HSV\r\n\t\tpublic static function colorToHsv( color:Number ):Object\r\n\t\t{\r\n\t\t\tvar r:Number = color &gt;&gt; 16;\r\n\t\t\tvar g:Number = ( color &gt;&gt; 8 ) &amp; 0xFF;\r\n\t\t\tvar b:Number = color &amp; 0xFF;\r\n\t\t\tvar max:Number = Math.max( r, Math.max( g, b ));\r\n\t\t\tvar min:Number = Math.min( r, Math.min( g, b ));\r\n\t\t\tvar range:Number = max - min;\r\n\t\t\tvar h:Number = 0;\r\n\t\t\tvar s:Number = 0;\r\n\t\t\tvar v:Number = max \/ 255;\r\n\t\t\tif ( v &gt; 0 )\r\n\t\t\t{\r\n\t\t\t\ts = range \/ max;\r\n\t\t\t\tif ( s &gt; 0 )\r\n\t\t\t\t{\r\n\t\t\t\t\tvar cr:Number = ( max - r ) \/ range;\r\n\t\t\t\t\tvar cg:Number = ( max - g ) \/ range;\r\n\t\t\t\t\tvar cb:Number = ( max - b ) \/ range;\r\n\t\t\t\t\tif ( r == max )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\th = cb - cg;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if ( g == max )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\th = 2 + cr - cb;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\th = 4 + cg - cr;\r\n\t\t\t\t\t}\r\n\t\t\t\t\th *= 60;\r\n\t\t\t\t\tif ( h &lt; 0 )\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\th += 360;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn { h: Math.round( h * 100 ) * 0.01, s: Math.round( s * 100 ), v: Math.round( v * 100 )};\r\n\t\t}\r\n\t}\r\n}\r\n<\/pre>\n<p>\u307e\u3041\u306a\u3093\u3068\u3044\u3046\u304b\u3053\u308c\u3082\u2026<br \/>\n\u65e2\u5b58\u306e\u30a8\u30d5\u30a7\u30af\u30c8\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u3060\u3051\u306a\u306e\u3067\u3001\u8d85\u7c21\u5358\u3067\u3059\u3088\u306d\u3002<\/p>\n<div class='wp_social_bookmarking_light'>        <div class=\"wsbl_facebook\"><a href='http:\/\/www.facebook.com\/share.php?u=https%3A%2F%2Fwww.digifie.jp%2Fblog%2Farchives%2F990&t=Away3D%204.0%20Beta%20%E3%81%A7%E3%82%AD%E3%83%A9%E3%82%AD%E3%83%A9%E3%82%A8%E3%83%95%E3%82%A7%E3%82%AF%E3%83%88' title='Facebook \u306b\u30b7\u30a7\u30a2' rel=nofollow class='wp_social_bookmarking_light_a' target=_blank><img src='https:\/\/www.digifie.jp\/blog\/wp-content\/plugins\/wp-social-bookmarking-light\/public\/images\/facebook.png' alt='Facebook \u306b\u30b7\u30a7\u30a2' title='Facebook \u306b\u30b7\u30a7\u30a2' width='16' height='16' class='wp_social_bookmarking_light_img' \/><\/a><\/div>        <div class=\"wsbl_twitter\"><a href=\"https:\/\/twitter.com\/share\" class=\"twitter-share-button\" data-url=\"https:\/\/www.digifie.jp\/blog\/archives\/990\" data-text=\"Away3D 4.0 Beta \u3067\u30ad\u30e9\u30ad\u30e9\u30a8\u30d5\u30a7\u30af\u30c8\" data-via=\"LLC DigiFie\" data-lang=\"ja\">Tweet<\/a><\/div><\/div>\n<br class='wp_social_bookmarking_light_clear' \/>\n","protected":false},"excerpt":{"rendered":"<p>\u4eca\u65e5\u3082\u5b9a\u6642\u3092\u904e\u304e\u305f\u306e\u3067\u3001\u3061\u3087\u3063\u3068\u3060\u3051 Away3D 4.0 Beta \u306e\u52c9\u5f37\u3092\u3002 \u4ee5\u524d wonderfl \u306b PV3D \u3092\u4f7f\u3063\u305f \u3053\u3046\u3044\u3046\u306e \u3092\u30dd\u30b9\u30c8\u3057\u305f\u3053\u3068\u304c\u3042\u3063\u3066\u3001\u3053\u308c\u306b\u306a\u3093\u304b\u3044\u3044\u611f\u3058\u306e\u30a8\u30d5\u30a7\u30af\u30c8\u3092\u4ed8\u3051\u3066\u307f\u305f\u304b\u3063\u305f\u3093 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3,36],"tags":[],"_links":{"self":[{"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/posts\/990"}],"collection":[{"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/comments?post=990"}],"version-history":[{"count":5,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/posts\/990\/revisions"}],"predecessor-version":[{"id":997,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/posts\/990\/revisions\/997"}],"wp:attachment":[{"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/media?parent=990"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/categories?post=990"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.digifie.jp\/blog\/wp-json\/wp\/v2\/tags?post=990"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}