3.0で複数のマシンで連携するアプリを作った時のメモ書きです。アプリケーションを選択します。Express"と書かれたボタンを押すと、ブラウザが立ち上がり、Welcomeと書かれたWebページが表示されます。VRM今回は3Dオブジェクトをシーン上に配置し、VRMモデルなどを表示してみます。透視投影(PerspectiveCamera)がありますが、今回は透視投影カメラを使用します。0));操作OrbitControlsを用いて、カメラを操作出来るようにします。src="js/controls/OrbitControls.js"></script>と、読み込ませる必要があります。3);scene.add(hemilight);図形の描画Geometry(形状)とMaterial(材質)を作成し、それを含むMesh(面)を生成し、それをシーンに追加します。material);scene.add(box);モデルの描画Three.jsには様々なファイル形式に対応したローダーが存在します。今回はVRMLoaderを利用してみます。VRMはglTF形式を一部拡張したものであり、VRMLoaderは内部でglTFLoaderを呼び出しているため、glTFLoaderも読み込ませる必要があります。src="js/loaders/VRMLoader.js"></script>また、GLTFLoader/VRMLoaderは現在unlitなマテリアルに対応していないため、マテリアルを差し替える必要があるようです。ここは(公式のサンプル)を丸写ししております。);このように、モデルを表示出来ました。ゲーム制作Three.js今回はThree.jsを触ってみます。libraryブラウザで3DのCGを動かすといえばWebGLですが、OpenGLやDirectXのような細かい処理を書くのは結構大変です。それを手軽扱いやすくしたJavaScriptのライブラリのひとつがThree.jsです。最低限、ブラウザとテキストエディタだけあれば3Dのプログラムが書けてしまいます。(もちろんbracketsなどのhtmlエディタを使った方が書きやすいです。)3Dプログラムがどのように動いているか、基礎部分の勉強にもなると思います。Three.jsの読み込みまず、HTML5のhtmlファイルを用意し、Three.jsを読み込ませます。ダウンロードしてくるのも有りですが、CDNから読み込むと楽です。src="https://ajax.googleapis.com/ajax/libs/threejs/r84/three.min.js"></script>というように書けばOKです。次に、canvasをbody内のどこかに置きます。id="myCanvas"></canvas>のように置きます。ここに描画を行う予定です。次にJavaScriptを書きます。ここではid="myCanvas"のcanvasに描画するWebGLRendererを用意し、シーンとカメラを作成します。最後に描画を行う関数を繰り返し呼び出しています。camera);}requestAnimationFrame(drawStep);最低限の動作をするコードを作成しました。レンダラーとシーン、カメラを用意してiいます。drawStep一定時間で画面の更新があるごとにレンダラーで画面を描画しています。時間も計っていますが、現時点ではまだ使用していません。ブラウザで開くと、htmlおよびJavaScriptコードが正しければこれだけで動きます。短いコードですが、きっちりとWebGLの初期化及び描画の処理が行われています。現時点では何もオブジェクトが置かれていないので、フレームバッファのクリアが行われているだけです。今回は分かりやすく青"blue"でクリアしました。"red"や"black"、0xFFFF00など色を指定すると、その色でクリアされるのが分かると思います。次回は、ここに立方体などのプリミティブや、ツールで作成したモデルを置いていきます。UE4雑記というか日記。社長がビデオキャプチャー機器を欲しがっているようです。ブツを調べてみましたが、意外とお求めやすい価格のようです。337,918Amazon.co.jpで詳細を見る入力は4K60Hzまでの信号を受け取り、1080pの映像をキャプチャー、出力することが可能。連番画像としても保存できるらしいです。けいい恐らくこうなった経緯。2018に行ったんですね。unrealengine.jpゲームやその他XRコンテンツ開発者として、大変有意義な内容でした。Japanwww.slideshare.net水瀬ツバキさん可愛いんじゃ~10/17時点では動画はまだ公開されていませんが、大変ボリュームのある内容となっております。VTuberに興味のある方は必見です。所持デバイスが増えていく様は面白かったです。質疑応答によると、単なる無料動画の配信に使う限りではUE4のライセンスフィーは不要らしいです。完全に無料で使えるらしいです。Games様かっこいい!これに影響されたのかどうかは分かりませんが、どうやら社長が色々と企てているようです。5.6あたりから、VideoPlayerコンポーネントが利用できるようになっています。VideoClipまたはURLの動画を再生できます。Videosのこちらからお借りしました。Clipの取り込みにはQuickTimeのインストールが必要です(Windows版はもうサポートが終了していますが......)そのため、H.265やVP9などでエンコードされた動画は取り込めないようです。H.264またはVP8にトランスコードすることも可能です。これをVideoPlayerで指定すると、再生することが出来ます。カメラに直接描画したり、RenderTextureに描画してそれを用いてオブジェクトを描画するといったことが可能です。URLから再生URLを指定すると、Web上にあるファイルやローカルのシステム上にあるファイルを再生することが出来ます。ローカルのファイルを再生する場合、"file://"を付けると再生することが出来ます。Androidで"/mnt/sdcard/Movies"フォルダに動画がコピーされる機種の場合、URLに「file:///mnt/sdcard/Movies/a.mp4」を指定すれば動画フォルダのa.mp4が再生出来ます。Clipへの変換が行われないので、そちらに配置しておく方法もあります。使うには、スクリプトでAPIを呼び出して正確な位置を把握して指定する必要があるとおもいます。この場合、システムで利用できるコーデックが使用されます。システムが対応していれば、ハードウェアデコードの恩恵も受けることが出来ます。H.265やVP9でエンコードされた動画も再生できます。Settingで、適切なアクセス権を与える必要があります。Audioで、プロジェクトのオーディオの設定を見てみます。performance"となっていますが、バッファサイズが大きすぎるため、環境によっては音が遅れて聞こえてきます。latency"あたりに変更すれば、遅延は軽減されます。(ゲーム内の効果音にも同じことが言えます。)代わりに音飛びが発生しやすくなるリスクがありますので、注意してください。今日は動画ファイルの形式と、動画再生についてのメモです。.aviなどの拡張子は、だいたいデータがどのコンテナ形式で格納されているかを示しています。コーデック動画ファイルの場合、拡張子だけではデータがどの様に圧縮されているかは分かりません。圧縮・展開を行うソフトウェアがコーデックです。(Compression/DECompressionの略です)ビデオコーデックH.264/AVCは現在よく用いられている、圧縮率や画質に優れたコーデックです。スマートグリッドフォーラム後継規格としてH.265がありますが、特許関連で問題があり、普及には至っていないようです。他にもWebMに用いられるロイヤリティフリーのVP8,VP9や、次世代のコーデックとして期待されているAV1があります。オーディオコーデック音楽プレイヤーではmp3、aacなどのコーデックが主に利用されています。これらの形式は特許で守られているため、それに代わる形式としてVorbisが開発され、ゲーム開発ではよく利用されていました。Vorbisと呼びますが、OggがコンテナでVorbisがコーデックです)なおMP3のライセンスは2017年4月23日に終了しているため、現在では自由に利用することが出来ます。Vorbisが採用されています。ライセンスについて基本的に圧縮アルゴリズムは特許で守られていることが多いため、利用には注意する必要があります。OS機能を利用してH.264を再生する場合のライセンスを確認する合計12分以上のH.264動画をパッケージに含めるにはライセンスが必要そうです。12分以下の場合にもOSの機能を呼び出して再生する分には大丈夫のようにも思えますが、確証が持てません。LAにライセンスについて問い合わせるか、問題を避けたければコンテナはWebMでビデオにはVP8、オーディオにはMP3またはVorbisを使うのが無難だと思います。マニュアル描画先と音声の出力先を指定すれば、簡単に動画を再生できるコンポーネントがUnity5.6で追加されています。具体的には次回説明いたします。BundleにてUnityのアセットが含まれるバンドルの販売が開始されました。非常に破格な内容となっております。Bundleとはゲームやアプリケーション、電子書籍などのデジタルコンテンツのダウンロード販売を行っているサイトです。www.humblebundle.comバンドルは1~2週間の期間限定で販売され、売上の一部がチャリティー団体に寄付されます。ユーザーはバンドルに支払う金額を最低1ドルから決めることができ、一定額以上を支払うことで段階的にコンテンツを入手出来る仕組みです。所謂「おま国」で日本では貰えない物があったりします。日本産ゲームの大部分がそれに該当します。電子書籍はepubやpdfのファイルがDRMフリーでダウンロードできます。(基本的に全て英語です。)アプリケーションはシリアルキーが提供されます。ゲームはSteamキーで提供されることが多いです。稀にネットサービスの利用権なども並びます。Unityのアセットが並ぶのは珍しいと思います。正当に提供されている正規品なので安心して利用できます。Bundleでは、15ドルを支払うと、バンドル内のコンテンツを全て入手できます。Monthlyといったお得なコースもあります。PCゲームで遊ぶ人や、技術書を買う人はチェックすべきサイトです。購入額は任意の額を指定できますが、必要な金額は他のバンドルと同様に3段階です。$1/BTA(全購入者の平均額)/$15となっています。BTAは常時変動しますが、そのアクセス時点での金額を支払えば大丈夫です。Storeなどで販売されている定価です。セールでこれより安く入手した方が多いと思いますが、参考までに。$67)繰り返しになりますが、$15支払った場合、これらを全て入手できます!おすすめ$1にもビジュアルスクリプティングのFlowCanvasが含まれ、$15には地形生成アセットのGaiaなど大変有用なアセットがあります。BTAは記事作成時点で$11.70となっているので、せっかくだから$15出すべきです。どれか1つでも欲しいものがあった場合、迷わず買うべき破格なバンドルだと思います。汗人柱様の記事にて、アセットの内容をとても詳しく解説されております。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。