SlideShare a Scribd company logo
1 of 11
Pv3d 开发流程及商业应用 孙令纯  2010-03
开发流程: DAE 文件 swf Viewport3D   用来将 3D 场景内计算出来的 3 维图象映射到 flash 的 2 维平面。第 3 个参数则指 示当舞台的大小发生变化时候 Viewport3D 是否 reSize 。最后一个参数指示构建出来的这个 窗口是否响应鼠标交互事件。  所有被创建且需要显示在场景上的 3D 物体,都需要 addChild 到 Scene3D 的显示列表里, 这点和 flash 的 addChild 很像。
开发流程: 移动,旋转 触发响应: camera.moveForward(160); camera.moveBackward(160); camera.moveUp(160); camera.moveDown(160); camera.moveLeft(160); camera.moveRight(160); camera.yaw(2); camera.pitch(2); camera. roll(2); camera.rotationY+=2; camera.rotationZ+=2; camera.rotationX+=2; camera.z+=160; camera.z-=160; camera.y+=160; camera.y-=160; camera.x+=160; camera.x-=160; material= new BitmapFileMaterial("image/cf.png"); material.interactive=true; plane= new Plane(material,3000, 3000, 2, 3 ); plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, planeclick); scene.addChild(plane); private function planeclick( e:InteractiveScene3DEvent ):void { }
开发流程: DAE 文件的触发: private function setInteractiveMaterials(targetObject:DisplayObject3D, value:Boolean):void { for each(var mat:MaterialObject3D in _targetObject.materials.materialsByName) { mat.interactive = value; } } private function addEventListeners(displayObject:DisplayObject3D, eventType:String, listener:Function):void { displayObject.addEventListener(eventType, listener); for each(var child:DisplayObject3D in displayObject.children) { addEventListeners(child, eventType, listener); } } addEventListeners(_obj, InteractiveScene3DEvent.OBJECT_PRESS, daePressedHandler);
开发流程: 利用 Tweener 制作动画 import caurina.transitions.*; Tweener.addTween(n1,{x:-24000,y:7400,z:60000,delay:0,time:30, transition:"linear" } ); Tweener.removeAllTweens();  Tweener.removeTweens(target:Object [, property1:String, property2:String, ...]):Boolean;  Tweener.removeTweens(myMovieClip, "_x", "_y", "_alpha");
开发流程:
开发流程: 摄像机碰撞 private var rx :Number= 0; private var ry :Number  = 0; private var rz :Number  = 0; public function loop(event:Event):void {  if (camera.x>8684||camera.x<-8684||camera.z<-16200||camera.z>18343)  { camera.x=rx; camera.y=ry; camera.z=rz; } rx=camera.x; ry=camera.y; rz=camera.z; }
开发流程: 效果表现: 反射: 使用 MovieClip : public class ReflectionSimple extends ReflectionView public function ReflectionSimple() { surfaceHeight = -100; } import org.papervision3d.materials.MovieAssetMaterial; mat= new MovieAssetMaterial(&quot;mat&quot;,true,true); mat.interactive=true; (mat.movie as Movieclip).gotoAndPlay();
商业应用: http://www.thefwa.com/
商业应用: http://www.vousleboss.com/ http://www.bandit3.com/ http://cardboard.theupsstore.com/ http://www.ha-py.com/island/ http://www.sointeractive.pl/ http://ecodazoo.com/ http://www.ecsw.pl/ http://www.toyota-europe.com/cars/new_cars/iq/minisite/index.aspx http://nikon-connect.com/en/main.html
商业应用: http://www.andoi.com/ http://www.andoi.com/ysyf http://www.andoi.com/sky http://3d.eeart.com/18 http://3d.eeart.com/6 http://3d.eeart.com/88

More Related Content

Viewers also liked

Presentacion Rosario
Presentacion RosarioPresentacion Rosario
Presentacion Rosario
guest9b1334
 
Flex modular applications using robotlegs
Flex modular applications using robotlegsFlex modular applications using robotlegs
Flex modular applications using robotlegs
Saurabh Narula
 
How To Navigate And Extend The Flex Infrastructure
How To Navigate And Extend The Flex InfrastructureHow To Navigate And Extend The Flex Infrastructure
How To Navigate And Extend The Flex Infrastructure
michael.labriola
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst Ria
Josh Holmes
 
CV_Chatchawal_Yodpol_16-03-2016
CV_Chatchawal_Yodpol_16-03-2016CV_Chatchawal_Yodpol_16-03-2016
CV_Chatchawal_Yodpol_16-03-2016
Chatchawal Yodpol
 

