2014年3月27日木曜日

【驚愕】FacebookのOculus VR社買収であちこち炎上!創業者はどう語る??


Palmer Luckey氏が創業したOculus VR社がFacebookに20億ドルで買収された!!!



これによりあちらこちらでネガティブ意見で炎上が進んだ様子。


  • 何でFacebook? 追跡ヤダーーーー
  • ゲームのユーザ層と違うよね?米国は10代がFacebook離れしてんのにマジ?
  • 何で買収?ロードマップ変わっちゃうの??

至極もっともな疑問が上の3つに集約されるのだが、Palmer氏は忙しいなかでコメントを丁寧に返す方針としたようだ。

まあ、正直なところ3/26時点で公表できる範囲が少ないためか、十分な回答とは現時点ではいえないところもあるが、ファンでなくとも一読はしておきたい内容。

冷静にPalmer氏の話を聞いてあげたいぜ!!!

-----------------
原文


(Palmer Luckey - 日本時間 3/26 8時)

私はずっとゲームが好きでした。素晴らしい世界は旅立つ入り口となってたんです。バーチャルリアリティに突入したのはゲームに新体験を持ち込むことが目的でした。これらの世界に入り口があるだけでなく、その世界に没入することでした。時間がたつにつれて、VR技術は実現可能なものというだけでなくてコンシューマに普及する段階にあと少しだということもわかりました。最後の詰めを正しく行えば良いという状況なのです。

Oculus VR を始めたときは VR を手頃な価格で利用しやすいものにして、過去なかった体験をしてもらうというビジョンでした。信じられないくらいのコミュニティによる強烈なサポートによって 75,000 台の注文を開発者向けキットをゲーム開発者、コンテンツ製作者、そして世界中のアーティストから受けています。Facebook社がアプローチをしてきてパートナーになろうと持ちかけたとき懐疑的でした。さらに相手の会社のこと、それからビジョンについて知ったうえでマーク・ザッカーバーグ氏と話したら、パートナーとなることが意義あることだと分かっただけでなく、すべての人にバーチャルリアリティを提供するための明確で揺るぎない方向性であることが分かったのです。Facebookが創業したときのビジョンは世界中をつなげることでした。バーチャルリアリティは過去になかった方法で他人と体験を共有できるメディアなのです。

FacebookはOculusと同じようなカルチャーで運営されています。この十年でマーク・ザッカーバーグ氏とFacebookはオープン化されたソフトウェアとハードウェアでの覇者でした。テクノロジーの業界全体に革新を推し進めてきた功績があります。Facebookが成長するにつれオープン・コンピュート・プロジェクトなどに投資をしてきて、主目的はコンピューティング基盤を業界全体に渡って革新させてコストダウンを推し進めることでした。将来が有望な集団です。

最後まで思い悩んだことはOculus社の皆がいつも自問自答してきたことです。「バーチャルリアリティの未来にとってベストな選択は何だろうか?」ということです。マーク・ザッカーバーグ氏とFacebookとパートナーシップを組むことは、ユニークで強烈なチャンスでした。パートナーシップによりビジョンの推進は加速するし創造的なアイデアを実行に移すことが出来たり、かつては踏み込むことの出来なかったリスクにも挑戦できる意味があったのです。もっとも重要なことはOculus Riftをより良くするとともに妥協をしないといけない場面をなくすということだったのです。

Oculusの日々の作業への影響はきわめて小さいものです。一方で資金に頼ることで適切なチーム体制を組むことも出来ます。もしコンピュータ グラフィックス、入力処理、音声の難問に一緒に挑戦してもらえるなら是非とも仲間になってほしい!

これはゲーム業界にとって特別な瞬間です。Oculusの未来が予測不能なものから確約された未来へと変化しました。バーチャルリアリティは実現するし、永久にゲーム体験をかつてないほど変革するものなのです。

VRにとにかく没頭しています。毎日先へ進もうと時間を費やしているし、明日はどうなるか夢を見ない日がありません。その夢のなかでも、まさか今日のような日がこんなに早く来るとは想像だにしてませんでした。

このコミュニティの一員であったことを誇りにおもいます。バーチャルリアリティとゲームをここまで支えてきた皆様の尽力と、ここまで私たちを信じてきてくれたことに感謝します。

皆様の期待に必ず応える覚悟でいます。

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 9時)
え?Palmer氏たしかDK1のローンチのときに売却しないって言ってたよね?企業としての誠実さを疑うし、VRを正しく展開するなら、Facebookみたいな会社に売却しないよね。大体テクノロジー業界なら他にもいるじゃない?ActivisionとかEAならイメージ良かったのにな。

(Palmer Luckey - 日本時間 3/26 9時)
過去にはさまざまな方面から興味を持たれてました。でもコンタクトしてきた人たちは自分たちをバラバラに引き裂くであろう人であったし、その人の仕事をさせられる、というような目的で来ていました。そんな話には全く興味がないし、いくら提示されたとしても説得されるつもりはなかったです。

Facebookにより資源を膨大に活用することが出来るようになる。それでいてビジョンを変えずに活動をさせてくれる。

過去に何度もあきらめたことが、今回の案件によって実現できる状況に変わるのです。

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 9時)
何かコメントを擁護する人はゲームに集中できるからって言っているよね。でも同じ口で企業を売却しないって話も信じてただろうけど、ほれみたことかって感じだね。

(Palmer Luckey - 日本時間 3/26 9時)
過去と同様にゲームに注力していきますよ!ゲーム以外の取り組みにも多くの人が関わる予定だけど(映画、教育、コミュニケーション分野など)、芯にあるのはゲーマーであるという気持ちです。ゲームに関わるスタッフを配置換えするつもりはないです(むしろ、ゲームに関わるスタッフは大きく、大きく拡大の予定!また言えないけど正式な発表を待ってくださいね)。

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 9時)
結局ムカつくことがあるんだよね。ザッカーバーグはValveのプロトタイプをみて買う決断したことだよ。これは善意でFacebookに提供されたものだし、たぶん社内モデルで最も最新版を試したんだろうよ。

(Palmer Luckey - 日本時間 3/26 9時)
(Facebook社が)VRを買収する判断をしたのは私たちのハードウェアを見てからです。驚異的なモデルを私たち自身も持っているし、Facebookのような大企業を騙ます、なんてことは私たちに出来るはずがないですよ!

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 9時)
「バーチャルリアリティの未来にとってベストな選択は何だろうか?」ということです。マーク・ザッカーバーグ氏とFacebookとパートナーシップを組むことは、ユニークで強烈なチャンスでした。パートナーシップによりビジョンの推進は加速するし創造的なアイデアを実行に移すことが出来たり、かつては踏み込むことの出来なかったリスクにも挑戦できる意味があったのです。もっとも重要なことはOculus Riftをより良くするとともに妥協をしないといけない場面をなくすということだったのです。

パートナーシップと買収は違うよね

(Palmer Luckey - 日本時間 3/26 9時)
買収ですが、独立運営ができます。将来進んでいく中での関係性はむしろパートナーシップのようなものが近いです。

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 9時)
(スターウォーズになぞらえて)選ばれしものなんですよ!シスを倒すべきであって仲間になるべきじゃないよ!フォースと共にあらんことを。ダークサイドに転向してはダメです。


(Palmer Luckey - 日本時間 3/26 9時)
(スターウォーズになぞらえて)アナキンは苦しい時期があったけど、フォースを取り戻しましたよ!


今回の売却によりバーチャルリアリティは実りあるものになります。何者にも止めることは出来ないし、近い将来に見せつけることの出来る「凄ぇもの」は出てきます。
信念を持ってください!

