Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

153 рядки
8.9KB

  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8" />
  4. <!-- Set the viewport width to device width for mobile -->
  5. <meta name="viewport" content="width=device-width" />
  6. <title>Поехали</title>
  7. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/normalize.css" />
  8. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/foundation.min.css" />
  9. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/style.css" />
  10. <link rel="stylesheet" href="http://opengamestudio.org/theme/css/pygments.css" />
  11. <script src="http://opengamestudio.org/theme/js/custom.modernizr.js"></script>
  12. <!-- So Firefox can bookmark->"abo this site" -->
  13. <link href="feeds/all.atom.xml" rel="alternate" title="Opensource Game Studio" type="application/atom+xml">
  14. </head>
  15. <body>
  16. <!-- Nav Bar -->
  17. <nav>
  18. <!-- Show menu items and pages -->
  19. <div class="row">
  20. <div class="large-12 columns top-bar">
  21. <h1><a href="http://opengamestudio.org">Opensource Game Studio</a></h1>
  22. </div>
  23. </div>
  24. <div class="row top-menu">
  25. <div class="large-12 columns">
  26. <a href="pages/projects.html" class="menu-button secondary">Projects</a>
  27. <a href="pages/about.html" class="menu-button secondary">About</a>
  28. </div>
  29. </div>
  30. </nav>
  31. <!-- End Nav -->
  32. <!-- Main Page Content and Sidebar -->
  33. <div class="row">
  34. <!-- Main Blog Content -->
  35. <div class="large-9 columns">
  36. <article>
  37. <header>
  38. <h3 class="article-title"><a href="http://opengamestudio.org/lets-go-ru.html" rel="bookmark"
  39. title="Permalink to Поехали">Поехали</a></h3>
  40. </header>
  41. <h6 class="subheader" title="2017-03-16T00:00:00+03:00">Чт 16 Март 2017
  42. <a class="button secondary small translation-button" href="http://opengamestudio.org/lets-go.html">en</a>
  43. </h6> <p><img alt="Let's go" src="http://opengamestudio.org/2017-03_lets-go.png" /></p>
  44. <p>В этой статье мы расскажем о результатах нашей работы в январе и феврале 2017: отображении куба на iOS/Веб и нашем инструменте для создания самоучителей.</p>
  45. <p><strong>Отображение куба на iOS/Web</strong></p>
  46. <p>К нашему удивлению, мы смогли отобразить простой красный куб на <a href="https://twitter.com/OpenGameStudio/status/826816343433498627">iOS</a> и <a href="https://twitter.com/OpenGameStudio/status/829731986264698881">Веб</a> довольно быстро: в начале февраля. Тем не менее, это лишь начало поддержки платформ Android, iOS и Веб. Впереди нас ждёт тернистая дорога, т.к. нам предстоит сделать ещё много вещей, прежде чем мы сможем объявить о полноценной поддержке этих платформ: визуальные эффекты, скрипты Python, архивы данных.</p>
  47. <p>Т.к. нам потребовалось четыре месяца для начала поддержки платформ Android, iOS и Веб, мы решили поделиться своими знаниями и помочь сообществу OpenSceneGraph. Мы напишем руководство по использованию OpenSceneGraph на ПК, мобилках и Вебе. Мы верим: чем более распространён OpenSceneGraph, тем сильнее наши собственные технологии. Как сказал Исаак Ньютон: "Если я видел дальше других, то потому, что стоял на плечах гигантов". OpenSceneGraph - наш гигант.</p>
  48. <p><strong>Инструмент для создания самоучителей</strong></p>
  49. <p>Имея за плечами опыт проведения четырёх прямых эфиров, нам стало ясно, что руководство по использованию OpenSceneGraph будет полезно лишь при наличии видео. Но голое видео способно отразить лишь то, что мы делаем, но не то, почему мы делаем именно это и именно так. Поэтому мы решили совместить видео с текстом в форме как субтитров к видео, так и отдельных статей.</p>
  50. <p>Первую попытку совмещения видео с текстом мы начали с помощью <a href="http://openshotvideo.com">OpenShot</a>. Инструмент хороший, но с первого же дня использования стали очевидны следующие ограничения:</p>
  51. <ul>
  52. <li>Настройка моментов отображения текста и анимаций занимает много времени</li>
  53. <li>Файл проекта и исходные ресурсы сложно положить в систему контроля версий</li>
  54. </ul>
  55. <p>Т.к. руководство по использованию OpenSceneGraph будет состоять из нескольких самоучителей, мы решили автоматизировать процесс. Быстрый поиск рассказал нам о существовании замечательного мультимедийного фреймворка <a href="http://mltframework.org">MLT</a>, который используется и в OpenShot. С помощью MLT мы быстро сделали свой инструмент для создания самоучителей.</p>
  56. <p>На текущий момент наш инструмент позволяет совместить видео и текст с помощью простого текстового файла:</p>
  57. <div class="highlight"><pre>background bg.png
  58. text 5 Let&#39;s install Blender
  59. video 0:6 install_blender.mp4
  60. text 5 Installing it with apt
  61. video 6:26 install_blender.mp4
  62. text 5 We&#39;re still installing it
  63. video 26:56 install_blender.mp4
  64. text 5 Congratulations! We just finished installing Blender
  65. </pre></div>
  66. <p>Это реальный скрипт. Конечный результат можно увидеть <a href="https://github.com/OGStudio/openscenegraph-cross-platform-guide/tree/master/tutorial-tool">здесь</a>.</p>
  67. <p>На этом мы заканчиваем рассказ о результатах нашей работы в январе и феврале 2017: отображении куба на iOS/Веб и нашем инструменте для создания самоучителей.</p>
  68. <p class="subheader">Category: <a href="http://opengamestudio.org/category/news.html">News</a>
  69. </p>
  70. </article>
  71. </div>
  72. <!-- End Main Content -->
  73. <!-- Sidebar -->
  74. <aside class="large-3 columns">
  75. <!--k
  76. <h5 class="sidebar-title">Site</h5>
  77. <ul class="side-nav">
  78. <li><a href="http://opengamestudio.org/archives.html">Archives</a>
  79. <li><a href="http://opengamestudio.org/tags.html">Tags</a>
  80. <li><a href="http://opengamestudio.org/feeds/all.atom.xml" rel="alternate">Atom feed</a></li>
  81. </ul>
  82. <h5 class="sidebar-title">Categories</h5>
  83. <ul class="side-nav">
  84. <li><a href="http://opengamestudio.org/category/news.html">News</a></li>
  85. </ul>
  86. -->
  87. <h5 class="sidebar-title">Ads</h5>
  88. <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
  89. <!-- ogs2 -->
  90. <ins class="adsbygoogle"
  91. style="display:block"
  92. data-ad-client="ca-pub-4473792248813084"
  93. data-ad-slot="9024247127"
  94. data-ad-format="auto"></ins>
  95. <script>
  96. (adsbygoogle = window.adsbygoogle || []).push({});
  97. </script>
  98. </aside> <!-- End Sidebar -->
  99. </div> <!-- End Main Content and Sidebar -->
  100. <!-- Footer -->
  101. <footer class="row">
  102. <div class="large-12 columns">
  103. <hr />
  104. <div class="row">
  105. <div class="large-7 columns">
  106. <p>Proudly powered by <a href="http://getpelican.com">Pelican</a>, which takes great advantage of <a href="http://python.org">Python</a>.</p>
  107. </div>
  108. </div>
  109. </div>
  110. <script type="text/javascript">
  111. var _gaq = _gaq || [];
  112. _gaq.push(['_setAccount', 'UA-3773114-1']);
  113. _gaq.push(['_trackPageview']);
  114. (function() {
  115. var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
  116. ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
  117. var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  118. })();
  119. </script>
  120. </footer>