Viewers also liked (19)

Presentacion Rosario
Presentacion RosarioPresentacion Rosario
Presentacion Rosario
 
Installing Debian 4
Installing Debian 4Installing Debian 4
Installing Debian 4
 
Flex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakesFlex data binding pitfalls: 10 common misuses and mistakes
Flex data binding pitfalls: 10 common misuses and mistakes
 
Flex modular applications using robotlegs
Flex modular applications using robotlegsFlex modular applications using robotlegs
Flex modular applications using robotlegs
 
Windows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 OverviewWindows 7 – Application Compatibility Toolkit 5.5 Overview
Windows 7 – Application Compatibility Toolkit 5.5 Overview
 
Widget Tutorial
Widget TutorialWidget Tutorial
Widget Tutorial
 
Any Which Array But Loose
Any Which Array But LooseAny Which Array But Loose
Any Which Array But Loose
 
Song 7512
Song 7512Song 7512
Song 7512
 
Roose 7544
Roose 7544Roose 7544
Roose 7544
 
How To Navigate And Extend The Flex Infrastructure
How To Navigate And Extend The Flex InfrastructureHow To Navigate And Extend The Flex Infrastructure
How To Navigate And Extend The Flex Infrastructure
 
Dense And Hot Web Du
Dense And Hot  Web DuDense And Hot  Web Du
Dense And Hot Web Du
 
Air Drag And Drop
Air Drag And DropAir Drag And Drop
Air Drag And Drop
 
Diving in the Flex Data Binding Waters
Diving in the Flex Data Binding WatersDiving in the Flex Data Binding Waters
Diving in the Flex Data Binding Waters
 
Yapi.js, An Adaptive Streaming Web Player
Yapi.js, An Adaptive Streaming Web PlayerYapi.js, An Adaptive Streaming Web Player
Yapi.js, An Adaptive Streaming Web Player
 
Best And Worst Ria
Best And Worst RiaBest And Worst Ria
Best And Worst Ria
 
CV_Chatchawal_Yodpol_16-03-2016
CV_Chatchawal_Yodpol_16-03-2016CV_Chatchawal_Yodpol_16-03-2016
CV_Chatchawal_Yodpol_16-03-2016
 
Introduce native html5 streaming player
Introduce native html5 streaming playerIntroduce native html5 streaming player
Introduce native html5 streaming player
 
Pubcon 2016 - How SEO's can Use PPC to hit their goals
Pubcon 2016 - How SEO's can Use PPC to hit their goalsPubcon 2016 - How SEO's can Use PPC to hit their goals
Pubcon 2016 - How SEO's can Use PPC to hit their goals
 
Agriculture connectée 4.0
Agriculture connectée 4.0Agriculture connectée 4.0
Agriculture connectée 4.0
 

Similar to Pv3d开发流程及商业应用 孙令纯 (6)

Starling
StarlingStarling
Starling
 
Windows Mobile 6 遊戲開發入門
Windows Mobile 6 遊戲開發入門Windows Mobile 6 遊戲開發入門
Windows Mobile 6 遊戲開發入門
 
09 creating windows phone game with cocos2d-xna
09   creating windows phone game with cocos2d-xna09   creating windows phone game with cocos2d-xna
09 creating windows phone game with cocos2d-xna
 
Borland C++Builder 入門課程
Borland C++Builder 入門課程Borland C++Builder 入門課程
Borland C++Builder 入門課程
 
Use Scene kit view to show obj
Use Scene kit view to show obj Use Scene kit view to show obj
Use Scene kit view to show obj
 
Tech.days Taiwan AZR302
Tech.days Taiwan AZR302Tech.days Taiwan AZR302
Tech.days Taiwan AZR302
 

More from FLASH开发者交流会

Introduction to air for android 邱彦林
Introduction to air for android 邱彦林Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
FLASH开发者交流会
 
Swf文件格式和abc代码混淆工具 黄珏坤
Swf文件格式和abc代码混淆工具 黄珏坤Swf文件格式和abc代码混淆工具 黄珏坤
Swf文件格式和abc代码混淆工具 黄珏坤
FLASH开发者交流会
 
松耦合代码之开发方法与工具演示 刘争辉
松耦合代码之开发方法与工具演示 刘争辉松耦合代码之开发方法与工具演示 刘争辉
松耦合代码之开发方法与工具演示 刘争辉
FLASH开发者交流会
 
Flash media server 开发经验谈 沈先彬
Flash media server 开发经验谈 沈先彬Flash media server 开发经验谈 沈先彬
Flash media server 开发经验谈 沈先彬
FLASH开发者交流会
 
