SlideShare a Scribd company logo
1 of 29
WaveEngine Team
@waveengineteam
http://waveengine.net
WaveEngine Components
Component Based Game
Engine
Component types
Components
Drawables
Behaviors
Components 3D
Components Behavior Drawable
• Transform3D
• Model
• SkinnedModel
• MaterialsMap
• ParticleSystem3D
• Joint3D
• Collider3D
• Animation3D
• Spinner
• RigidBody3D
• ModelRenderer
• SkinedModelRenderer
• ParticleSystemRenderer3d
Entity
To draw a primitive cube
Transform3D
MaterialsMap
ModelRenderer
Model
To draw a primitive cube
Entity cube = new Entity(“mycube")
.AddComponent(new Transform3D())
.AddComponent(new MaterialsMap())
.AddComponent(Model.CreateCube())
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
Transfom3D
.AddComponent(new Transform3D()
{
Position = new Vector3(0, 10, 0), // Default: (0,0,0)
Rotation = new Vector3(0, (float)Math.PI, 0), //Default: (0,0,0)
Scale = new Vector3(3, 3, 3), // Default: (1,1,1)
})
MaterialsMap
• None
• BasicMaterial
• DualTextureMaterial
• EnviromentMapMaterial
• NormalMapping Material
• SkyboxMaterial
• ToonShadingMaterial
• RimLightMaterial
MaterialsMap - BasicMaterial
Entity cube = new Entity(“mycube")
.AddComponent(new Transform3D())
.AddComponent(new MaterialsMap(
new BasicMaterial("Context/mytexture.wpk"))
)
.AddComponent(Model.CreateCube())
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
MaterialsMap - BasicMaterial
Entity cube = new Entity(“mycube")
.AddComponent(new Transform3D())
.AddComponent(new MaterialsMap(
new NormalMappingMaterial(“difuse.wpk", "normal.wpk"))
)
.AddComponent(Model.CreateCube())
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
Model - Primitives
• Primitives
• Cube
• Cone
• Cylinder
• Pyramid
• Sphere
• Torus
• Capsule
• Plane
• Teapot
Model – From file
• Load from File .DAE, .FBX, .Obj, .3DS y .X
Model – From file
Entity car = new Entity(“myCar")
.AddComponent(new Transform3D())
.AddComponent(new MaterialsMap()
.AddComponent(new Model(“Content/Car.wpk”))
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
Animated Model – From file
• Load from File .DAE, .FBX y .X
Animated Model – From file
Entity player = new Entity(“myplayer")
.AddComponent(new Transform3D())
.AddComponent(new MaterialsMap()
.AddComponent(new SkinnedModel("Content/model.wpk"))
.AddComponent(new Animation3D("Content/animation.wpk"))
.AddComponent(new SkinnedModelRenderer());
EntityManager.Add(cube);
Collision detection
Collider3D
• BoxCollider
• SphereCollider
• CapsuleCollider
• MeshCollider
Collision detection
Entity cube = new Entity(“mycube")
.AddComponent(new Transform3D())
.AddComponent(new BoxCollider())
.AddComponent(new MaterialsMap())
.AddComponent(Model.CreateCube())
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
BoxCollider collider = cube.FindComponent<BoxCollider>();
collider.Intersects(...);
3D Particle System
3D Particle System
Entity smokeParticles = new Entity(“myParticles")
.AddComponent(new Transform3D())
.AddComponent(new ParticleSystem3D() { //Parameters })
.AddComponent(new MaterialsMap(
new BasicMaterial("Content/particleTexture.wpk“,
DefaultLayers.Alpha)))
.AddComponent(new ParticleSystemRenderer3D());
EntityManager.Add(smokeParticles);
3D Particle System
.AddComponent(new ParticleSystem3D()
{ //Parameters
NumParticles = 100,
EmitRate = 1500,
MinLife = TimeSpan.FromSeconds(1f), MaxLife = TimeSpan.FromSeconds(3f),
LocalVelocity = new Vector3(0f, 0f,0f),
RandomVelocity = new Vector3(3f, 2.5f,0f),
MinSize = 15, MaxSize = 40,
MinRotateSpeed = 0.03f, MaxRotateSpeed = -0.03f,
EndDeltaScale = 0f,
EmitterSize = new Vector2(30),
Gravity = new Vector2(0, 0.03f),
EmitterShape = ParticleSystem2D.Shape.FillCircle,
Emit = false,
})
3D Physic components
• Wave engine integrates the Bepu physic engine.
• Offers a component based interface.
3D Physic components
Entity cube = new Entity("myCube")
.AddComponent(new Transform3D())
.AddComponent(new BoxCollider())
.AddComponent(new RigidBody3D() { //Parameters})
.AddComponent(new MaterialsMap())
.AddComponent(Model.CreateCube())
.AddComponent(new ModelRenderer());
EntityManager.Add(cube);
3D Physic components
.AddComponent(new RigidBody3D()
{ //Parameters
EnableContinuousContact = true, // Default : false
Mass = 4f, // Default: 1f
IsKinematic = true, // Default: false
KineticFriction = 4f, // Default: 0.3f
StaticFriction = 4f, // Default: 0.6f
LinearVelocity = new Vector3(1, 0, 0), // Default (0,0,0)
AngularVelocity = Vector3.Zero, // Default (0,0,0)
Rotation = new Vector3(0, (float)Math.PI, 0), // Default (0,0,0)
Restitution = 4f, // Default: 0
})
3D Physic components
Joint3D
• BallSocketJoint
• FixedJoint
• HingeJoint
• LineSliderJoint
• MotorizedGrabSpring3D
• PlaneSliderJoint
• PrismaticJoint
• SwivelHingeJoint
• UniversalJoint
Cameras
Cameras
• FixedCamera
• ViewCamera
• FreeCamera
• ThirdPersonCamera
• PathCamera
Cameras
FreeCamera myCamera = new FreeCamera("mainCamera",
new Vector3(0, 5, 5),
Vector3.Zero);
EntityManager.Add(myCamera);
Lights
3D lights
• PointLight
• DirectionalLight
Lights
DirectionalLight skylight = new DirectionalLight("SkyLight",
new Vector3(1));
EntityManager.Add(skylight);
Thank you
WaveEngine Team
@waveengineteam
http://waveengine.net

More Related Content

What's hot

Appengine ja-night-sapporo#1 bt
Appengine ja-night-sapporo#1 btAppengine ja-night-sapporo#1 bt
Appengine ja-night-sapporo#1 btShinichi Ogawa
 
The Ring programming language version 1.4.1 book - Part 16 of 31
The Ring programming language version 1.4.1 book - Part 16 of 31The Ring programming language version 1.4.1 book - Part 16 of 31
The Ring programming language version 1.4.1 book - Part 16 of 31Mahmoud Samir Fayed
 
Vielseitiges In-Memory Computing mit Apache Ignite und Kubernetes
Vielseitiges In-Memory Computing mit Apache Ignite und KubernetesVielseitiges In-Memory Computing mit Apache Ignite und Kubernetes
Vielseitiges In-Memory Computing mit Apache Ignite und KubernetesQAware GmbH
 
Getting Started with Datatsax .Net Driver
Getting Started with Datatsax .Net DriverGetting Started with Datatsax .Net Driver
Getting Started with Datatsax .Net DriverDataStax Academy
 
The Ring programming language version 1.5.2 book - Part 28 of 181
The Ring programming language version 1.5.2 book - Part 28 of 181The Ring programming language version 1.5.2 book - Part 28 of 181
The Ring programming language version 1.5.2 book - Part 28 of 181Mahmoud Samir Fayed
 
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(上)
JCConf 2015  - 輕鬆學google的雲端開發 - Google App Engine入門(上)JCConf 2015  - 輕鬆學google的雲端開發 - Google App Engine入門(上)
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(上)Simon Su
 
The Ring programming language version 1.7 book - Part 32 of 196
The Ring programming language version 1.7 book - Part 32 of 196The Ring programming language version 1.7 book - Part 32 of 196
The Ring programming language version 1.7 book - Part 32 of 196Mahmoud Samir Fayed
 
Taller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando ChakramTaller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando ChakramTestingUy
 
Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksMongoDB
 
The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180Mahmoud Samir Fayed
 
Protocol Oriented JSON Parsing in Swift
Protocol Oriented JSON Parsing in SwiftProtocol Oriented JSON Parsing in Swift
Protocol Oriented JSON Parsing in SwiftJason Larsen
 
Mongo db updatedocumentusecases
Mongo db updatedocumentusecasesMongo db updatedocumentusecases
Mongo db updatedocumentusecaseszarigatongy
 
The Ring programming language version 1.5.3 book - Part 29 of 184
The Ring programming language version 1.5.3 book - Part 29 of 184The Ring programming language version 1.5.3 book - Part 29 of 184
The Ring programming language version 1.5.3 book - Part 29 of 184Mahmoud Samir Fayed
 
MySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsMySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsAlexander Rubin
 
Entity System Architecture with Unity - Unite Europe 2015
Entity System Architecture with Unity - Unite Europe 2015Entity System Architecture with Unity - Unite Europe 2015
Entity System Architecture with Unity - Unite Europe 2015Simon Schmid
 
Experienced Selenium Interview questions
Experienced Selenium Interview questionsExperienced Selenium Interview questions
Experienced Selenium Interview questionsarchana singh
 

What's hot (20)

Appengine ja-night-sapporo#1 bt
Appengine ja-night-sapporo#1 btAppengine ja-night-sapporo#1 bt
Appengine ja-night-sapporo#1 bt
 
The Ring programming language version 1.4.1 book - Part 16 of 31
The Ring programming language version 1.4.1 book - Part 16 of 31The Ring programming language version 1.4.1 book - Part 16 of 31
The Ring programming language version 1.4.1 book - Part 16 of 31
 
Vielseitiges In-Memory Computing mit Apache Ignite und Kubernetes
Vielseitiges In-Memory Computing mit Apache Ignite und KubernetesVielseitiges In-Memory Computing mit Apache Ignite und Kubernetes
Vielseitiges In-Memory Computing mit Apache Ignite und Kubernetes
 
Functions
FunctionsFunctions
Functions
 
Getting Started with Datatsax .Net Driver
Getting Started with Datatsax .Net DriverGetting Started with Datatsax .Net Driver
Getting Started with Datatsax .Net Driver
 
The Ring programming language version 1.5.2 book - Part 28 of 181
The Ring programming language version 1.5.2 book - Part 28 of 181The Ring programming language version 1.5.2 book - Part 28 of 181
The Ring programming language version 1.5.2 book - Part 28 of 181
 
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(上)
JCConf 2015  - 輕鬆學google的雲端開發 - Google App Engine入門(上)JCConf 2015  - 輕鬆學google的雲端開發 - Google App Engine入門(上)
JCConf 2015 - 輕鬆學google的雲端開發 - Google App Engine入門(上)
 
The Ring programming language version 1.7 book - Part 32 of 196
The Ring programming language version 1.7 book - Part 32 of 196The Ring programming language version 1.7 book - Part 32 of 196
The Ring programming language version 1.7 book - Part 32 of 196
 
Taller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando ChakramTaller evento TestingUY 2017 - API Testing utilizando Chakram
Taller evento TestingUY 2017 - API Testing utilizando Chakram
 
Game dev 101 part 3
Game dev 101 part 3Game dev 101 part 3
Game dev 101 part 3
 
Fun Teaching MongoDB New Tricks
Fun Teaching MongoDB New TricksFun Teaching MongoDB New Tricks
Fun Teaching MongoDB New Tricks
 
The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180The Ring programming language version 1.5.1 book - Part 27 of 180
The Ring programming language version 1.5.1 book - Part 27 of 180
 
Game dev 101 part 2
Game dev 101   part 2Game dev 101   part 2
Game dev 101 part 2
 
Protocol Oriented JSON Parsing in Swift
Protocol Oriented JSON Parsing in SwiftProtocol Oriented JSON Parsing in Swift
Protocol Oriented JSON Parsing in Swift
 
Mongo db updatedocumentusecases
Mongo db updatedocumentusecasesMongo db updatedocumentusecases
Mongo db updatedocumentusecases
 
The Ring programming language version 1.5.3 book - Part 29 of 184
The Ring programming language version 1.5.3 book - Part 29 of 184The Ring programming language version 1.5.3 book - Part 29 of 184
The Ring programming language version 1.5.3 book - Part 29 of 184
 
MySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of ThingsMySQL flexible schema and JSON for Internet of Things
MySQL flexible schema and JSON for Internet of Things
 
Rental
RentalRental
Rental
 
Entity System Architecture with Unity - Unite Europe 2015
Entity System Architecture with Unity - Unite Europe 2015Entity System Architecture with Unity - Unite Europe 2015
Entity System Architecture with Unity - Unite Europe 2015
 
Experienced Selenium Interview questions
Experienced Selenium Interview questionsExperienced Selenium Interview questions
Experienced Selenium Interview questions
 

Similar to WaveEngine 3D components

The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202Mahmoud Samir Fayed
 
The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31Mahmoud Samir Fayed
 
HTML5 Canvas (Wall Clock).pptx
HTML5 Canvas (Wall Clock).pptxHTML5 Canvas (Wall Clock).pptx
HTML5 Canvas (Wall Clock).pptxAhmadAbba6
 
Machine learning with py torch
Machine learning with py torchMachine learning with py torch
Machine learning with py torchRiza Fahmi
 
Viktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning ServiceViktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning ServiceLviv Startup Club
 
React new features and intro to Hooks
React new features and intro to HooksReact new features and intro to Hooks
React new features and intro to HooksSoluto
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화NAVER D2
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryDatabricks
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryDatabricks
 
The Ring programming language version 1.7 book - Part 48 of 196
The Ring programming language version 1.7 book - Part 48 of 196The Ring programming language version 1.7 book - Part 48 of 196
The Ring programming language version 1.7 book - Part 48 of 196Mahmoud Samir Fayed
 
Write Python for Speed
Write Python for SpeedWrite Python for Speed
Write Python for SpeedYung-Yu Chen
 
Deep dumpster diving 2010
Deep dumpster diving 2010Deep dumpster diving 2010
Deep dumpster diving 2010RonnBlack
 
GANS Project for Image idetification.pdf
GANS Project for Image idetification.pdfGANS Project for Image idetification.pdf
GANS Project for Image idetification.pdfVivekanandaGN1
 
The Ring programming language version 1.5.3 book - Part 44 of 184
The Ring programming language version 1.5.3 book - Part 44 of 184The Ring programming language version 1.5.3 book - Part 44 of 184
The Ring programming language version 1.5.3 book - Part 44 of 184Mahmoud Samir Fayed
 
The Ring programming language version 1.5.3 book - Part 54 of 184
The Ring programming language version 1.5.3 book - Part 54 of 184The Ring programming language version 1.5.3 book - Part 54 of 184
The Ring programming language version 1.5.3 book - Part 54 of 184Mahmoud Samir Fayed
 
Simple, fast, and scalable torch7 tutorial
Simple, fast, and scalable torch7 tutorialSimple, fast, and scalable torch7 tutorial
Simple, fast, and scalable torch7 tutorialJin-Hwa Kim
 

Similar to WaveEngine 3D components (20)

The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202The Ring programming language version 1.8 book - Part 50 of 202
The Ring programming language version 1.8 book - Part 50 of 202
 
The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31The Ring programming language version 1.5 book - Part 8 of 31
The Ring programming language version 1.5 book - Part 8 of 31
 
HTML5 Canvas (Wall Clock).pptx
HTML5 Canvas (Wall Clock).pptxHTML5 Canvas (Wall Clock).pptx
HTML5 Canvas (Wall Clock).pptx
 
Machine learning with py torch
Machine learning with py torchMachine learning with py torch
Machine learning with py torch
 
Viktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning ServiceViktor Tsykunov: Azure Machine Learning Service
Viktor Tsykunov: Azure Machine Learning Service
 
Java 8 monads
Java 8   monadsJava 8   monads
Java 8 monads
 
React new features and intro to Hooks
React new features and intro to HooksReact new features and intro to Hooks
React new features and intro to Hooks
 
[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화[232] TensorRT를 활용한 딥러닝 Inference 최적화
[232] TensorRT를 활용한 딥러닝 Inference 최적화
 
[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화[232]TensorRT를 활용한 딥러닝 Inference 최적화
[232]TensorRT를 활용한 딥러닝 Inference 최적화
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love Story
 
User Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love StoryUser Defined Aggregation in Apache Spark: A Love Story
User Defined Aggregation in Apache Spark: A Love Story
 
The Ring programming language version 1.7 book - Part 48 of 196
The Ring programming language version 1.7 book - Part 48 of 196The Ring programming language version 1.7 book - Part 48 of 196
The Ring programming language version 1.7 book - Part 48 of 196
 
Parallel streams in java 8
Parallel streams in java 8Parallel streams in java 8
Parallel streams in java 8
 
Write Python for Speed
Write Python for SpeedWrite Python for Speed
Write Python for Speed
 
Deep dumpster diving 2010
Deep dumpster diving 2010Deep dumpster diving 2010
Deep dumpster diving 2010
 
GANS Project for Image idetification.pdf
GANS Project for Image idetification.pdfGANS Project for Image idetification.pdf
GANS Project for Image idetification.pdf
 
The Ring programming language version 1.5.3 book - Part 44 of 184
The Ring programming language version 1.5.3 book - Part 44 of 184The Ring programming language version 1.5.3 book - Part 44 of 184
The Ring programming language version 1.5.3 book - Part 44 of 184
 
The Ring programming language version 1.5.3 book - Part 54 of 184
The Ring programming language version 1.5.3 book - Part 54 of 184The Ring programming language version 1.5.3 book - Part 54 of 184
The Ring programming language version 1.5.3 book - Part 54 of 184
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
Simple, fast, and scalable torch7 tutorial
Simple, fast, and scalable torch7 tutorialSimple, fast, and scalable torch7 tutorial
Simple, fast, and scalable torch7 tutorial
 

Recently uploaded

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 

Recently uploaded (20)

2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 

WaveEngine 3D components

  • 4. Components 3D Components Behavior Drawable • Transform3D • Model • SkinnedModel • MaterialsMap • ParticleSystem3D • Joint3D • Collider3D • Animation3D • Spinner • RigidBody3D • ModelRenderer • SkinedModelRenderer • ParticleSystemRenderer3d
  • 5. Entity To draw a primitive cube Transform3D MaterialsMap ModelRenderer Model
  • 6. To draw a primitive cube Entity cube = new Entity(“mycube") .AddComponent(new Transform3D()) .AddComponent(new MaterialsMap()) .AddComponent(Model.CreateCube()) .AddComponent(new ModelRenderer()); EntityManager.Add(cube);
  • 7. Transfom3D .AddComponent(new Transform3D() { Position = new Vector3(0, 10, 0), // Default: (0,0,0) Rotation = new Vector3(0, (float)Math.PI, 0), //Default: (0,0,0) Scale = new Vector3(3, 3, 3), // Default: (1,1,1) })
  • 8. MaterialsMap • None • BasicMaterial • DualTextureMaterial • EnviromentMapMaterial • NormalMapping Material • SkyboxMaterial • ToonShadingMaterial • RimLightMaterial
  • 9. MaterialsMap - BasicMaterial Entity cube = new Entity(“mycube") .AddComponent(new Transform3D()) .AddComponent(new MaterialsMap( new BasicMaterial("Context/mytexture.wpk")) ) .AddComponent(Model.CreateCube()) .AddComponent(new ModelRenderer()); EntityManager.Add(cube);
  • 10. MaterialsMap - BasicMaterial Entity cube = new Entity(“mycube") .AddComponent(new Transform3D()) .AddComponent(new MaterialsMap( new NormalMappingMaterial(“difuse.wpk", "normal.wpk")) ) .AddComponent(Model.CreateCube()) .AddComponent(new ModelRenderer()); EntityManager.Add(cube);
  • 11. Model - Primitives • Primitives • Cube • Cone • Cylinder • Pyramid • Sphere • Torus • Capsule • Plane • Teapot
  • 12. Model – From file • Load from File .DAE, .FBX, .Obj, .3DS y .X
  • 13. Model – From file Entity car = new Entity(“myCar") .AddComponent(new Transform3D()) .AddComponent(new MaterialsMap() .AddComponent(new Model(“Content/Car.wpk”)) .AddComponent(new ModelRenderer()); EntityManager.Add(cube);
  • 14. Animated Model – From file • Load from File .DAE, .FBX y .X
  • 15. Animated Model – From file Entity player = new Entity(“myplayer") .AddComponent(new Transform3D()) .AddComponent(new MaterialsMap() .AddComponent(new SkinnedModel("Content/model.wpk")) .AddComponent(new Animation3D("Content/animation.wpk")) .AddComponent(new SkinnedModelRenderer()); EntityManager.Add(cube);
  • 16. Collision detection Collider3D • BoxCollider • SphereCollider • CapsuleCollider • MeshCollider
  • 17. Collision detection Entity cube = new Entity(“mycube") .AddComponent(new Transform3D()) .AddComponent(new BoxCollider()) .AddComponent(new MaterialsMap()) .AddComponent(Model.CreateCube()) .AddComponent(new ModelRenderer()); EntityManager.Add(cube); BoxCollider collider = cube.FindComponent<BoxCollider>(); collider.Intersects(...);
  • 19. 3D Particle System Entity smokeParticles = new Entity(“myParticles") .AddComponent(new Transform3D()) .AddComponent(new ParticleSystem3D() { //Parameters }) .AddComponent(new MaterialsMap( new BasicMaterial("Content/particleTexture.wpk“, DefaultLayers.Alpha))) .AddComponent(new ParticleSystemRenderer3D()); EntityManager.Add(smokeParticles);
  • 20. 3D Particle System .AddComponent(new ParticleSystem3D() { //Parameters NumParticles = 100, EmitRate = 1500, MinLife = TimeSpan.FromSeconds(1f), MaxLife = TimeSpan.FromSeconds(3f), LocalVelocity = new Vector3(0f, 0f,0f), RandomVelocity = new Vector3(3f, 2.5f,0f), MinSize = 15, MaxSize = 40, MinRotateSpeed = 0.03f, MaxRotateSpeed = -0.03f, EndDeltaScale = 0f, EmitterSize = new Vector2(30), Gravity = new Vector2(0, 0.03f), EmitterShape = ParticleSystem2D.Shape.FillCircle, Emit = false, })
  • 21. 3D Physic components • Wave engine integrates the Bepu physic engine. • Offers a component based interface.
  • 22. 3D Physic components Entity cube = new Entity("myCube") .AddComponent(new Transform3D()) .AddComponent(new BoxCollider()) .AddComponent(new RigidBody3D() { //Parameters}) .AddComponent(new MaterialsMap()) .AddComponent(Model.CreateCube()) .AddComponent(new ModelRenderer()); EntityManager.Add(cube);
  • 23. 3D Physic components .AddComponent(new RigidBody3D() { //Parameters EnableContinuousContact = true, // Default : false Mass = 4f, // Default: 1f IsKinematic = true, // Default: false KineticFriction = 4f, // Default: 0.3f StaticFriction = 4f, // Default: 0.6f LinearVelocity = new Vector3(1, 0, 0), // Default (0,0,0) AngularVelocity = Vector3.Zero, // Default (0,0,0) Rotation = new Vector3(0, (float)Math.PI, 0), // Default (0,0,0) Restitution = 4f, // Default: 0 })
  • 24. 3D Physic components Joint3D • BallSocketJoint • FixedJoint • HingeJoint • LineSliderJoint • MotorizedGrabSpring3D • PlaneSliderJoint • PrismaticJoint • SwivelHingeJoint • UniversalJoint
  • 25. Cameras Cameras • FixedCamera • ViewCamera • FreeCamera • ThirdPersonCamera • PathCamera
  • 26. Cameras FreeCamera myCamera = new FreeCamera("mainCamera", new Vector3(0, 5, 5), Vector3.Zero); EntityManager.Add(myCamera);
  • 28. Lights DirectionalLight skylight = new DirectionalLight("SkyLight", new Vector3(1)); EntityManager.Add(skylight);