(redditユーザ - 日本時間 3/26 9時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 11時)
Palmerさん、筋金入りのファンとして、またKickstarter初日からのサポーターとしてこの発表にガッカリしています。あなたの反応についても同じです。書かれている返答では多くの人が持っている疑問は解消されてないし、本当の質問をさけてPRを繰り返して誤魔化しているだけです。皆が思っている主な問題に答えられていないのです。例えば:

  • Facebookはしつこいユーザ追跡で悪名高いです。広告に極端に力を入れていること、ログイン状態の表示とか、リアルな個人情報へのリンクなども言うまでもないです。Oculusの強みは(Sonyと比べたとき、等)、PCプラットフォームの使用で開発者にとって自由度があることです。どうやってOculus Riftが「商業化されない」ことを保証するつもりですか?例えばゲームの広告、実行アプリケーションやプログラムの追跡、Oculus Riftからインディーズ開発者を守って個人情報がフェイスブックに売却されたり、マーケティング利用されたり、譲渡されたりすることを防止するんですか?
  • Facebookは間違いなく大企業です。現在は多くの10代の若者離れが進んでいて、理由はより年をとった人たちが使うようになったからです。Oculus Riftは間違いなくゲームユーザが主要なターゲットであり、10代から20代の前半です。まさにFacebook離れが進んでいるところですよ。FacebookをパートナーにすることでOculus Riftがターゲット層としてない膨大なユーザが顧客層となります。これを皆さんがまずいんじゃないか、と言っているわけですよ。もっというと、Oculus Riftに積極的に反対するである人がターゲットになる現実があって、結局のところテクノロジーやゲームに対する捉え方が否定的なんですよ。Oculus Riftは大丈夫なんですか?
  • Oculus社がFacebookにより買収されたのであり、パートナーシップ(共同出資)ではないんです。投稿をみてるとパートナーシップを連呼していて、Oculus Riftを扱う自由度が確保されているかのように書かれています。しかしウェブ上では買収であるとの情報が出ており、20億ドルという価格からみて正しいことも明らかです。私たちが恐れていることは、OculusがFacebookとパートナーシップを組むこと、ではなくてFacebookに売却することであなたがOculusに対する発言権を失うことなんです。私がこれまでOculusを支援してきたのは、他でもないPalmer氏、あなたのゴールやビジョンを信じてきたことです。しかし、Facebookにより買収されて創業した企業に対する指揮ができない以上、どうやってあなたはOculus社が過去のゴールを追及し続けることを保証するんですか?


ネガティブな意見で炎上してるのでコメントはしてもらえないとおもいます。だけど、ファンを大量に失いたくないのであれば、早くに回答をもらえることを期待しています。

(Palmer Luckey - 日本時間 3/26 14時)
あなたを失望をさせたことをお詫びします。正直にいって、あなたの立場ならば同じような初印象を持っただろうと想像します!これが良い話である理由は多くあるのですが、まだ公開されていません。あなたと同じことを感じている人がいる以上、回答をさせていただきます。
Oculusの強みは(Sonyと比べたとき、等)、PCプラットフォームの使用で開発者にとって自由度があることです。

ここは何も変わりません。Oculusは独立運営を続けますよ!インディーズ、開発者、熱狂ファン、どれに対しても親身に接する姿勢は維持、むしり向上します。契約により開発関係技術サポート、エンジン、コンテンツ投資、パブリッシュ、セールスのプラットフォームに大量に資源配分できます。あなた方を追跡することはしないし、Flash広告もなしだし、プライバシー侵害することはしません。

Oculus Riftは間違いなくゲームユーザが主要なターゲットであり、10代から20代の前半です。まさにFacebook離れが進んでいるところですよ。FacebookをパートナーにすることでOculus Riftがターゲット層としてない膨大なユーザが顧客層となります。これを皆さんがまずいんじゃないか、と言っているわけですよ。

Oculus社はほぼ全員がゲーマーです。バーチャルリアリティは間違いなくゲーム業界により牽引されるし、大きな理由はインタラクティブな3D環境を構築できるノウハウがある唯一の業界だからです。長い目でみるとVRを重厚長大に使用する他の業界は出てきて、ゲーマーに限ったものでない手法をとるでしょう。いま、ゲームに関して注力しているという事実はVRの現在の状況によるものであり、将来的なポテンシャルに関するものではありません。教育、コミュニケーション、トレーニング、リハビリテーション、ゲーム、映画の業界はすべてVRで主要な推進要因となり幅広い層にいつか到達します。ソーシャルメディアユーザをターゲットとしておらず、VRを使用する意味がある人をターゲットにしていきます。

私たちが恐れていることは、OculusがFacebookとパートナーシップを組むこと、ではなくてFacebookに売却することでOculusに遅対する発言権を失うことなんです。私がこれまでOculusを支援してきたのは、他でもないPalmer氏、あなたのゴールやビジョンを信じてきたことです。

この買収・パートナーシップによって最終的な行き先に到達しやすくなるものです。決してマイナスに働くものではありません!これまでのように妥協しないといけない場面はなくなるし、バーチャルリアリティの未来にとって正しい判断をするのであり、収益のために何かをするわけではありません。忘れないでほしいのはOculusに強力に投資をしている優れたパートナーがすでにあることと、それがなければ私たちがここまで来ることはなかったことです。長らくの間、自分たちがやりたいことを管理できない状況が続いてきました。Facebookは私たちの長期ビジョンを信じてくれてますし、私たちがやることを管理するのでなく、継続的に私たちが描いたロードマップに沿っていくことを望んでいます。方向性を変えることになるなら、この契約は結ばなかったし、Facebookは過去から買収した企業に独立運営させてきた実績があります。


良いニュースはたくさんあります。今は忙しさに忙殺されてますが、皆様の懸念は解消したいと考えてます。どうして素晴らしいことなのか、全体像が明らかにできるタイミングでは皆が信じてくれると考えています。

(redditユーザ - 日本時間 3/26 20時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 20時)
Palmer Luckey氏およびJohn Carmack氏よりも発言権を得る人がいるなら、もういいです。二人がトップであり、消費者だけをみてくれた。

(Palmer Luckey - 日本時間 3/26 20時)
Kickstarter以来、人の期待に応え続ける必要がありました。また投資パートナーから二回に渡って必要な人材を採用するときもその姿勢は続けてます。この契約により正しい判断をする自由度が増すのであり、決して減るものではありません。

Facebookは過去から買収した企業に独立運営させてきた実績がありますし、私たちも一緒です。これは信じてほしい、これがなかったら契約は絶対にしていない。

(redditユーザ - 日本時間 3/26 20時)
Facebookがオープン化されたソフトウェア、ハードウェアの覇者?えぇぇ?・・・あなたの情熱的な応対もなくなるだろうし、Oculusはコミュニティを見放すだろうし、FacebookはOculus Riftを使ってデータを収集してスパイするんだろうよ。悲観主義すぎるのかもしれないけど、ハッピーエンドとおもえない。

正直ガッカリしているよ。


(Palmer Luckey - 日本時間 3/26 20時)

間違いなくFacebookはオープン化されたソフトウェア、ハードウェアの覇者ですよ。



コミュニティとの関係は変わらないし、誰もスパイなんかしない。あなたが言うとおりになれば文句はいってもらってかまわない。だけど何も変わらない、という約束は必ず守るつもりです。



(redditユーザ - 日本時間 3/26 21時)
~いくつかのコメントを省略~



