В этом вебинаре вы узнаете как создавать настоящие трехмерные игры с момощью современной реализации Mobile Java JSRs на телефонах Nokia Series 40 семейства Asha. Мы ознакомим с деталями процесса создания 3D игр: планирование и построение игровых уровней; освещение и уровень реализма; сравнение создания игровых персонажей вручную и с помощью пакетов трехмерного моделирования; анимация и поведение игровых персонажей; решения менеджмента памяти и текстур; стратегии пользовательского ввода; оптимизирование исполнения программ для различных ориентаций экранов и моделей телефонов. Обзор скорости трехмерной графики на различных телефонах Nokia Series 40 семейства Asha.
Пощупать 3д в браузере | Odessa Frontend Meetup #15OdessaFrontendВеб технологии давно позволяют прикоснуться ко всем 3 измерениям в браузере используя WebGL, и для этого достаточно понять самые простые принципы трехмерной графики. Что такое геометрия и материал. Как WebGL взаимодействует с ДОМэлементами и его событиями. Простыми словами про это подробно рассказывает веб-слесарь Константин Плаксивый.
Qualitative reconstruction of the camera and geometry of a scene, as a key to...Alexander LavrovThis presentation I made for master class on cinema production service expo
TК°Conf. Ещё не поздно учить WebGL. Антон Корзунов.TKConfЧто в докладе:
Коротко о том, почему WebGL не нужен;
Коротко о тех кейсах, где он может быть полезен;
Коротко о том, почему его следует изучить;
Немного о том, чем webgl является, а чем нет;
И о том чем webgl отличается от TreeJs.
Интерактивные 3D-карты своими руками / Александр Амосов (Avito)OnticoРИТ++ 2017, Frontend Сonf
Зал Мумбаи, 5 июня, 15:00
Тезисы:
http://frontendconf.ru/2017/abstracts/2603.html
Когда компания разрастается, встает необходимость навигации, поиска коллег, оргтехники, переговорок в офисе. Чтобы решить эту проблему, можно нарисовать двухмерный план помещений и даже добавить интерактив с привязкой к базе данных сотрудников. Но намного эффектнее и нагляднее сделать карту трехмерной.
В своем докладе я опишу полностью процесс создания WebGL-визуализации, начиная от создания модели в трехмерном редакторе и заканчивая оптимизациями из мира компьютерных игр, что поможет вам разработать собственный интерактивный 3D-проект.
JavaFX Script LanguageSSA KPIAACIMP 2009 Summer School lecture by Alexander Scherbatiy (Sun Microsystems). "Information Technology" stream. Sun Microsystems course. Part 7.
Олег Мохов "Драматическая история одной маленькой промостранички"YandexПромостраницы — это отдельный жанр в вёрстке. Маленькие, лаконичные и обязательно с фишкой — вот всё, что обычно они из себя представляют. Чаще всего вёрстка промостраницы длится не более двух дней. Так должно было быть и на этот раз, но...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Dmitri SoshnikovПрезентация, с которой я выступал на конференции Графикон 2009.
Google maps for androidStfalcon MeetupsДоповідач Олександр Зозуля,
Провідний розробник мобільних додатків студії stfalcon.com, один з кращих доповідачів потоку «Мобільна розробка» конференції Lviv Mobile Development Day
Dmitry Bartalevich - "How to train your WebVR"IT EventNowadays frontend developer is quite bored - news about new JS-based language aren't exciting, just like about new frameworks. And one day, while writing another logic of the another component or, Jesus Christ, bug fixing IE9, you can find absolutely charming create - WebVR.
In my lecture I'm going to share some secred knowledge about its behaviour, training tools, as well as gained experience.
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile DeveloperThe document summarizes Nokia X platform 2.0, which provides an improved user experience over version 1.0. It is now compatible with Android 4.3 instead of 4.1. While the API offering remains mainly the same, ensuring compatibility of applications from version 1.0, there are new features like a control panel and ongoing tasks layer. The user interface also includes enhancements like a 4-column layout and separation of applications, widgets, and notifications.
Lumia App Labs: Lumia SensorCore SDK betaMicrosoft Mobile DeveloperThis document discusses developing contextual app experiences and provides guidance on building apps that are aware of the user's current context. It notes that context-aware apps can provide more personalized and helpful experiences for users. The document is intended as an informational guide and Microsoft makes no guarantees about the accuracy of the information after its publication date. It also states that the examples provided are fictional.
More Related Content
Similar to Введиние в разработку 3D игр для Nokia Asha телефонов (20)
JavaFX Script LanguageSSA KPIAACIMP 2009 Summer School lecture by Alexander Scherbatiy (Sun Microsystems). "Information Technology" stream. Sun Microsystems course. Part 7.
Олег Мохов "Драматическая история одной маленькой промостранички"YandexПромостраницы — это отдельный жанр в вёрстке. Маленькие, лаконичные и обязательно с фишкой — вот всё, что обычно они из себя представляют. Чаще всего вёрстка промостраницы длится не более двух дней. Так должно было быть и на этот раз, но...
Обзор программных средств Майкрософт для графики и визуализации: коммерческой...Dmitri SoshnikovПрезентация, с которой я выступал на конференции Графикон 2009.
Google maps for androidStfalcon MeetupsДоповідач Олександр Зозуля,
Провідний розробник мобільних додатків студії stfalcon.com, один з кращих доповідачів потоку «Мобільна розробка» конференції Lviv Mobile Development Day
Dmitry Bartalevich - "How to train your WebVR"IT EventNowadays frontend developer is quite bored - news about new JS-based language aren't exciting, just like about new frameworks. And one day, while writing another logic of the another component or, Jesus Christ, bug fixing IE9, you can find absolutely charming create - WebVR.
In my lecture I'm going to share some secred knowledge about its behaviour, training tools, as well as gained experience.
Intro to Nokia X software platform 2.0 and toolsMicrosoft Mobile DeveloperThe document summarizes Nokia X platform 2.0, which provides an improved user experience over version 1.0. It is now compatible with Android 4.3 instead of 4.1. While the API offering remains mainly the same, ensuring compatibility of applications from version 1.0, there are new features like a control panel and ongoing tasks layer. The user interface also includes enhancements like a 4-column layout and separation of applications, widgets, and notifications.
Lumia App Labs: Lumia SensorCore SDK betaMicrosoft Mobile DeveloperThis document discusses developing contextual app experiences and provides guidance on building apps that are aware of the user's current context. It notes that context-aware apps can provide more personalized and helpful experiences for users. The document is intended as an informational guide and Microsoft makes no guarantees about the accuracy of the information after its publication date. It also states that the examples provided are fictional.
Nokia Asha from idea to app - ImagingMicrosoft Mobile DeveloperBring your ideas to life with the APIs and additional memory available for development on the Nokia Asha platform. Join this webinar to learn how much you can do in the area of imaging, with the Image Scaling API and the Image Processing API. You’ll also get detailed guidelines on how to work with the camerainterface and how to create special effects and filters.
Healthcare apps for Nokia X and Nokia AshaMicrosoft Mobile DeveloperHealthcare apps for Nokia X and Nokia Asha phones present a great opportunity to help improve the lives of millions of users around the world. In this webinar, we’ll discuss the fundamentals of mobile healthcare apps and give you an overview of the opportunities and challenges involved in developing such apps for Nokia phones. We’ll open the webinar with an introduction to the fundamentals of mobile healthcare, an overview of opportunities and challenges of developing apps for wellness and mobile health, and the role of mobile platforms in enabling health and healthcare apps. Then we will dig into specific techniques available when developing such apps for Nokia X and Nokia Asha platforms.We’ll demonstrate different approaches available to developers targeting the two platforms by examining a Blood Pressure Diary app, which is implemented for Nokia X and Nokia Asha. As part of that discussion we’ll show how to retrieve heart-rate data from medical devices using Bluetooth technology.
Push notifications on Nokia XMicrosoft Mobile DeveloperThe Nokia Notifications API enables you to implement Push notifications in your Nokia X apps. Nokia Notifications consists of a client API and a server API. If you’re already using Google Cloud Messaging in an Android app, you can port or even add Nokia Notifications to the same code base and APK. In this webinar, we’ll show you how to use Nokia Notifications in your Nokia X apps and walk you through example code provided in the Nokia X SDK.
DIY Nokia Asha app usability studiesMicrosoft Mobile DeveloperThis document provides guidance on conducting DIY usability studies for Asha apps. It discusses fundamentals of usability testing, how to optimize tests, preparation steps, running a test session, analyzing outcomes, and available UX resources. Key recommendations include testing early and often with 2-3 participants, focusing on the biggest usability issues, and remembering that usability is about improvement rather than proof. The document aims to make usability testing accessible for independent developers.
Lessons learned from Nokia X UI reviewsMicrosoft Mobile DeveloperMost Android apps run properly on the Nokia X platform without any modification, but maybe you’d like some help with improving the user experience of your apps as you port them to Nokia X. UX expert Jan Krebber, from OCTO3, has been working with developers porting to Nokia X and has seen patterns of mistakes that are easy to correct. In this webinar, he’ll share his top tips on how to avoid the most common missteps.
Location based services for Nokia X and Nokia Asha using Geo2tagMicrosoft Mobile Developer With the open source Geo2tag platform, developers can use JSON or XML to manage location references in apps for Nokia X and Nokia Asha phones. In this webinar, we’ll show how to use the Geo2tag API and how to manage a local database of georeferences. We’ll begin the training by introducing the fundamentals of Location Based Services and the REST API of Geo2Tag LBS Platform (www.geo2tag.org). We’ll focus on networking, JSON and web services. Then we will demonstrate several applications developed on top of Geo2Tagand share the newest enhancements to the platform. We’ll end the training with a discussion of integrating Geo2Tag and third-party map widgets.
HERE Maps for the Nokia X platformMicrosoft Mobile DeveloperWith HERE Maps, users always know where they are and where they’re going, even when they’re not connected to a mobile network. In this webinar, we’ll show you how to integrate HERE Maps into your new apps for Nokia X and how to port existing apps.
Nokia In-App Payment - UX considerationsMicrosoft Mobile DeveloperNokia In-App Payment is designed from the ground up to encourage users to spend more on your digital goods, let you keep more of what your users spend, and reach the broadest possible market around the world. If you’re not yet using Nokia In-App Payment to generate revenue from your Nokia applications, you should be. Join this webinar to find out how to optimise Nokia In-App Payment UI flows before and after payments occur. You’ll learn about tips and tricks to increase conversion rates and to avoid pitfalls and deal-breakers.
Introduction to Nokia Asha SDK 1.2 (beta)Microsoft Mobile DeveloperNokia Theme API and Webview API are new additions in Nokia Asha SDK 1.2. The Theme API enables developers to change themes and to access the properties of a current theme. The Webview API is used to display web pages inside a MIDlet, enabling delivery of more-sophisticated Help, About, and other screens to users. In addition, Nokia Asha SDK 1.2 contains updates to the Contact API that allow MIDlets to receive notifications with social contacts in the phonebook are added, deleted, or modified. Pranav Gothadiya, lead developer and product owner for Nokia Asha SDKs, starts this training webinar with an overview of new and updated features in Nokia Asha SDK 1.2 and the new Nokia Asha software platform 1.4. Pranav then demonstrates code examples included in the SDK to illustrate the new Theme and Webview APIs. He also touches on the (Social) Contact API, as well as on SDK features that enable developers to support frame-positioning control and progressive audio recording.
UX considerations when porting to Nokia XMicrosoft Mobile DeveloperApproximately 75% of Android apps run properly on Nokia X platform without any modification, but maybe you’d like some help improving the UX of your app as you port it to Nokia X. UX expert Jan Krebber will show you how to improve the UX of your Nokia X apps in terms you don’t need to be a UX expert to understand. He’ll focus on the few items most important when it comes to user experience design for Android and Nokia X.He’ll introduce those items and show you how to create a launcher icon for Nokia X.
Kids' games and educational app designMicrosoft Mobile DeveloperSome children start using mobile devices at very young ages. Mobile phones can be very powerful tools to support learning and to nurture cognitive capabilities. This webinar addresses UI design considerations for creating games and educational applications for children and teens. Although the webinar focuses on Nokia Asha phones, the findings it examines hold true for mobile devices in general.
Nokia X: opportunities for developersMicrosoft Mobile DeveloperIn this webinar we'll provide an overview of the Nokia X platform and product offering. Then we'll dig into monetization opportunities offered by Nokia In-app Payment combined with Nokia's extensive operator billing network. We'll show you how you can benefit by bringing your apps to Nokia Store, take advantage of it’s unique monetization capabilities and make your app stand out from the crowd.
Lumia App Labs: Nokia Imaging SDK 1.1Microsoft Mobile DeveloperThe Nokia Imaging SDK 1.1 provides tools for image processing and effects for Windows Phone and Windows 8.1 applications. It includes over 50 filters and effects that can be combined in a processing pipeline. New features in version 1.1 include HDR effects, lens blur, and interactive foreground segmentation. The SDK allows loading images from various sources and outputting processed images as bitmaps or JPEG files. It provides a simple architecture based on image sources, effects, and renderers that can be combined flexibly to create custom image processing workflows.
Intro to Nokia X software platform and toolsMicrosoft Mobile DeveloperWelcome to Nokia X Software Platform! In this webinar we’ll provide a detailed overview of Nokia X Software Platform and show you how to get started developing for it.In live demonstrations we’ll show how to install and configure your development environment and Nokia tools. You’ll learn similarities and differences of Nokia X compared with other development platforms and learn how easy it is to publish your existing Android app for Nokia X. We’ll show you how to test and port your app and explain the capabilities and specifics of Nokia APIs: Nokia Notification Service, In-App Payment and HERE Maps.
Lumia App Labs: Lessons learned from 50 windows phone 8 design consultationsMicrosoft Mobile DeveloperDVLUP members who want help with the design of their Windows Phone 8 app can redeem XP for one-hour online UI clinics delivered by the design pros at Toledo Design. This webinar is open to everyone, whether you're a member of DVLUP or not. Arturo Toledo, mobile design expert and former design evangelist and UX design in the Windows Phone design studio, has already delivered over 50 of these one-on-one consultations to help DVLUP members improve the design, usability, and user reviews of their applications. In this 1 hour webinar, Arturo shares some of the most common design challenges he has seen in these real-world consultations and shows how to fix them.
Windows Phone 8 speech: parliamo con la nostra appMicrosoft Mobile DeveloperMicrosoft Windows Phone ha un sistema di riconoscimento vocale molto sofisticato. Ci permette di impartire comandi al sistema operativo, leggere e dettare SMS, effettuare chiamate etc. In Windows Phone 8 è stata introdotta, per noi sviluppatori, la possibilità di utilizzare i comandi vocali anche nelle nostre applicazioni. In questa sessione vedremo come implementare il riconoscimento vocale nelle nostre app. / Microsoft Windows Phone has a very sophisticated speech-recognition system. Users can give commands to the operating system, read and dictate text messages, make phone calls, etc. With Windows Phone 8, developers have the ability to use voice commands in applications. In this webinar, you’ll find out how to implement voice recognition in your apps.
La pubblicazione di un'applicazione sullo storeMicrosoft Mobile DeveloperLo sviluppo è sicuramente la parte più divertente nella creazione di un'applicazione, ma senza un meccanismo per venderle e distribuirle rimarrebbe un'attività fine a sé stessa. Nel corso di questo webinar vedremo come funziona il processo di pubblicazione di un'applicazione e impareremo a gestirne il ciclo di vita sullo Store: la certificazione, i report post pubblicazione, il rilascio di aggiornamenti.
Il pattern mvvm come strutturare al meglio il vostro progettoMicrosoft Mobile DeveloperQuando ci si trova nella necessità di sviluppare applicazioni per Microsoft Windows Phone più complesse, l'approccio tradizionale mostra qualche limite: non c'è una separazione tra i vari strati dell'applicazione e il codice è più difficile da testare e da mantenere. Questo webinar vi mostrerà le basi del pattern Model-View-ViewModel (MVVM), che offre un approccio più strutturato, in grado di separare la parte di logica dall'interfaccia grafica. / When you need to develop complex applications for Microsoft Windows Phone, the traditional approach shows some limitations. This webinar will show you the basics of Model-View-ViewModel (MVVM), which offers a more structured approach.
Введиние в разработку 3D игр для Nokia Asha телефонов
1. Series 40 Developer Training
Введение в разработку 3D игр для
Nokia Asha телефонов
Michael Samarin, Ph.D
Director,
Developer Training and Evangelism
Futurice Oy
2. Восстановить
интерес к
Привлечь Mobile Java
Обзор 3D
внимание к 3D Краткий
Примеров в
3D API для JSR-184 JSR-184
NetBeans и
Nokia (M3G) (M3G)
Nokia SDK
Series 40 для тур
1.1 for Java
(Asha) создания
игр
3. Series 40
» 675 Миллионов устройств
» 3.9 Миллионов скачиваний ежедневно
» Ценовые категории 35 – 140 Евро
» Игровые студии с которыми придется соревноваться: EA,
Gameloft, Rovio, India Games
8. › Объектно-Ориентированное 3D
› Основано на Scene Graph
JSR-184 › Один из MIDP JSR
› Очень компактное API
M3G › Быстрый цикл разработки
› Оптимизировано для небольшого
объема памяти и бюджетных CPU
› Отличная реализация на Series 40
10. Компактное API, всего 30 классов
AnimationController IndexBuffer RayIntersection
AnimationTrack KeyframeSequence SkinnedMesh
Appearance Light Sprite3D
Background Loader Texture2D
Camera Material Transform
CompositingMode Mesh Transformable
Fog MorphingMesh TriangleStripArray
Graphics3D Node VertexArray
Group Object3D VertexBuffer
Image2D PolygonMode World
11. › Immediate mode
› Аналогичен по идеологии
OpenGL
› Retained mode
Режимы › Основан на Scene Graph
(modes) › Весь Scene Graph может быть
сохранен в / загружен из файла
› Полноценно описан M3G
формат
› Режимы могут быть свободно
использоваться
одновременно
12. Scene Graph
Background Mesh
Group Morphing Mesh
World Skinned Mesh
Sprite 3D
Group
Sprite 3D User Object
Group Camera
Light
13. › World
› Задний план (Background)
› Morphing and Skinned Mesh
Наиболее › Анимированная геометрия
Интересные объектов
Scene Graph
› Mesh
› 3D Геометрия видимых объектов
Элементы › Sprite 3D
› 2D изображения в 3D
пространстве
14. public class SimpleWorld extends MIDlet {
Canvas3D canvas3D;
public void startApp() {
canvas3D = new Canvas3D();
Display.getDisplay(this).setCurrent(canvas3D);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
15. public class Canvas3D extends Canvas
implements Runnable {
public Canvas3D(){
}
public void paint(Graphics g) {
}
public void run() {
}
}
16. public class Canvas3D extends Canvas
implements Runnable {
private Thread thread;
public Canvas3D(){
private long startTime;
}
private Graphics3D graphics3D;
public void paint(Graphics g) {
private World world;
}
private Camera camera;
public void run() {
private boolean running = false;
}
}
17. setFullScreenMode(true);
thread = newThread(this);
public class Canvas3D extends Canvas
startTime= System.currentTimeMillis()
implements Runnable {
graphics3D= Graphics3D.getInstance();
public Canvas3D(){
world = new World();
}
camera = new Camera();
public void paint(Graphics g) {
floataspect = (float) getWidth()/ (float) getHeight();
}
camera.setPerspective(30.0f,aspect, 1.0f, 1000.0f);
public void run() { world.addChild(camera);
} world.setActiveCamera(camera);
} running = true;
thread.start();
18. public class Canvas3D extends Canvas
implements Runnable {
graphics3D.bindTarget(g);
public Canvas3D(){
world.animate(
}
(int)(System.currentTimeMillis() -
public void paint(Graphics g) { startTime));
} graphics3D.render(world);
public void run() { graphics3D.releaseTarget();
}
}
19. public class Canvas3D extends Canvas
implements Runnable {
public Canvas3D(){ while (running){
} repaint();
public void paint(Graphics g) { Thread.sleep(20);
} }
public void run() {
}
}
22. // Create vertex data.
VertexBuffer cubeVertexData = new VertexBuffer();
cubeVertexData.setDefaultColor(0x000000FF);
VertexArray vertexPositions =
new VertexArray(VERTEX_POSITIONS.length / 3, 3, 1);
vertexPositions.set(0, VERTEX_POSITIONS.length / 3,VERTEX_POSITIONS);
cubeVertexData.setPositions(vertexPositions, 1.0f, null);
// Create the triangles that define the cube; the indices point to
// vertices in VERTEX_POSITIONS.
TriangleStripArray cubeTriangles = new TriangleStripArray(
TRIANGLE_INDICES, new int[]{TRIANGLE_INDICES.length});
23. Material material = new Material();
material.setVertexColorTrackingEnable(true);
Appearance appearance = newAppearance();
appearance.setMaterial(material);
// Create a Mesh that represents the cube.
Mesh cubeMesh = new Mesh(cubeVertexData, cubeTriangles, appearance);
cubeMesh.setOrientation(20.0f, 1.0f, 2.0f, 3.0f);
cubeMesh.setUserID(1);
world.addChild(cubeMesh);