Flash 独立游戏开发之路 徐黎明
Flash 独立游戏开发之路 徐黎明Flash 独立游戏开发之路 徐黎明
Flash 独立游戏开发之路 徐黎明
FLASH开发者交流会
 
程序接口的另类理解与使用 孙毅
程序接口的另类理解与使用 孙毅程序接口的另类理解与使用 孙毅
程序接口的另类理解与使用 孙毅
FLASH开发者交流会
 
9月18技术交流会大赛作品介绍 廖湘宁
9月18技术交流会大赛作品介绍 廖湘宁9月18技术交流会大赛作品介绍 廖湘宁
9月18技术交流会大赛作品介绍 廖湘宁
FLASH开发者交流会
 
Flash mmorpg游戏引擎及工具开发概述-张明光
Flash mmorpg游戏引擎及工具开发概述-张明光Flash mmorpg游戏引擎及工具开发概述-张明光
Flash mmorpg游戏引擎及工具开发概述-张明光
FLASH开发者交流会
 
Flash 游戏应用框架和模块化开发 邱广钦
Flash 游戏应用框架和模块化开发 邱广钦Flash 游戏应用框架和模块化开发 邱广钦
Flash 游戏应用框架和模块化开发 邱广钦
FLASH开发者交流会
 
7月24日交流会麻球演讲 廖湘宁
7月24日交流会麻球演讲 廖湘宁7月24日交流会麻球演讲 廖湘宁
7月24日交流会麻球演讲 廖湘宁
FLASH开发者交流会
 
轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)
FLASH开发者交流会
 

More from FLASH开发者交流会 (20)

Bambook sdk 与action script
Bambook  sdk  与action scriptBambook  sdk  与action script
Bambook sdk 与action script
 
Bambook开放之路
Bambook开放之路Bambook开放之路
Bambook开放之路
 
Introduction to air for android 邱彦林
Introduction to air for android 邱彦林Introduction to air for android 邱彦林
Introduction to air for android 邱彦林
 
Misato engine hugh_tsai-蔡浩宇
Misato engine hugh_tsai-蔡浩宇Misato engine hugh_tsai-蔡浩宇
Misato engine hugh_tsai-蔡浩宇
 
Swf文件格式和abc代码混淆工具 黄珏坤
Swf文件格式和abc代码混淆工具 黄珏坤Swf文件格式和abc代码混淆工具 黄珏坤
Swf文件格式和abc代码混淆工具 黄珏坤
 
松耦合代码之开发方法与工具演示 刘争辉
松耦合代码之开发方法与工具演示 刘争辉松耦合代码之开发方法与工具演示 刘争辉
松耦合代码之开发方法与工具演示 刘争辉
 
Flash media server 开发经验谈 沈先彬
Flash media server 开发经验谈 沈先彬Flash media server 开发经验谈 沈先彬
Flash media server 开发经验谈 沈先彬
 
Flash 独立游戏开发之路 徐黎明
Flash 独立游戏开发之路 徐黎明Flash 独立游戏开发之路 徐黎明
Flash 独立游戏开发之路 徐黎明
 
程序接口的另类理解与使用 孙毅
程序接口的另类理解与使用 孙毅程序接口的另类理解与使用 孙毅
程序接口的另类理解与使用 孙毅
 
Flash游戏大会 商文烨
Flash游戏大会 商文烨Flash游戏大会 商文烨
Flash游戏大会 商文烨
 
Flash ria usability 刘轩飞
Flash ria usability 刘轩飞Flash ria usability 刘轩飞
Flash ria usability 刘轩飞
 
9月18技术交流会大赛作品介绍 廖湘宁
9月18技术交流会大赛作品介绍 廖湘宁9月18技术交流会大赛作品介绍 廖湘宁
9月18技术交流会大赛作品介绍 廖湘宁
 
简化复杂的Flash应用程序 谈熠
简化复杂的Flash应用程序 谈熠简化复杂的Flash应用程序 谈熠
简化复杂的Flash应用程序 谈熠
 
Flash mmorpg游戏引擎及工具开发概述-张明光
Flash mmorpg游戏引擎及工具开发概述-张明光Flash mmorpg游戏引擎及工具开发概述-张明光
Flash mmorpg游戏引擎及工具开发概述-张明光
 
Web base 吴志华
Web base 吴志华Web base 吴志华
Web base 吴志华
 
Flash 游戏应用框架和模块化开发 邱广钦
Flash 游戏应用框架和模块化开发 邱广钦Flash 游戏应用框架和模块化开发 邱广钦
Flash 游戏应用框架和模块化开发 邱广钦
 
