{"id":227,"date":"2008-08-04T01:45:57","date_gmt":"2008-08-03T16:45:57","guid":{"rendered":"http:\/\/clockmaker.jp\/blog\/?p=227"},"modified":"2008-08-04T01:45:57","modified_gmt":"2008-08-03T16:45:57","slug":"papervision3d_focus_blur","status":"publish","type":"post","link":"https:\/\/clockmaker.jp\/blog\/2008\/08\/papervision3d_focus_blur\/","title":{"rendered":"Papervision3D 2.0\u3067\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe(2)"},"content":{"rendered":"<p class=\"photo\"><a href=\"http:\/\/clockmaker.jp\/labs\/as3_pv3d_gw_blur2\/BlurPV3D.swf\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-228\" title=\"pv3d_blur_01\" src=\"https:\/\/clockmaker.jp\/blog\/wp-content\/uploads\/2008\/08\/pv3d_blur_01.jpg\" alt=\"\" width=\"460\" height=\"224\" \/><\/a><\/p>\n<p><a href=\"https:\/\/clockmaker.jp\/blog\/2008\/07\/pv3d_gw_blur\/\">\u524d\u56de\u306e\u8a18\u4e8b<\/a>\u3067\u306fPapervison3D\u3067\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe\u304c\u3067\u304d\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u767a\u898b\u3057\u305f\u3053\u3068\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u305d\u306e\u5fdc\u7528\u3067\u7126\u70b9\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u30ed\u30b8\u30c3\u30af\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002<\/p>\n<ul>\n<li><a href=\"\/labs\/as3_pv3d_gw_blur2\/BlurPV3D.swf\" target=\"_blank\">\u30c7\u30e2<\/a>(\u8981Flash Player 9)<\/li>\n<li><a href=\"\/labs\/as3_pv3d_gw_blur2\/Main.txt\">\u30bd\u30fc\u30b9<\/a>(\u8981Papervision3D 2.0 GreateWhite)<\/li>\n<\/ul>\n<p>\u87ba\u65cb\u72b6\u306e3D\u30b5\u30f3\u30d7\u30eb\u3067\u4e8c\u91cd\u306e\u30cd\u30b9\u30c8\u69cb\u9020\u306b\u3057\u3066\u304a\u308a\u3001sceneX,Y,Z\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u4eca\u56de\u306e\u8a08\u7b97\u3067\u3082\u6d3b\u8e8d\u3057\u3066\u304f\u308c\u307e\u3059\u3002<br \/>\n<!--more--><\/p>\n<h3>\u30ab\u30e1\u30e9\u304b\u3089\u306e\u8ddd\u96e2\u3092\u7b97\u51fa<\/h3>\n<p>\u7126\u70b9\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u306b\u3042\u305f\u3063\u3066\u30ab\u30e1\u30e9\u3068\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\u306e3\u6b21\u5143\u7a7a\u9593\u4e0a\u3067\u306e2\u70b9\u9593\u8ddd\u96e2\u3092\u7b97\u51fa\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002XYZ\u306b\u5bfe\u3057\u3066\u8ddd\u96e2\u306e\u5dee\u5206\u3092\u6c42\u3081\u3001\u4e8c\u4e57\u3057\u3066\u5e73\u65b9\u6839\u3092\u3068\u308c\u3070\u8ddd\u96e2\u304c\u7b97\u51fa\u3067\u304d\u307e\u3059\u3002\u3053\u308c\u306f\u4eca\u5f8c\u3082\u3088\u304f\u4f7f\u3044\u305d\u3046\u306a\u306e\u3067\u6c4e\u7528\u30e1\u30bd\u30c3\u30c9\u5316\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n<pre class=\"brush: jscript; title: ; notranslate\" title=\"\">\n\/**\n* \u30ab\u30e1\u30e9\u304b\u3089\u306e\u8ddd\u96e2\u3092\u7b97\u51fa\u3057\u307e\u3059\n* @param\tobj \u8a08\u6e2c\u3057\u305f\u3044\u30aa\u30d6\u30b8\u30a7\u30af\u30c8\n* @return\t\u30ab\u30e1\u30e9\u304b\u3089\u306e\u8ddd\u96e2(3D\u7a7a\u9593\u5185\u306epx\u5024)\n*\/\nprivate function calcPointDistanceFromCamera(obj:DisplayObject3D):Number\n{\n\u3000\u3000\u3000\u3000var vecX:Number = obj.sceneX - camera.x;\n\u3000\u3000\u3000\u3000var vecY:Number = obj.sceneY - camera.y;\n\u3000\u3000\u3000\u3000var vecZ:Number = obj.sceneZ - camera.z;\n\u3000\u3000\u3000\u3000return Math.sqrt(\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000(vecX * vecX)\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000+ (vecY * vecY)\n\u3000\u3000\u3000\u3000\u3000\u3000\u3000\u3000+ (vecZ * vecZ));\n}\n<\/pre>\n<h3>\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe\u306e\u9069\u7528\u91cf<\/h3>\n<p>\u3053\u306e\u95a2\u6570\u306f\u6b21\u306e\u3088\u3046\u306b\u3057\u3066\u5229\u7528\u3057\u307e\u3059\u3002\u30ab\u30e1\u30e9\u3068\u306e\u8ddd\u96e2\u304b\u3089\u30d4\u30f3\u30c8\u304c\u5408\u3046\u8ddd\u96e2(FOCUS_POS)\u306e\u5dee\u5206\u304c\u3001\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe\u306e\u9069\u7528\u91cf(deg)\u306b\u306a\u308a\u307e\u3059\u3002<\/p>\n<p>\/\/ \u8ddd\u96e2\u306e\u7b97\u51fa<br \/>\nvar deg:Number = Math.abs(calcPointDistanceFromCamera(displayObject3D) &#8211; FOCUS_POS);<\/p>\n<h3>\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe &#8211; \u307c\u3051<\/h3>\n<p>\u4e0a\u8a18\u3067\u6c42\u3081\u305fdeg\u3092\u4f7f\u3063\u3066\u3001\u307e\u305a\u306f\u300c\u307c\u304b\u3057\u300d\u3092\u51e6\u7406\u3057\u307e\u3059\u3002<\/p>\n<p>\/\/ \u307c\u304b\u3057\u306e\u9069\u7528\u5024<br \/>\nvar blurVal:int = Math.min(64, deg * .02 &lt;&lt; 1 ); \/\/\u9069\u5b9c\u9069\u7528\u91cf\u306f\u8abf\u6574<br \/>\nvar blurFilter:BlurFilter = new BlurFilter(blurVal, blurVal, 1);<\/p>\n<h3>\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe &#8211; \u660e\u5ea6<\/h3>\n<p>\u524d\u56de\u306f\u300c\u307c\u3051\u300d\u3060\u3051\u306e\u8868\u73fe\u3067\u3057\u305f\u304c\u3001\u5473\u3092\u3060\u3059\u305f\u3081\u306b\u300c\u660e\u5ea6\u300d\u3082\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u306e\u5bfe\u8c61\u306b\u3057\u307e\u3059\u3002ColorMatrixFilte\u3092\u4f7f\u3063\u305f\u5358\u7d14\u306a\u660e\u5ea6\u30b3\u30f3\u30c8\u30ed\u30fc\u30eb\u3002<\/p>\n<p>\/\/ \u660e\u5ea6\u306e\u9069\u7528\u5024<br \/>\nvar blightness:Number = deg \/ 6; \/\/\u9069\u5b9c\u9069\u7528\u91cf\u306f\u8abf\u6574<br \/>\nvar blightnessArr:Array =<br \/>\n[<br \/>\n\u3000\u3000\u3000\u30001, 0, 0, 0, blightness,<br \/>\n\u3000\u3000\u3000\u30000, 1, 0, 0, blightness,<br \/>\n\u3000\u3000\u3000\u30000, 0, 1, 0, blightness,<br \/>\n\u3000\u3000\u3000\u30000, 0, 0, 1, 0<br \/>\n];<br \/>\nvar blightnessFilter:ColorMatrixFilter = new ColorMatrixFilter(blightnessArr);<\/p>\n<p>\u3053\u308c\u3067\u524d\u56de\u306e\u8a18\u4e8b\u3088\u308a\u3082\u5fe0\u5b9f\u306a\u518d\u73fe\u304c\u3067\u304d\u3066\u304d\u307e\u3057\u305f\u3002\u672c\u6765\u306f\u30ab\u30e1\u30e9\u3068\u306e\u8ddd\u96e2\u3067<a href=\"http:\/\/www.eonet.ne.jp\/%7Enighthead\/fz10\/cal.htm\">\u88ab\u5199\u754c\u6df1\u5ea6\u53ca\u3073\u904e\u7126\u70b9\u8ddd\u96e2\u8a08\u7b97<\/a>\u306e\u3088\u3046\u306b\u8a73\u7d30\u306b\u8a08\u7b97\u3059\u308b\u3068\u3088\u3044\u306e\u3067\u3057\u3087\u3046\u304c\u3001\u4eca\u306f\u5358\u7d14\u306a\u30ed\u30b8\u30c3\u30af\u3067\u3002\u306a\u304a\u4eca\u56de\u306e\u30b5\u30f3\u30d7\u30eb\u306f<a href=\"http:\/\/www.trick7.com\/blog\/\" target=\"_blank\">trick7<\/a>\u3055\u3093\u306e\u30a8\u30f3\u30c8\u30ea\u30fc\u3092\u53c2\u8003\u306b\u3055\u305b\u3066\u9802\u304d\u307e\u3057\u305f\u3002\u3042\u308a\u304c\u3068\u3046\u3054\u3056\u3044\u307e\u3059\u3002<\/p>\n<h3>3D\u8868\u73fe\u306e\u53c2\u8003\u30b5\u30a4\u30c8<\/h3>\n<ul>\n<li><a href=\"http:\/\/www.trick7.com\/blog\/2006\/07\/05-160520.php\">trick7.com blog: Flash\u30673D\u306e\u8868\u73fe\uff1a3D\u30e1\u30cb\u30e5\u30fc\u307f\u305f\u3044\u306a<\/a><\/li>\n<li><a href=\"http:\/\/www.trick7.com\/blog\/2006\/07\/10-124628.php\">trick7.com blog: Flash\u30673D\u306e\u8868\u73fe\uff1a3D\u56de\u8ee2\uff08\uff12\uff09\uff0bBlurFilter<\/a><\/li>\n<\/ul>\n<h3>PV3D\u306e\u95a2\u9023\u8a18\u4e8b<\/h3>\n<ul>\n<li><a href=\"..\/2008\/07\/pv3d_gw_blur\/\">PaperVision3D 2.0\u3067\u88ab\u5199\u754c\u6df1\u5ea6\u304c\u5b9f\u73fe\u3067\u304d\u305f\u3088 | ClockMaker Blog<\/a><\/li>\n<li><a href=\"https:\/\/clockmaker.jp\/blog\/2008\/07\/flex_excel_import\/\">Flex\u3067Excel\u30d5\u30a1\u30a4\u30eb\u3092\u8aad\u307f\u8fbc\u3080 | ClockMaker Blog<\/a><\/li>\n<li><a href=\"https:\/\/clockmaker.jp\/blog\/2008\/07\/papervision3d_shading\/\">Papervision3D 2.0(GreateWhite)\u3067\u53cd\u5c04\u3092\u6bd4\u8f03\u3059\u308b | ClockMaker Blog<\/a><\/li>\n<li><a href=\"https:\/\/clockmaker.jp\/blog\/2008\/07\/papervision3d_greatewhite\/\">Papervision3D 2.0(GreateWhite)\u306e\u7fd2\u4f5c | ClockMaker Blog<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u56de\u306e\u8a18\u4e8b\u3067\u306fPapervison3D\u3067\u88ab\u5199\u754c\u6df1\u5ea6\u8868\u73fe\u304c\u3067\u304d\u308b\u30d7\u30ed\u30d1\u30c6\u30a3\u3092\u767a\u898b\u3057\u305f\u3053\u3068\u3092\u7d39\u4ecb\u3057\u307e\u3057\u305f\u3002\u4eca\u56de\u306f\u305d\u306e\u5fdc\u7528\u3067\u7126\u70b9\u8ddd\u96e2\u3092\u8a08\u7b97\u3059\u308b\u30ed\u30b8\u30c3\u30af\u3092\u5b9f\u88c5\u3057\u3066\u307f\u307e\u3059\u3002 \u30c7\u30e2(\u8981Flash Player 9) \u30bd\u30fc\u30b9(\u8981Pap [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[2,4],"tags":[],"_links":{"self":[{"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/posts\/227"}],"collection":[{"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/comments?post=227"}],"version-history":[{"count":0,"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/posts\/227\/revisions"}],"wp:attachment":[{"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/media?parent=227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/categories?post=227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/clockmaker.jp\/blog\/wp-json\/wp\/v2\/tags?post=227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}