(Palmer Luckey - 日本時間 3/26 20時)
Facebookからみたらデータ収集はどうなるんでしょう?Oculusを早くから使ってきたユーザも使うたびに米国家安全保障局(NSA)のようなスパイ対策を考えないといけないの?

何も変わりません。マーク・ザッカーバーグ氏がNSA監視に公の場で反対意見を述べたことを認識すべきです。

ベンチャーキャピタルが7500万から1億ドルあったはずですが、その金額でCV1を市場に出せないんですか?

コンシューマ向け製品を市場に出せても、本当に私たちが出荷したいものではないです。この契約によりウィッシュリストに載せていたようなたくさんの計画は加速するし、結果として得られるハードウェアは品質があがり、「価格も下がります」。カスタムのハードウェアを作成する資源が確保できたので、スマートフォン業界のスクラップから始める必要はもうありません。まだ公開できない情報はたくさんあるので、信じてほしいですが、時間の経過とともにすべては明らかになります。

どうしてOculus VR社は実際の商品が棚に並ぶ前に、評判を落とすリスクをとるのですか?

長期的にみてバーチャルリアリティにとって最良の方向性だからです。短期的にも中心的だったサポーターにとっても最良の方法です。これまで同様にコミュニティに注力します。短期的な利益や投資家への配当に悩まされずに正しい判断が出来ます。

(redditユーザ - 日本時間 3/26 22時)
~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 22時)
結局FacebookログインしないとOculus使えないサービスにされちゃんでしょ?

(Palmer Luckey - 日本時間 3/26 20時)

いいえ、それは明らかにダメでしょう。

(redditユーザ - 日本時間 3/26 22時)


~いくつかのコメントを省略~

(redditユーザ - 日本時間 3/26 22時)
>この十年でマーク・ザッカーバーグ氏とFacebookはオープン化されたソフトウェアとハードウェア
>での覇者でした。

これは本当ですか?反対だとおもうのですが。

(Palmer Luckey - 日本時間 3/26 20時)


間違いありません。Facebookはオープン化されたソフトウェアとハードウェアでよい実績をもっていて、私たちにとっても良い話です。私たちのハードウェアとソフトウェアも現在よりもオープン化したいし、そうすることでより魅力的になります。

(redditユーザ - 日本時間 3/26 22時)
Facebookに結果を示す必要が出てきました。Facebookが独立運営を認めているかどうかとか、その他のPRは興味ないよ。 Facebookとの契約の中に、Oculus社が条件を満たした場合の追加融資があると聞いています。Facebookにより定義されたマイルストーンをクリアしないといけないのは悪い話に聞こえます。

(Palmer Luckey - 日本時間 3/26 22時)
マイルストーンは私たちが定義したものです。過去のプランに沿ったものと一致しています。

(redditユーザ - 日本時間 3/26 22時)


~いくつかのコメントを省略~

(Palmer Luckey - 日本時間 3/26 22時)
この契約によりOculus Riftの価格を大幅に押し下げることが出来ます。

(redditユーザ - 日本時間 3/26 22時)
言いたいことが理解できました。引き続きコミュニティを鼓舞して下さいね。決して友好的な状況でありませんが、最悪の事態はコミュニティとの関係を断つことです。契約に伴って、皆があなたがいなくなることを心配しているんです。 初印象は良くなかったのですが、好転することを期待しています。 幸運を祈ります。


(Palmer Luckey - 日本時間 3/26 22時)
有難うございます!皆との関係はそのまま維持します。長期的にはほとんどの人がこれが良い話であることを理解してくれることを100%確信しています!


-------

さて、疑問は十分解けましたか?

2014年3月25日火曜日

GDC期間中のROAD TO VR記事が膨大!!!、、、なのでメモ


GDC期間中のROAD TO VR記事が膨大で本当にビックリ!

ROAD TO VRサイト(www.roadtovr.com)からタイトル記事名だけ列挙してメモさせていただくことにした:


早ければ 6 月にソニーの Project Morpheus 開発キットを発送予定 
March 23, 2014 by Ben Lang


Sightline IndieGogo キャンペーンを 3月24日 0:01 GMT からローンチ
March 22, 2014 by Paul James


GDC 2014 インタビュー動画 - Cloudhead Games による新デモおよびデザイン革新
March 22, 2014 by Cymatic Bruce


REV VR ポッドキャス – 53話: GDC 2014 最終日とベン・ラング氏によるまとめ
March 22, 2014 by Reverend Kyle

ソニーの Morpheus プレゼンテーションにおける Oculus Rift のイースターエッグ
March 22, 2014 by Ben Lang


GDC 2014: Oculus Rift DK2 カウチ ナイトを遊んだ感触と印象(動画付き)
March 22, 2014 by Paul James


Condition One が  Zero Point により VR シネマの世界への扉を開く
March 22, 2014 by Ben Lang

GDC 2014: ソニーの Project Morpheus PS4 ヘッドセットによる「ザ・キャッスル」ゲームプレイ動画
March 21, 2014 by Paul James

GDC 2014: ソニーの Project Morpheus に実際に触れる
March 20, 2014 by Brian Hart

GDC 2014: Oculus VR イベント - VR ゲームの開発および体験 ライブ ブログ (21:30 GMT)
March 20, 2014 by Paul James

GDC 2014: Oculus VR ブースのウォークスルー
March 20, 2014 by Cymatic Bruce

GDC 2014: ソニーの Project Morpheus PS4 ヘッドセットの「ザ・ディープ」ゲームプレイ動画
March 20, 2014 by Paul James

ソニーの Project Morpheus について考える
March 20, 2014 by Ben Lang

REV VR ポッドキャスト – 52話: ベン・ラング氏とサイマティック・ブルース氏による GDC2014 の取材
March 20, 2014 by Reverend Kyle

GDC 2014: ソニー イベント 「プレイステーション 4 で独特のインタラクティブ体験を創る」ライブ ブログ
March 19, 2014 by Paul James

2014年3月15日土曜日

Esenthelドキュメント(非公式翻訳)



このドキュメントは有志により2014年3月の時点で翻訳されたもので、オフィシャルではありません。オリジナルのページはhttp://esenthel.com/?id=doc#Welcomeを参照して下さい。
This document is unofficially translated by users as of 2014/3. Please refer to the original document here: http://esenthel.com/?id=doc#Welcome
Copyright  ©  Grzegorz Ṥlaziński. All Rights Reserved.

Esenthel エンジン ドキュメント

ようこそ!
Esenthel エンジン ドキュメントへようこそ。ここではエンジンを使用するために便利なリソースが見つかります。
インストール、使用方法、ゲームのパブリッシュなどカバーしています。
これで疑問点が解消されない場合フォーラムで問い合わせして下さい。

目次

インストール

ライセンス


Esenthel Engine License
Copyright © Grzegorz Ṥlaziński. All Rights Reserved.