7月24日交流会麻球演讲 廖湘宁
7月24日交流会麻球演讲 廖湘宁7月24日交流会麻球演讲 廖湘宁
7月24日交流会麻球演讲 廖湘宁
 
浅析Flash特效开发 陈勇
浅析Flash特效开发 陈勇浅析Flash特效开发 陈勇
浅析Flash特效开发 陈勇
 
Flash网络通讯处理 陈苏俊
Flash网络通讯处理 陈苏俊Flash网络通讯处理 陈苏俊
Flash网络通讯处理 陈苏俊
 
轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)轻量级Flash服务器开发框架(刘恒)
轻量级Flash服务器开发框架(刘恒)
 

Pv3d开发流程及商业应用 孙令纯

  • 2. 开发流程: DAE 文件 swf Viewport3D 用来将 3D 场景内计算出来的 3 维图象映射到 flash 的 2 维平面。第 3 个参数则指 示当舞台的大小发生变化时候 Viewport3D 是否 reSize 。最后一个参数指示构建出来的这个 窗口是否响应鼠标交互事件。 所有被创建且需要显示在场景上的 3D 物体,都需要 addChild 到 Scene3D 的显示列表里, 这点和 flash 的 addChild 很像。
  • 3. 开发流程: 移动,旋转 触发响应: camera.moveForward(160); camera.moveBackward(160); camera.moveUp(160); camera.moveDown(160); camera.moveLeft(160); camera.moveRight(160); camera.yaw(2); camera.pitch(2); camera. roll(2); camera.rotationY+=2; camera.rotationZ+=2; camera.rotationX+=2; camera.z+=160; camera.z-=160; camera.y+=160; camera.y-=160; camera.x+=160; camera.x-=160; material= new BitmapFileMaterial(&quot;image/cf.png&quot;); material.interactive=true; plane= new Plane(material,3000, 3000, 2, 3 ); plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, planeclick); scene.addChild(plane); private function planeclick( e:InteractiveScene3DEvent ):void { }
  • 4. 开发流程: DAE 文件的触发: private function setInteractiveMaterials(targetObject:DisplayObject3D, value:Boolean):void { for each(var mat:MaterialObject3D in _targetObject.materials.materialsByName) { mat.interactive = value; } } private function addEventListeners(displayObject:DisplayObject3D, eventType:String, listener:Function):void { displayObject.addEventListener(eventType, listener); for each(var child:DisplayObject3D in displayObject.children) { addEventListeners(child, eventType, listener); } } addEventListeners(_obj, InteractiveScene3DEvent.OBJECT_PRESS, daePressedHandler);
  • 5. 开发流程: 利用 Tweener 制作动画 import caurina.transitions.*; Tweener.addTween(n1,{x:-24000,y:7400,z:60000,delay:0,time:30, transition:&quot;linear&quot; } ); Tweener.removeAllTweens(); Tweener.removeTweens(target:Object [, property1:String, property2:String, ...]):Boolean; Tweener.removeTweens(myMovieClip, &quot;_x&quot;, &quot;_y&quot;, &quot;_alpha&quot;);
  • 7. 开发流程: 摄像机碰撞 private var rx :Number= 0; private var ry :Number = 0; private var rz :Number = 0; public function loop(event:Event):void { if (camera.x>8684||camera.x<-8684||camera.z<-16200||camera.z>18343) { camera.x=rx; camera.y=ry; camera.z=rz; } rx=camera.x; ry=camera.y; rz=camera.z; }
  • 8. 开发流程: 效果表现: 反射: 使用 MovieClip : public class ReflectionSimple extends ReflectionView public function ReflectionSimple() { surfaceHeight = -100; } import org.papervision3d.materials.MovieAssetMaterial; mat= new MovieAssetMaterial(&quot;mat&quot;,true,true); mat.interactive=true; (mat.movie as Movieclip).gotoAndPlay();
  • 10. 商业应用: http://www.vousleboss.com/ http://www.bandit3.com/ http://cardboard.theupsstore.com/ http://www.ha-py.com/island/ http://www.sointeractive.pl/ http://ecodazoo.com/ http://www.ecsw.pl/ http://www.toyota-europe.com/cars/new_cars/iq/minisite/index.aspx http://nikon-connect.com/en/main.html
  • 11. 商业应用: http://www.andoi.com/ http://www.andoi.com/ysyf http://www.andoi.com/sky http://3d.eeart.com/18 http://3d.eeart.com/6 http://3d.eeart.com/88