<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Unreal.js  &#8211;  ConquestArrow.com</title>
	<atom:link href="https://conquestarrow.com/tag/unreal-js/feed/" rel="self" type="application/rss+xml" />
	<link>https://conquestarrow.com</link>
	<description></description>
	<lastBuildDate>Sun, 26 Aug 2018 05:59:46 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	

<image>
	<url>https://conquestarrow.com/wp-content/uploads/2018/05/cropped-logo-32x32.png</url>
	<title>Unreal.js  &#8211;  ConquestArrow.com</title>
	<link>https://conquestarrow.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>UE4のPython&#038;JavaScriptプラグイン比較</title>
		<link>https://conquestarrow.com/compare-ue4-plugin-python-js/</link>
					<comments>https://conquestarrow.com/compare-ue4-plugin-python-js/#disqus_thread</comments>
		
		<dc:creator><![CDATA[Conquest Arrow]]></dc:creator>
		<pubDate>Sat, 25 Aug 2018 00:00:23 +0000</pubDate>
				<category><![CDATA[Plugin]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Python Editor Script Plugin]]></category>
		<category><![CDATA[UE4Plugin]]></category>
		<category><![CDATA[Unreal.js]]></category>
		<category><![CDATA[UnrealEnginePython]]></category>
		<guid isPermaLink="false">https://conquestarrow.com/?p=404</guid>

					<description><![CDATA[スクリプトプラグインを比較する UE4には4.19からPythonがスクリプトプラグインとして組み込まれている。以前からLuaなど好きなスクリプトエンジンをソース組み込みできたが、プラグインかつ標準組み込みとなったことで [&#8230;]]]></description>
										<content:encoded><![CDATA[<h1>スクリプトプラグインを比較する</h1>
<p>UE4には4.19からPythonがスクリプトプラグインとして組み込まれている。以前からLuaなど好きなスクリプトエンジンをソース組み込みできたが、プラグインかつ標準組み込みとなったことで今後Pythonの活用が進むと思われる。</p>
<p>そこで、UE4上で動くスクリプトのプラグインのPythonの２種類（公式<sup id="fnref-404-1"><a href="#fn-404-1" class="footnote-ref" role="doc-noteref">1</a></sup>、3rd Party）とJavaScriptについて比較してみた。</p>

  <div id="toc" class="toc tnt-none toc-center tnt-none border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ul class="toc-list open"></li><li><a href="#toc1" tabindex="0">比較表</a><ul><li><a href="#toc2" tabindex="0">対応UE4 ver.</a></li><li><a href="#toc3" tabindex="0">言語ver.</a></li><li><a href="#toc4" tabindex="0">提供形式</a></li><li><a href="#toc5" tabindex="0">対応実行プラットホーム</a></li><li><a href="#toc6" tabindex="0">ランタイム実行</a></li><li><a href="#toc7" tabindex="0">エディタ実行</a></li><li><a href="#toc8" tabindex="0">GUI付エディタ拡張</a></li><li><a href="#toc9" tabindex="0">専用コンソール</a></li></ul></li><li><a href="#toc10" tabindex="0">まとめ</a><ul><li><a href="#toc11" tabindex="0">おまけ：APIの比較</a></li></ul></li></ul>
    </div>
  </div>

<h2><span id="toc1">比較表</span></h2>
<p>※2018-08-25現在</p>
<div class="scrollable-table"><table>
<thead>
<tr>
<th align="right">_</th>
<th>公式Python</th>
<th>UnrealEnginePython</th>
<th>Unreal.js</th>
</tr>
</thead>
<tbody>
<tr>
<td align="right">対応UE4 ver.</td>
<td>4.19 &lt;= 4.20</td>
<td>4.12 &lt;= 4.20</td>
<td>4.11 &lt;= 4.19 ※1</td>
</tr>
<tr>
<td align="right">言語 ver.</td>
<td>2.7.x ※2</td>
<td>2.7.x / 3.6.x / 3.7.x ※3</td>
<td>ES2017</td>
</tr>
<tr>
<td align="right">提供形式</td>
<td>標準プラグイン</td>
<td>github</td>
<td>MarketPlace ※1</td>
</tr>
<tr>
<td align="right">プラグイン ver.</td>
<td>BETA 1.0</td>
<td>1.0</td>
<td>0.3.1</td>
</tr>
<tr>
<td align="right">Windows/Mac/Linux</td>
<td>〇/〇/〇</td>
<td>〇/〇/〇</td>
<td>〇/〇/〇</td>
</tr>
<tr>
<td align="right">iOS/Android</td>
<td>×/×</td>
<td>×/〇</td>
<td>×/〇</td>
</tr>
<tr>
<td align="right">ランタイム実行</td>
<td>×</td>
<td>〇</td>
<td>〇</td>
</tr>
<tr>
<td align="right">エディタ実行</td>
<td>〇</td>
<td>〇</td>
<td>〇</td>
</tr>
<tr>
<td align="right">GUI付エディタ拡張</td>
<td>×</td>
<td>〇</td>
<td>〇</td>
</tr>
<tr>
<td align="right">専用コンソール</td>
<td>〇</td>
<td>〇</td>
<td>〇</td>
</tr>
</tbody>
</table></div>
<ul>
<li>補足
<ul>
<li>※1：githubのものをビルドすることで4.20に対応</li>
<li>※2：エンジンをソースからビルドすることで3系統に対応</li>
<li>※3: 3.6以外は別途python実行エンジンのインストールが必要</li>
</ul>
</li>
</ul>
<a rel="noopener" href="https://docs.unrealengine.com/en-US/Editor/Scripting-and-Automating-the-Editor/Scripting-the-Editor-using-Python" title="Scripting the Editor using Python" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img src="https://conquestarrow.com/wp-content/uploads/cocoon-resources/blog-card-cache/079bde1ced6b7e3306572406c9f32a18.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Scripting the Editor using Python</div><div class="blogcard-snippet external-blogcard-snippet">Describes how to use Python in the Unreal Editor to script content production tasks.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img src="https://www.google.com/s2/favicons?domain=docs.unrealengine.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">docs.unrealengine.com</div></div></div></div></a>
<a rel="noopener" href="https://github.com/20tab/UnrealEnginePython" title="GitHub - 20tab/UnrealEnginePython: Embed Python in Unreal Engine 4" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img src="https://opengraph.githubassets.com/2e68d26d01841262617ca4c187c0717932ce88147af7659421a2e1d3047bc200/20tab/UnrealEnginePython" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">GitHub - 20tab/UnrealEnginePython: Embed Python in Unreal Engine 4</div><div class="blogcard-snippet external-blogcard-snippet">Embed Python in Unreal Engine 4. Contribute to 20tab/UnrealEnginePython development by creating an account on GitHub.</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img src="https://www.google.com/s2/favicons?domain=github.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">github.com</div></div></div></div></a>
<a rel="noopener" href="https://www.unrealengine.com/marketplace/unrealjs" title="Unreal.js in Code Plugins - UE Marketplace" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img src="https://conquestarrow.com/wp-content/uploads/cocoon-resources/blog-card-cache/950bb6a65cae26213c967b814ad6e383.png" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">Unreal.js in Code Plugins - UE Marketplace</div><div class="blogcard-snippet external-blogcard-snippet">Javascript runtime built for UnrealEngine</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img src="https://www.google.com/s2/favicons?domain=www.unrealengine.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.unrealengine.com</div></div></div></div></a>
<h3><span id="toc2">対応UE4 ver.</span></h3>
<p>公式Pythonは比較的最近のver.にしか対応しない。UnrealEnginePython、Unreal.jsは古いver.でも対応する。</p>
<p>Unreal.jsはやや最新ver.への追従が遅い（githubのソースをビルドして導入することで最新にも対応する）。</p>
<h3><span id="toc3">言語ver.</span></h3>
<p>対応するスクリプトの言語のver.の比較。</p>
<p>公式のPythonプラグインの問題として2系統であることが一つあげられる。というのも、<a href="https://pythonclock.org/">Pythonの2系統は2020年までのサポートとされている<span class="fa fa-share-square external-icon anchor-icon"></span></a>ため将来性に乏しい。</p>
<div class="product-item-box amazon-item-box no-icon product-item-error cf"><div><a rel="nofollow noopener" href="https://www.amazon.co.jp/exec/obidos/ASIN/4873117380/conquestarrow-22/" target="_blank">Amazonで詳細を見る<span class="fa fa-share-square external-icon anchor-icon"></span></a></div></div>
<p>なぜ２系統なのかというと映像制作系の業界基準ガイドライン「<a href="https://www.vfxplatform.com/">VFX Reference Platform<span class="fa fa-share-square external-icon anchor-icon"></span></a>」の最新でもPython2が指定されているためとされており、これに合わせた形らしい。</p>
<a rel="noopener" href="https://www.vfxplatform.com/" title="VFX Reference Platform" class="blogcard-wrap external-blogcard-wrap a-wrap cf" target="_blank"><div class="blogcard external-blogcard eb-left cf"><div class="blogcard-label external-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail external-blogcard-thumbnail"><img src="https://s0.wordpress.com/mshots/v1/https%3A%2F%2Fwww.vfxplatform.com%2F?w=160&#038;h=90" alt="" class="blogcard-thumb-image external-blogcard-thumb-image" width="160" height="90" /></figure><div class="blogcard-content external-blogcard-content"><div class="blogcard-title external-blogcard-title">VFX Reference Platform</div><div class="blogcard-snippet external-blogcard-snippet">VFX Platform : Reference Platform for VFX Software</div></div><div class="blogcard-footer external-blogcard-footer cf"><div class="blogcard-site external-blogcard-site"><div class="blogcard-favicon external-blogcard-favicon"><img src="https://www.google.com/s2/favicons?domain=www.vfxplatform.com" alt="" class="blogcard-favicon-image external-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain external-blogcard-domain">www.vfxplatform.com</div></div></div></div></a>
<p>なお、UnrealEnginePython、Unreal.jsに関してはそれぞれの言語の比較的新しいものが使える。</p>
<h3><span id="toc4">提供形式</span></h3>
<p>いずれもプラグインであるが提供方法はバラバラ。</p>
<ul>
<li>公式Python
<ul>
<li>既に入っているので有効化する</li>
</ul>
</li>
<li>UnrealEnginePython
<ul>
<li>githubからバイナリをDLしてくる</li>
</ul>
</li>
<li>Unreal.js
<ul>
<li>Market placeから導入</li>
<li>最新盤はgithubからソースDLしてビルド</li>
</ul>
</li>
</ul>
<h3><span id="toc5">対応実行プラットホーム</span></h3>
<p>公式のPythonはそもそもエディタオンリーのため、モバイルでは動かない。</p>
<p>UnrealEnginePython、Unreal.jsに関してはAndroidのサポートの記載がある。</p>
<h3><span id="toc6">ランタイム実行</span></h3>
<p>公式のPythonはエディタ上でのみ使用可能。つまりPythonでゲームを作ることはできない。</p>
<p>UnrealEnginePython、Unreal.jsはランタイム実行に対応。つまり、PythonやJavaScriptでゲームを作れる。</p>
<h3><span id="toc7">エディタ実行</span></h3>
<p>どのプラグインもエディタ上で実行可能。エディタのマクロやバッチ処理的なことができる。</p>
<h3><span id="toc8">GUI付エディタ拡張</span></h3>
<p>専用のUIを持った、ツール的なエディタ拡張ができるかどうか。<br />
公式のPythonは将来的には対応予定があるらしいができない。<br />
UnrealEnginePython、Unreal.jsは可能。複数のサンプルあり。</p>
<h3><span id="toc9">専用コンソール</span></h3>
<p>インラインでスクリプトが実行できる専用のコンソールがあるかどうか。どのプラグインも用意されている。</p>
<ul>
<li>公式Pythonは標準のOutput Logコンソールを切り替えることで専用コンソールになる</li>
<li>Unreal.jsのJavaScriptコンソールはAPIの補完機能がある</li>
<li>UnrealEnginePythonは専用のテキストエディタさえもある</li>
</ul>
<h2><span id="toc10">まとめ</span></h2>
<ul>
<li>公式のPythonは導入が簡単</li>
<li>公式のPythonはPython2系統で将来性に不安</li>
<li>公式のPythonはエディタ実行のみ</li>
<li>公式のPythonは（まだ）GUIのあるエディタ拡張が作れない</li>
</ul>
<h3><span id="toc11">おまけ：APIの比較</span></h3>
<p>膨大になってしまうので詳細な比較は避けるがざっと見た感じの差。</p>
<ul>
<li>公式のPythonはローカライズの機能がある
<ul>
<li>Unreal.jsはローカライズの機能にアクセスするのは難しい</li>
</ul>
</li>
<li>UnrealEnginePythonはSlateにアクセスするAPIが充実している
<ul>
<li>Unreal.jsもSlateへアクセスできるが間接的/部分的なAPIになっている</li>
</ul>
</li>
<li>Unreal.jsはBlueprintと相互に連携できる
<ul>
<li>UnrealEnginePythonはBP -> Pythonができるかどうか不明</li>
<li>公式Pythonは両方向とも不明</li>
</ul>
</li>
</ul>
<div class="footnotes" role="doc-endnotes">
<hr />
<ol>
<li id="fn-404-1" role="doc-endnote">
&#8220;Python Editor Scrtipt Plugin&#8221;が正式名称。&#160;<a href="#fnref-404-1" class="footnote-backref" role="doc-backlink">&#8617;&#xFE0E;</a>
</li>
</ol>
</div>
]]></content:encoded>
					
					<wfw:commentRss>https://conquestarrow.com/compare-ue4-plugin-python-js/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
