社内研修にて WebGL と Iframe Player API を用いて3DCG上のモデルに動画を再生させる学習しました。 2日目

社内研修にて WebGL と Iframe Player API を用いて3DCG上のモデルに動画を再生させる学習しました。 2日目

皆様、どうお過ごしでしょうか?
前日に引き続き、YoutubeのAPIである iframe Player API を用いて、WebGL上の3DCGのパネルの表面に動画を再生する社内研修に参加しました北山です。

前日に引き続き作業を行いましたが、本日も完成に至りませんでした。
ただ、半分は成功しました。

「半分」というのは、2つの目的があるからです。

1つめはYoutubeの動画プレイヤーそのものをAPIでもってきてiframe内で表示する事。
2つめはYoutubeから動画だけと、API上で必要な情報だけを取得して再生ボタンや停止ボタンは、WebGL上に別途UIを配置して、それで引っ張ってきた動画を操作する事が目的です。

今回、1つめは成功したのですが、2つめが完了していない状況です。

前回から続く今回の社員研修の課題においては、本来は完成品と完全に同じにする必要はなく、3DCGのデータについては必要最低限の3DCGデータ(正方形のパネル)を配置し、そのデータの表面に動画を再生する事を第一の目標として行われました。

残念ながら今回、必要最低限の3DCGデータだけを配置して作成する事を目的として私が作成したプロジェクトはエラーが発生しました。
今日の午前の前半辺りまではエラーの調査を行いましたが、把握することができず、必要最低限のパターンはミーティングの場で相談させていただき、いったん中止し、手本となるソースコードや素材の配置を含め、3DCGデータなどすべてを模倣して課題を作成する運びとなりました。

結果、再度作り直しをした結果、1つめの目的は達成しました。

 

 

ですが、2つめの目的はまだ完了しておらず、この作業を引き続き行う必要があります。

 

本来はオレンジ枠の辺りに3DCGのパネルが表示されるはずなのですが、見えなくなっています。 それが原因である為なのかは不明ですが、後ろの箱型の3Dデータの形が切り抜かれた様に少しおかしくなっています。

 

2つめの目標の達成を目指す状況ですが、それとは別件の、JavaScript特有の問題と対面し、その点も個人的に調査したいと考えています。

そのJavaScript特有の問題とは、JavaScriptの「引数」と「オーバーロード」の事です。

C#やJavaなどでは、引数の型や引数の個数の違いで、同じメソッド名でも内部の仕組みや戻り値が異なる処理を実装できる「オーバーロード」の概念があります。

C#やJavaは、元々のメソッドで定義した引数と異なる型や、引数の個数を渡したりするとエラーになり、このオーバーロードを用途に応じて用意する必要があります。
ですが、JavaScriptではメソッドに2つの引数が仮に定義されているとして、そして引数を1つしか渡さなかったとしても、その時点ではエラーは起きず処理が進む特徴があります。

今回、課題の完成品のソースコードで、とある関数に定義された引数の個数と、その関数を呼び出す箇所の引数の個数が異なる箇所があり、前日ではこの辺りに苦戦し、本日も原因の発覚に至っていません。

今回、ソースコードを一から写経しなおした結果、エラーは起きなくなったのですが、これではなぜ起きたのかという点を把握できないままになってしまうので、後々に問題になると言えます。

その為、時間のある時に、この問題点の調査を行いたいと考えており、現時点での目的は引き続き2つあると言えます。

1つめは、引き続きYoutubeのAPIである Iframe API を用いて、ボタンなどのUIはWebGL側で用意した完成品。
2つめは、前述の原因不明のエラーをかみ砕いて原因を把握し、今後の類似パターンに対応できるようになる事。

社内研修でお時間をいただいている中で恐縮なのですが、取り急ぎ達成を目指し精進してまいりたいと考えております。


また、エラーの原因が完全に把握できた際には、ブログにて共有したいと考えております。
(※ただ、あいまいな理解の場合には誤った情報を発信する恐れがありますので、確信が持てない場合には共有はできない可能性もありますのでご了承いただけますと幸いです。)

ご一読いただき誠にありがとうございました。

現在
株式会社チョモランマ
株式会社シェルパ
3Dmodeljapan株式会社
ではスタッフを大募集しております!!
UNITY、Unreal Engine4、AI、プログラミングや建築パースに興味がある方!
ぜひご応募下さい!!
初心者の方、未経験の方やインターンを受けてみたい方々でも大歓迎です!!

〔企画運営〕株式会社シェルパ 
公式HP https://sherpa-cg.com/
【福岡本社】〒810-0042 福岡県福岡市中央区赤坂
      1丁目13-10赤坂有楽ビル7F 
tel 092-717-6800 / fax092-717-6801