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

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdfChristopherTHyatt
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
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
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
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 convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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
 

Recently uploaded (20)

EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
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...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
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
 
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
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
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 convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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
 

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);