Esenthel エンジンは商用でない場合は無料で利用できます。
Esenthel エンジンは商用である場合は有料でありライセンスの購入が必要です。
Esenthel エンジンを使用するアプリケーションは、アプリケーションのウェブサイトトップページにあるEsenthel ロゴ(http://www.esenthel.com/へリンクする)をアプリケーション含める必要があります。
フルライセンスに関する情報はEsenthelストアで提供しています。

Esenthelユーザは多くのサードパーティライブラリを使用していて無料で使用できます。
Nvidia PhysX のみEULAが存在するため良く読んで下さい。

※サードパーティ ライセンスの詳細は原文で確認して下さい。

ハードウェア要件

Windows
・Windows XP 以降、32/64 ビット対応
・シェーダモデル 2.0 対応のビデオカード(GeForce 6, Radeon 9500, Intel GMA 900以降)
・SSE2 対応 CPU

Mac
・64 ビット Intel Mac OS X Leopard(10.5)以降
・シェーダモデル 2.0 対応のビデオカード(GeForce 6, Radeon 9500, Intel GMA 900以降)

Linux
・64 ビット Linux OS
・シェーダモデル 2.0 対応のビデオカード(GeForce 6, Radeon 9500, Intel GMA 900以降)

Android
・Android 2.3 以降、OpenGL ES 2.0 対応のデバイス

iOS
・iPhone 3GS, iPad 1, iPod Touch 3G 以降

ウェブ
・Chrome, Firefox, Opera (Internet Explorer は現時点で未対応)

インストール


システムファイル
Windows
Windows ではエンジンのインストール前に次を確認:
・最新のビデオ ドライバー(Nvidia GeForce | AMD Radeon | Intel
・最新の Direct X

Linux
Linux ではエンジンのインストール前にいくつかのシステム ライブラリのインストールが必要:
次のコマンドをターミナルから実行:
sudo apt-get install libxmu-dev libxi-dev libxinerama-dev libxcursor-dev libudev-dev libopenal-dev unixodbc-dev lib32z1 lib32stdc++6 nvidia-cg-toolkit

Esenthel エンジン
Esenthel エンジンは Esenthel ストアから無料でダウンロードできる
  1. 希望バージョンの Esenthel エンジンを一覧から選択する
  2. Download ボタンをクリックして利用可能なファイルを表示Esenthel Download.png
  3. OS に合わせたバージョンを選択
  4. インストーラを保存するか、実行可能ファイルをそのまま実行
  5. インストーラ上でエンジンのインストール先を入力、次の例を参考にする
Windows - "C:\Esenthel"
Mac - "/users/*/Esenthel"
Linux - "/home/*/Esenthel"
  1. OK ボタンを押下し、インストーラがファイルのダウンロードを開始
  2. インストール完了時にエンジン起動のショートカットアイコンをデスクトップ上に作成

ビデオチュートリアル

ライセンスキー

Esenthelエンジン エディタは席数ベースでありライセンスキーを使用する。
Esenthelエンジンを購入すると、1 つのライセンスキーを受け取る。
1 つのライセンスキーを使用してエディタのインスタンスを同時に 1 つ起動できる。
複数のインスタンスのエディタを同時に起動するには、複数のライセンスキーが必要となる。
しかし 1 つのライセンスキーを複数のコンピュータで使用することは可能だが、同時には使用できない。

例をあげると
  1. ライセンスキーによりWindows 機で開発をする
  2. プロジェクトを別のコンピュータ(例えば Mac)と複製/同期
  3. 同じライセンスキーで新たなコンピュータ上でエディタを実行
  4. 新たなコンピュータ上でエディタはライセンスキーを紐付けるように促される
  5. 新たなコンピュータとライセンスキーを紐付けた後、エディタが使用できるようになる

ライセンスキーは同時に紐付けられるコンピュータは 1 台。
Esenthel ストアからライセンスキーを別のコンピュータに紐付けできる。
紐付けを変更することはエディタが必要なときに促す仕組みであるため、自ら変更する必要はない。

コンパイラ

コードをコンパイルするため、 C++ コンパイラのインストールが必要
Esenthel エンジンは次の複数のコンパイラに対応:

Windows
Microsoft Visual Studio 2008-2013.
推奨は Visual Studio 2008 、他のバージョンよりも高速にコンパイルされる。
最新バージョンは次のリンクからダウンロードでいる。複数バージョンあり、Windows、Windows デスクトップのうち後者を選ぶこと。

Mac、iOS

Linux
LinuxはOSにコンパイラが組み込まれているが、デバッグ機能を使用するには NetBeans IDE のインストールが必要

Android
Android アプリケーションの作成は Windows, Mac, Linux 上でサポートされている。

選択したプラットフォーム上で次のプログラムのインストールが必要
  1. Java SE Development Kit (JDK)
  2. Google Android SDK
  3. Google Android NDK

Java SE Development Kit (JDK) のインストール
Java SE ダウンロードから java Platform (JDK) のリンクをクリック
OS に合わせたバージョンを選択(x86 は32 ビット OS 向け、 x64 は64 ビット OS 向け)JDK Download.png
インストール時に不要となる Demos and Samples と Source Code のチェックを外す。JDK Install.png
Android SDK のインストール

Android SDK ページへ移動する。
Download the SDK ADT Bundle ボタンはクリックしない
"USE AN EXISTING IDE" フィールドをクリックしてその先にある "Download the SDK Tools" をクリック。AndroidSDK Download.jpg
インストールした後、Android SDK から "SDK Manager" アプリケーションを実行し、インストールパッケージは次のとおりとする:
Tools
Android SDK Tools
Android SDK Platform-tools
Android SDK Build-tools
Android 2.3.3 (API 10)
SDK Platform
Intel x86 Atom System Image
Extras
Google AdMob Ads SDK
Google Play Billing Library
Google Play Licensing Library
Google USB Driver
Intel x86 Emulator Accelerator
2.3.3 SDK のみ選択する。他のバージョンは Esenthel で対応していない。
もし 2.3.3 SDK を使用して開発すると Android 2.3 以降のデバイスでアプリケーションを実行できる。
Anrdoid OS バージョンのシェアはリンク先のとおり。AndroidSDK Install.png
"Install Packages" ボタンをクリックし、新規ウィンドウで "Accept All" ラジオボタンを選択してすべてのパッケージのライセンスで Accept とし、Install をクリック。
SDK Manager がパッケージのダウンロードを開始する("'adb kill-server' failed -- run manually if necessary." というエラーが出る場合があるが、無視できる)AndroidSDK Accept.png

Android NDK
Android NDKをダウンロードしてディスクにアーカイブを保存できる。AndroidNDK Download.png

Android デバイスを開発向けに設定する
・Android デバイスを USB ケーブルで接続
・Googld ドキュメントにしたがって、Anrdoid デバイス向けの USB ドライバをインストールする(いくつかのデバイスではドライバのインストールは不要)
・Android 4.2 以降、デバイス上で「開発者向けオプション」を有効にする必要がある
 ・「設定」を開き「端末情報」(または「タブレット情報」)タブに移動
 ・「ビルド番号」を 7 回クリックで「開発者向けオプション」が画面表示される
 ・「開発者向けオプション」が設定に表示される
・「開発者向けオプション」をON にした後「USB デバッグ」オプションを有効化するAndroid Developer.jpg

ウェブ
ウェブ向けアプリケーションの作成は Windows でサポートされる。
Emscripten をダウンロード、インストール(Web または Full Installer を選択することでパスが自動セットされる。Portable は選択しない)
Emscripten は C++ コードを JavaScript に変換するテクノロジーである。
Emscripten をインストールした後は、 Esenthel Editor で "Web JS" ビルドプラットフォームを指定し、ウェブ向けのアプリケーションが作成できる。

マウス

Esenthel エディタはマウスの追加ボタンを有効活用するため、 5 ボタンマウスがあるとエディタ上でとても便利である。

Logitech G700S.jpg

ロジテック G700S マウス

エディタには、マウスボタンに割り当てたショートカットがある:
・左クリック-選択
・右クリック-コンテキストメニュー/選択オブジェクトの移動
・中クリック-カーソル下のウィンドウを閉じる/カメラの回転
・4 ボタンクリック-カメラの移動
・5 ボタンクリック-カメラの回転

カメラの回転は 2つ ボタンに割り当てられている。中ボタン-追加ボタンがない場合、5 ボタン-追加ボタンがあり、中ボタンをホイール使用に主に活用する場合

基本

チュートリアルの使用


プロジェクトリスト

Esenthiel Editor をインストールして開いた後 Tutorials プロジェクトを含んだ Project List スクリーンが表示される。

アイテム上でマウスオーバーした後、実際のフォルダ名を参照することが出来る。(これを覚えておくと後あとで便利である。)Esenthel Tutorials.png

プロジェクトコンテンツ

プロジェクトを開いた後、Project Elements と呼ばれるコンテンツが参照出来る。
具体的には
folder_blue.pngアプリケーション
file.pngソースコード
・その他のアセット

アプリケーションの隣のチェックボックスにより、現在アクティブであるか示す。(一度にアクティブに出来るのは一つのみ。)
Tutorials プロジェクトには様々なゲーム開発トピックをカバーする 100 以上のアプリケーションが含まれる。Esenthel Tutorials Opened.png

アプリケーションの開始
"1 - Basic App" という名前のアプリケーションのチュートリアルを始めてみましょう。
デフォルトでアクティブになっていて(隣にあるチェックボックスが有効)、設定変更の必要がない。
次に画面の下にあるPlayボタンPlay.pngをクリックする。
もしC++ コンパイラをインストールしてない場合、アクションは失敗します。そうでない場合はアプリケーションが無事に開始する。

チュートリアルをひと通りみておくことを強く推奨する。ソースコードを眺めて、試しに変更してみるなどすることで多くのことが学べる。Basic App.png

ビデオチュートリアル

アセットのインポート

Esenthel エンジンでアセットをインポートするにはプロジェクト領域でファイルをドラッグ&ドロップする。Project Element Import.png

新規のプロジェクト エレメントが自動的に作成される。開くにはダブルクリックする。Project Element Image.png

プロパティを参照するには右クリックをして Properties を選択する。Project Element Properties.png

エレメントの修正
エレメントの修正をしたい場合、元のファイルから修正する場合も、あるいは別のファイルから修正をする(エレメントの ID を保持)場合のいずれでもエレメントを右クリックして Reloadを選択する。
オプションとしては、別のソースファイルを選択してYesを選択しする。Project Element Reload.png

エレメントの作成
新規のエレメントを空で作成する場合、プロジェクトの任意の場所で右クリックしてNewを選択する。

手動で作成したオブジェクトも他のファイルから修正できる。Reloadを選んで修正するためのソースファイルを選ぶ。Project Element New.png

アセットの種類
様々なアセットの種類をインポートする場合の詳細については次のページを参照する:
画像
・3Dモデルとアニメーション
・音声
・動画

プロジェクトにアセットをインポートする場合、エンジンがアセットを自動的に認識して適切なエレメントタイプでインポートされる(例えばJPGファイルは自動で画像エレメントとしてインポートされる)。

エンジンが認識できないファイル形式はローファイル エレメントとしてインポートされます。これは元ファイルを複製したバイナリです。C++のFileクラスを通じてアクセスできる。

ビデオ チュートリアル

共同作業での開発


EsenthelエディタはCollaborativeモードでのプロジェクト編集に対応している。
複数の開発者が同じプロジェクトで各々同時に作業を行った変更がリアルタイムで反映される。

共同作業での開発の有効化
サーバーの開始
共同作業での開発を有効化するには専用でサーバーとなるコンピュータを用意する。エンジンをコンピュータにインストールし、Serverアプリケーションを開始する(もしWindows専用サーバーを実行している場合は代わりにServer DX10+.exeのアプリケーションを実行する。これによりGPUがなくハードウェア アクセラレーションに対応していなくともシンプルなグラフィックスを表示できる。)。
アプリケーションによりEsenthelエディタの複数インスタンスの間の通信をハンドリングする。
サーバーは独自のプロジェクトデータをProjects(Server)フォルダに保持する。Esenthel Server.png

サーバーへの接続
サーバーが起動して実行中となった後、エディタに接続できるようになる。
サーバーアドレスをエディタに入力して(Serverウィンドウで表示されているもの)、Eメール、パスワード情報を記入してConnectを押す。Esenthel Server Connect.png

もしUser registration is disabled on this serverというメッセージが表示された場合ServerアプリケーションのUsersタブに遷移してAllow User Registrationボタンを有効化する。
その後はエディタに再び接続できる。Esenthel Server User Registration.png

今度は登録が成功し、新規ユーザがサーバーのユーザ一覧に追加されたことが分かる。
デフォルトで新規ユーザはサーバーのプロジェクトへのアクセスが無効である。有効にするにはユーザの隣にあるAccessをクリックして別のプルダウンに変更する。開発者のデフォルトはNormalである。Esenthel Server User Access.png

プロジェクトの同期
サーバーに接続されるときエディタでプロジェクトを開くたびにサーバーバージョンと自動的に同期されます(接続されている他の開発バージョンと同期されます)。
画面の下部にあるOnlineフィールドをマウスオーバーすることでこのプロセスに関連した統計情報をプレビュー出来る。Esenthel Server Stats.png

同期の仕組み
プロジェクト エレメントまたはそのプロパティを変更する度に、値を変更するだけでなく現在の標準時刻のタイムスタンプの値をセットする。

例えば二人の開発者がマテリアルのColorプロパティを修正したとします。2000/1/1に色を赤にして別の開発者が2000/1/8に緑にしたとします。ServerがColorプロパティを同期した場合、新しいタイムスタンプの緑の値となります。

コードの同期
全てのプロジェクト エレメントは自動的に同期されるように設計されています(画像、マテリアル、オブジェクト、ワールドでさえ)。唯一の例外はコードおよび幾つかのアプリケーションのプロパティです(例えばディレクトリ、ヘッダー、ライブラリ等)。
コードを同期する方法については次のトピックを参照して下さい。

ビデオチュートリアル

単位系

次の表に Esenthel エンジンのデフォルトの単位を整理した:

種類
単位
画面座標
3D座標
メートル
角度
ラジアン
時間(Float)
時間(Integer)
ミリ秒(1秒=1000ミリ秒)
速度
メートル/秒
角速度
ラジアン/秒

パフォーマンス最適化

アプリケーションのパフォーマンスを向上させるために推奨する検討ポイントは次のとおりである:
画像は圧縮形式にする(ファイルサイズは小さくなり、ロード時間が短縮され、品質は若干落ちる)
・視野角を可能な限り小さくする(レンダリング オブジェクトの数を減少し、方向性ライト シャドウの品質を向上させる)
・コーン ライトを優先して使用する(速い順から、ライトコーン、範囲の狭いポイントライト(中ではLightSqrが最速)、通常のポイントライト(LightPoint))
・ライト レンジを可能な限り小さくする(影響するオブジェクト数が減少し、シャドウ品質が向上する)
・キー ライトのみシャドウを有効化する
・キー オブジェクトのみシャドウを投影する
・Level of Detail (LOD) はメッシュのみで使用する。LOD は少なくとも 2 つにする(最初の LOD は常により複雑なシェーダであるテッセレーション、高低マッピング、ディーテール等を使用する。他の LOD では無効化されているが、これは 1 つの LOD では簡易なシェーダのメリットが少ないことを意味する)。
・アプリケーションのアップデートのとき動的メモリ割り当てを避ける(ヒープ/スタック/事前割り当てメモリを可能な限り使用する)
・メッシュ マテリアルで環境光の設定を避ける。環境光がメッシュがディファード レンダラで追加のレンダリングを必要とするためです。
・メッシュは可能な限り少ないマテリアル数とする。理想的にはメッシュごとにマテリアルが 1 つだけとする(レンダリングが高速となる)。
・ゲームをパブリッシュする際、データファイルが Pak ファイルに格納されるようにする(デフォルト設定)。ロード時間が短縮され、自動的なデータ暗号化/圧縮の選択肢ができる。
・ゲームをパブリッシュする際、 APP_AUTO_FREE_OPEN_GL_ES_DATA and APP_AUTO_FREE_PHYS_BODY_HELPER_DATA のアプリケーション フラグを有効化してメモリ使用量を抑える
・OGG 音声は WAV 音声より遅い。これは OGG 音声でリアルタイム圧縮展開が必要であるためであり、繰り返し再生、特に同時に再生される音声(例えば銃声)は WAV 音声として保存すべきであり、さらに CacheSound 関数も使用を検討すると良い。
・静的オブジェクトは地形 (Terrain) クラスを使用し、草のようなオブジェクトは草 (Grass) クラスを使用します(これらの型でカスタムのクラスを使用しない)。
・アプリケーションをマルチスレッドにする(上級者向け)
・エンジンのコードからディスプレイおよびレンダラ設定を調整する

プロジェクト エレメント

Folder

アイコン:folder.png

フォルダにはプロパティがなく、他の要素の整理をするために格納するだけの役割である。

Enum

Enum は C++ の enum と同様であり、エディタで作成されるため、エディタの他の部分で使用できる。例.オブジェクトのパラメータProject Element Enum.png

コードでの使用方法
Enumをエディタで作成した後、コードで直接使用できる。Project Element Enum in Codes.png

追加データ
エディタで作成した Enum は追加データがある:
・Name
・ID
C++ Enum クラスのおかげで enum の値の実際の Name および ユニークの ID にアクセス出来る。Project Element Enum Class.png

ユニーク ID は enum の値の生存期間では一定である。例えば最初に "WEAPON_KNIFE" を作成した後、 "WEAPON_DAGGER" に名前変更して、さらに再配置して WEAPON_TYPE enum の中で別のインデックスにすると、 ID は同じままとなる。

画像

アイコン:image.png

対応する拡張子:BMP, PNG, JPG, WEBP, TGA, DDS, PSD, ICO
関連クラスと関数: Image, ImagePtr, Images
画像は次のプロパティを持つ:
・Type
 ・Compressed - 画像はエンジンが画像データとターゲット プラットフォームにで自動的に決定する圧縮形式のテクスチャとなる。次の形式のいずれかとなる:DXT1/BC1, DXT3/BC2, DXT5/BC3, ETC1, PVRTC4
 ・Full - 画像は圧縮されず、B8G8R8A8 形式の完全なデータとなる
 ・Alpha - 画像はアルファのみ A8 形式
・Mip Map - 画像はミップマップ生成され、小さなサイズの際にスムーズに描画されるが、ファイルサイズは大きくなる
・Power of 2 - 画像は最も近い 2 のべき乗にリサイズされる(例えば 260x220 画像は 256x256 画像になる)
・Alpha from Luminance - 不透明な画像にスムーズなアルファブレンドをしたい場合に使用。画像のピクセルを調整して不透明度を明度にもとづき設定してカラーチャネルも合わせて変更する。
・Mode
 ・2D Texture - 画像でハードウェア アクセラレーションを使用できる
 ・Cube Texture - 画像はキューブマップとして格納され 6 つの面(前、後、左、右、上、下)を持つ。例えばスカイボックスで使用できる。
 ・Software - 画像はシステムメモリに格納され(ビデオメモリではなく)、CPU のソフトウェア処理をより高速にする

画像アトラス

アイコン:image_atlas.png

関連クラスと関数:ImageAtlas, ImageAtlasPtr, ImageAtlases
画像アトラスはひとつのテクスチャに複数の画像をパックしたものであり 2D スプライト アニメーションに最適である。Project Element Image Atlas.png

作成するには、必要な画像エレメントを画像アトラス ウィンドウ上にドラッグ&ドロップして Create を押下する

自動切り出し
複数のソース画像を一つのテクスチャに複合する場合、透明な境界線はクリッピングされ、より多くの画像が 1 つのテクスチャに収まるようにする。
右上隅の画面で確認が出来るが、元の戦士の画像が表示され、元はグレーまであった矩形が境界線にかなりの透明ピクセルがあり、不透明領域のみ保管するために赤い矩形まで小さくなりより多くの画像が一つのテクスチャに収まっている。

アンカー地点
ソース画像を準備するとき、画像の中心がアンカー地点、すなわちスプライトの場所にあることを推奨する(例ではキャラクターの足の位置)。
右上隅の画面で確認でき、アンカーが緑の十字線の位置としてハイライトされている。

サンプル
いくつかのソース画像と、それを統合したアトラス テクスチャを例示する。

0.png1.png2.png3.png4.png5.pngcombined.png

ソース画像のパブリッシュ
ゲームが元のソース画像なしにアトラスのみ使用する場合、ゲームをパブリッシュする際にソース画像を含めないことを推奨する。
アトラスは必要なデータが含まれているので、ソース画像は不要であので、パブリッシュされない設定にすること

フォント


アイコン:
関連クラスと関数: Font, Fonts

フォントは高速に描画するため、事前にテクスチャにレンダリングした文字リストである。


対応している文字
フォントを作成するとき、対応している文字を指定す。
例えば、 "abc..ABC..123..!@#.." など標準の文字に対応する場合 "Ansi" を選択する。あるいは "aAeEoO.." などドイツ語の文字に対応する場合 "German" を選択する、といった形である。

フォントに含まれない文字を描画をすると ? 記号が表示される。

注意:中国語、日本語、韓国語の文字を含めると数千の文字を必要とするためフォント ファイルのファイルサイズが飛躍的に大きくなる。このような場合フォントの Size パラメータは出来るかぎり低くして Mip Maps に 1 または 2をセットし、 Shadow Blur を出来るかぎり小さくすることを推奨する。

フォントのファイルサイズを確認するにはプロジェクト領域でフォント エレメントを右クリックして Properties を選択する。この時、フォントの処理が完了していることが必要である(エディタを閉じて、フォント エレメントが処理中としてハイライトされてない状態)。

用途
フォントはテキスト スタイルで使用できる。

テキスト スタイル


アイコン:
関連クラスおよび関数: TextStyle, TextStyles

Text Style はテキスト描画を表すパラメータの一覧であり、フォント エレメントで動作する。

Text Styles は Gui オブジェクトで使用できる。

Gui スタイル


アイコン:
関連クラスおよび関数: GuiStyle, GuiStyles

Gui Style は Gui オブジェクトに Gui フレーム/パネルの描画を表すパラメータの一覧である


Gui


アイコン:
関連クラスおよび関数: GuiObjs

Gui は次の要素から構成されるグラフィカル ユーザ インタフェースである:

Button
CheckBox
ComboBox
Custom
Image
ProgressBar
Region
SlideBar
Slider
Tabs
Text
TextLine
Viewport
Window

オブジェクトはスクリーン座標にもとづき配置される。

プログラミング
コードからオブジェクトにアクセスするには最初にエディタで名前をセットし、次に名前でエレメントにアクセスする。

マテリアル


アイコン:
関連クラスおよび関数: Material, MaterialPtr, Materials

Material はメッシュをレンダリングする際に使用するパラメータの一覧である。



Materials に適用できるテクスチャはイメージ プロジェクト エレメントおよびディスク上のファイルの両方である。

次の Texture Types がサポートされている:
Color
Alpha (Opacity)
Bump
Normal
Specular
Glow
Detail
Color
Bump
Normal
Macro
Reflection


ウォーター マテリアル


アイコン:
関連クラスおよび関数: WaterMtrl, WaterMtrlPtr, WaterMtrls

ウォーター マテリアルは湖、川、海をレンダリングするときに使用するパラメータの一覧である。


物理マテリアル


アイコン:
関連クラスおよび関数: PhysMtrl, PhysMtrls

物理マテリアルは物理特性のプロパティ一覧である:
Static Friction - オブジェクトの静止摩擦係数
Dynamic Friction - オブジェクトの動摩擦係数
Bounciness - オブジェクトの衝突時の弾性係数
Damping - オブジェクト速度の減衰率
Density - オブジェクトの体積あたり重量

物理ボディおよびアクターで使用される。

オブジェクト クラス


アイコン:
関連クラスおよび関数: Game.ObjParams, Game.ObjParamsPtr, Game.Objs

オブジェクト クラスはオブジェクトの型である。

例えば、次のクラスとすることが出来る:
Characters
Items
Vehicles

オブジェクト クラスにはこのクラスの全てのオブジェクトで使用する共通パラメータの一覧を定義できる。

例えば、キャラクター クラスでは次のパラメータを定義できる:
Strength
Dexterity
Magic

次にこのクラスのオブジェクトを生成し、各パラメータの値をセットできる。
Warrior:
Strength=10
Dexterity=5
Magic=0
Rogue:
Strength=5
Dexterity=10
Magic=0
Mage:
Strength=0
Dexterity=5
Magic=10

アニメーション


アイコン:
関連クラスおよび関数: Animation, Animations

アニメーションで特定のスケルトンのボーンにおける向き、位置、スケールを定義できる。

さらにアニメーションの特定の時点で起こるイベントに名前をつけて定義できる。



例えば、画面の走行アニメーションでタイムラインの赤線によりステップのイベントが定義されていて、地面に足が着地する瞬間に音声を再生させるイベントに名前をつけることが出来る。



インポート
プロジェクトに3Dモデルをインポートするとアニメーションも自動インポートされる。

複合アニメーションの分割
アーティストによって複数アニメーションをひとつで作成し各々が異なるキーフレーム範囲にわたる場合がある。



  • 3Dモデルをインポートした後ひとつのアニメーションのみが作成される
  • アーティストにより次のキーフレーム範囲に渡る複数のアニメーションを示される
    • 1-50: 直立アニメーション
    • 55-97: 歩行アニメーション
    • 103-137: 走行アニメーション
  • アニメーションを複数エレメントに分割するには:
  • アニメーション エレメント上で右クリックして Reload を選択
  • Reload ウィンドウで開始から終了までキーフレーム範囲を指定できる
  • 提供されたアニメーションの範囲(55 から 97、等)を入力し Yes を押下
  • アニメーションの完了後、歩行アニメーションのみ表示される
  • 残りのアニメーションの追加:
  • アニメーション エレメントを右クリックして Duplicate を選択すると既存のアニメーション エレメントが複製される
  • 複製されたアニメーション エレメントを右クリックして Reload を選択。先ほどと違うキーフレーム範囲を指定してYesをクリック
  • 全てのアニメーションが表示されるまで繰り返す



上級者向け
部分的なアニメーション
ボーンにキーフレームがない場合、アニメーションのブレンディング プロセスでに影響しないのみである。

キーフレームがないことはボディ全体に影響しないが腕や顔など特定のボーンのみに影響するアニメーションを作成する場合に役に立つ。
このようなアニメーションで腕や顔のボーンなど特定のボーンのみキーフレームがあり、スケルトンにアニメーションを適用しても特定のボーンにしか影響しない。

キーフレームの種類
Esenthel アニメーション システムは次のキーフレーム種類に対応している:
Target Orientation (ボディのアニメーションの場合に推奨)
Relative Rotation (顔のアニメーションの場合に推奨)
Position Offset
Scale Factor

Target Orientation と Relative Rotation キーフレームの違い:
ボーンの向き/回転を制御する機フレームが二種類ある。

Target Orientation keyframes operate on Vector Directions (Blend Factor specifies length of the direction vector) - final bone orientation is the normalized sum of vector directions from all blended animations.

Relative Rotation keyframes operate on Rotation Angles (Blend Factor specifies scale of the rotation angle) - final bone orientation is the sum of rotation angles from all blended animations.

Both types will behave differently when blending multiple animations together with different blend factors.

For example, having following set of bones:

You can set following keyframes:
Default pose as Target Orientation



Bend pose as Target Orientation



Bend pose as Relative Rotation

Now you can see that blending Target Orientation animations will behave differently than blending Relative Rotation animations:



Target Orientation
No animation keyframes applied



Bend Target Orientation with 0.2 Blend Factor
You can notice that applying target orientation with even the slightest blend factor can snap the bone orientation



Bend Target Orientation with 1.0 Blend Factor
Final result is the same as using 0.2 blend factor

Bend Target Orientation with 1.1 Blend Factor
Final result is the same as using 0.2 and 1.0 blend factors



Default Target Orientation with 1.0 Blend Factor



Default Target Orientation with 0.5 Blend Factor
+Bend Target Orientation with 0.5 Blend Factor
Final result is the normalized sum of direction vectors from both animations




Relative Rotation
Bend Relative Rotation with 0.5 Blend Factor



Relative Rotation keyframes operate on angles, so applying animation with 0.5 blend factor will rotate only by half



Bend Relative Rotation with 1.0 Blend Factor



Bend Relative Rotation with 1.5 Blend Factor
Applying bigger blend factor to relative rotation animation will rotate the bones more

アイコン設定


アイコン:

Icon Settings are a list of parameters which can be used when creating Icons.

You can use one Icon Settings Element for multiple Icons, so that all of them will be rendered using the same settings.



アイコン


アイコン:
関連クラスおよび関数: Image, ImagePtr, Images

Icon is a 2D Image which is created from a 3D Model with custom Icon Settings.

To create an Icon please Drag and Drop previously prepared Object onto the object slot, Icon Settings onto the icon settings slot, and press "Create".

After creating an Icon you can use it as a regular Image, both in the Editor and in the Codes.



環境


アイコン:
関連クラスおよび関数: Environment, EnvironmentPtr, Environments

Environment is a collection of parameters that describe following elements:
Ambient Light
Bloom
Clouds
Fog
Sun
Sky

You can disable each element using the checkboxes, and configure their properties by clicking on the buttons so the property windows pop up.



Applying Environments
You can access Environments manually from the codes and apply them there, or apply them onto Worlds as their default Environment.
To apply as a default Environment of a World:
Open desired World Element
Drag and Drop an Environment Element at any location onto the Viewport of currently opened

ワールド


アイコン:
関連クラスおよび関数: Game.WorldManager

Worlds are "Game Levels" made out of Areas, which can have Objects and chunks of Terrain.
They are edited in the World Editor.

Here is a sample diagram of a World:
Environment - Each World can have a default Environment assigned
Areas:
Objects
Terrain
Pathfinding data
Lakes and Rivers
Waypoints

Examples
Worlds can look both "Indoor" and "Outdoor", depending on Environment settings.



ミニマップ


アイコン:
関連クラスおよび関数: Game.MiniMap

Mini Map allows for automatic 2D mini map creation based on previously created 3D Worlds.

To use, Drag and Drop a World Element onto the World slot, optionally override its default Environment by Drag and Dropping a different one to the Environment slot, and press the "Create" button.



Parameters:
World - World Element from which to create the map
Environment - Environment Element used to override the default one (if none is specified, then default Environment of the World will be used)
Areas Per Image - Number of World Areas to be included per one image
Image Size - Resolution (width and height) of a single image

Mini Map will be created as a series of Images which you can later access from your game, each image will cover only some of the areas in the world.

サウンド


アイコン:
対応している拡張子: WAV, OGG
関連クラスおよび関数: Sound, SoundPlay, Music


File Formats
Esenthel supports sounds in following formats:
Format Compressed File size for a 10 second sound CPU usage Recommended quality Recommended usage
WAV No 1.68 MB Low 44.1 kHz, 16-bit, stereo Sounds that are played very repetitively (bullet shots)
OGG Yes 0.12 MB Medium 44.1 kHz, 96kbps, stereo Sounds that are not played very repetitively

Following program is recommended for editing sounds and file format conversion - GoldWave.

Programming
Sound Positioning
Esenthel supports playing sounds in both 1D and 3D space.
When played in 3D space, each sound has its own position, making its final volume to be dependent on the Listener position (see C++ 'Listener' object).

Music System
Esenthel provides built-in classes for music systems, which operate on playlists (see C++ 'Playlist' class).

Playlist is a list of audio tracks, for example:
You can make a playlist called "BattleTheme", which contains following tracks:
Battle 0.ogg
Battle 1.ogg
Battle 2.ogg

You can then use this playlist to be played by either 'Music' or 'Ambient' music systems (C++ objects).
The music system will start playing this list of tracks, with crossfade support, and optional shuffle.

Volume Control
Esenthel provides separate volume control of following sound types:
Sound Effects
Voices
Music
Ambient
Global

ビデオ


アイコン:
対応している拡張子: OGG, OGM, OGV
関連クラスおよび関数: Video

File Formats
Esenthel supports videos encoded using Theora codec.
To convert videos to Theora, please use this free tool - ffmpeg2theora.



ローファイル


アイコン:
関連クラスおよび関数 File

Raw File is a raw binary copy of the original file, use it to support custom file formats in the engine.
You can use C++ 'File' class to read its contents.

ライブラリ

アイコン:

Library is meant to work as a Folder for Source Code files which are used by all Applications in the Project.

Please store inside it only Source Code files and Folders.

Libraries are useful for example in networked applications, where there is Client Application, Server Application and they both use some shared set of Codes.
In that case shared Codes should be stored separately outside of the Applications, inside Library element.
This will make all of the Code files from Library element to be accessible by all Applications.

In the example to the right, all Codes from the "Shared" Library, will be usable by "Client" and "Server" Applications.



アプリケーション


アイコン:

Application is a set of Source Code files which upon compilation create an executable, such as EXE, DLL, APP, APK.



Application Properties
You can change Application Properties, by right-clicking on the Application Element.
There are following properties:
Include Libraries - These are static libraries (such as *.lib, *.a files) to be linked together with your Application during building process
Include Directories - These are additional paths to look in, when searching for headers
Include Headers - These are custom headers to be used during compilation
Package Name - Application package name.
It must be in following format: "com.company_name.app_name", where 'company_name' is the name of developer/company, and 'app_name' is the name of the application.
The package name should be unique, its name parts may contain uppercase or lowercase letters 'A' through 'Z', numbers and underscores '_'.
Once you publish your application, you cannot change the package name.
The package name defines your application's identity, if you change it, then it is considered to be a different application and users of the previous version cannot update to the new version.
Build Number - Application build number, used to identify the version of the application.
This must be specified in order for the application to update correctly through online stores (for example Apple App Store and Google Play Store will not allow you to update your Application without it having a newer Build Number).
Typically you should increase this value by 1 when making each new release.
Preferred Storage - Preferred installation location for the application.
Internal - The application must be installed on the internal device storage only. If this is set, the application will never be installed on the external storage. If the internal storage is full, then the system will not install the application.
External - The application prefers to be installed on the external storage (SD card). There is no guarantee that the system will honor this request. The application might be installed on internal storage if the external media is unavailable or full, or if the application uses the forward-locking mechanism (not supported on external storage). Once installed, the user can move the application to either internal or external storage through the system settings.
Auto - The application may be installed on the external storage, but the system will install the application on the internal storage by default. If the internal storage is full, then the system will install it on the external storage. Once installed, the user can move the application to either internal or external storage through the system settings.
Supported Orientations - Supported device orientations for mobile platforms
Embed Engine Data - If embed basic engine data into the executable file, so it doesn't require separate "Engine.pak" file.
Embedded data will include only simple shaders and will not allow for advanced 3D rendering.
This option is recommended for Application Installers/Launchers which want to be distributed as standalone executables without any additional files.
Default value for this option is false.
Publish Project Data - If include project data when publishing the application.
Disable this option if your application will not initially include the data, but will download it manually later.
Default value for this option is true.
Publish PhysX DLL's - If include PhysX DLL files when publishing the application.
Disable this option if your application does not use physics, or it will download the files manually later.
This option is used only for EXE and DLL targets.
Default value for this option is true.
Publish Data as PAK's - If archive data files into PAK's.
Disable this option if you plan to upload the application using Uploader Tool, in which case it's better that the files are stored separately (instead of archived).
Then you can make your Installer to download files from the server, and archive them as PAK's.
Read more about this in the Publishing section.
Default value for this option is true.
Icon - Application icon, you can set it by Drag and Dropping an Image Element from the Project, onto the Icon slot.
Portrait Image - Application splash screen displayed when starting the application from portrait orientation, you can set it by Drag and Dropping an Image Element from the Project, onto the Image slot. Currently this is used only for iOS platform.
Landscape Image - Application splash screen displayed when starting the application from landscape orientation, you can set it by Drag and Dropping an Image Element from the Project, onto the Image slot. Currently this is used only for iOS platform.
Embedding Assets

Esenthel supports embedding some of the Project Assets directly in Application Executable file, so it doesn't require a separate file for the data.
In general you should not store other elements than Folders and Codes in an Application.
Including other Elements in an Application will make them automatically embedded inside the executable file, making it bigger.
By default Project Assets are stored in separate "Project.pak" file.
However for certain Applications, such as Installers, it may be desirable to distribute only the executable file without any additional files.
In such case you can embed some of the Assets, such as Images used by the installer, in its executable file, by moving the Element to be located inside the Application Element, allowing it to access the Assets without additional pak files.

In the example to the right, you can notice that the Image Element is stored directly inside the Application.
Upon building of the Application, you will be able to distribute just the executable file without any separate files for Assets (like PAK files), and it will be able to use that Image, because it's embedded in the executable file.



コード


アイコン:

Code is a C++ Source Code element.
It is edited in the Code Editor.

Its location in the Project affects which Applications make use of it:
Inside an Application - will affect only that Application
Inside a Library - will affect all Applications
Outside of Library and Applications - will not be used



Codes unlike other Project Elements, aren't automatically synchronized, they need to be synchronized manually.



ブックマークに追加

このエントリーをはてなブックマークに追加

自己紹介

自分の写真
Unity3D公式マニュアル翻訳やってる人がスマホ(iPhone, Android)のゲーム開発しています。気軽に面白く初心者が遊べる内容がモットー。Blogでは開発情報をひたすら、Twitterではゲーム作成の過程で参考にしている情報を中心につぶやきます

ページビューの合計

過去7日間の人気投稿