atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FPSを作ってみる@wiki
  • 進捗状況(2014
  • 04)

FPSを作ってみる@wiki

04)

最終更新:2014年04月30日 22:38

slice

- view
管理者のみ編集可

(2014/04/30)

モデルファイルはFBXなんて複雑奇っ怪な物に手を付けないで素直にColladaやっとけばよかったね!なんてまだ引きずってる・・

Qt5によるハイライティングとか(途中)

モデルファイルの話はおいといて、
自分はGLSLの文法がまだOpenGL ES2の範囲でしか把握してないので
「こんな記述はありかな?」「実際に使われてるUniformやAttribute変数のリストが欲しい」っていう試し書きをするのだけど
一回一回プログラム実行して、エラー出してじゃ面倒すぎるので
巷のライブコーディングツールはフラグメントシェーダーオンリーとか、GLSL ES2までの対応だったりでアレなのでこの際Qt5でサクッと。

いや、本当は自作エフェクトファイルを編集する時に文法エラーチェックとハイライトしてくれたらいいなあっていうのもある(むしろこっちか)

(2014/04/29)

gdbの件。あれから条件の特定を頑張ってみたものの、
ひどい時にはあるメンバ関数を外部記述するかどうかで挙動が異なったり
しまいにゃ自作ライブラリの特定のヘッダに記述した関数を参照すると駄目だったりで
SEGVの原因がこっちのソースコードでないと思われる。

結局gdbを前のバージョン(7.6)に戻すという格好で結着。
丸1日無駄にした。さっさと方針転換していれば・・

(2014/04/28)

進んでない報告。

Lubuntuを入れなおした。
本当はArch Linuxにしようかと迷ったがまだ全然慣れてなくって
確実に無用なトラブルを招くため見送り。
相変わらずビデオドライバがすんなり入んない等あったけどそれはさておき。

一先ず以前のプログラムをビルドして実行〜しようとしたらGDBがシンボルを読む段階で落ちる。
普通に実行は出来るのに、GDBをかませると駄目。
こんなのは初めてなので手探りでソースコードを削っていき、原因を突き止めようと画策。
が、どうやら幾つかの微妙な条件が揃うと
例えば仮想デストラクタを持ったクラスを多重継承したり(多分他にも条件はある)、
ひどい時はメンバ関数の実装をヘッダに書くか別ファイルに書くかで変わってきたり。

実行する以前の問題なのでメモリ破壊がどうとかでは、ない。多分。
別々の箇所でインクルードした同一ヘッダのマクロ定義が異なっているかも調べたが、これでもなさそう。

そんな調子で原因が今ひとつ掴めずにいる。
でも何とかしないとデバッグすら出来ないので、頑張るしかない・・

(2014/04/26)

なんか色々やってたような気がしたけど、実際gitのログ見たら大した事なかった。
作業以外では軽量ディストリビューションらしいArch linuxを試したとか。

モデルコンバータ

とりあえずFBXからデータ抽出云々はいいとして
GUIのモデルコンバータ作ろうか、Qt5と自前ライブラリを組み合わせてプレビュー表示させようかと頑張るも
(主に自前ライブラリの作りが甘いせいで)細かい所でエラーが続出してコンパイルすら通らなかったり。
結局その修正ばっかしてた気が。
QGLWidgetは明示的にshare指定しないと同じスレッドで実行するのにコンテキストが別になってて
テクスチャ作ったはずなのに使えない現象にも随分悩まされた。

これだけじゃなんだからまだモデルは出てないがスクリーンショット貼ってみる。
格子が表示されてるとこが自前表示の部分。
BlenderのFBX出力が中途半端なのでインポートするモデルを選択した後にユーザーが頂点色や法線セット、
テクスチャを組み合わせる若干ダサい仕様。

そんなことより

Lubuntuを14.04にupgradeするか?と聞いてきたんで
「ま、いきなり起動しないとかにはならんだろう・・」と甘い考えでOK押した。そしたら
自前でインストールしたパッケージ類を全部排除してくれた挙句、半分ほど進んだ所で
「エラーが出たんでもう続けられんわ。システムがunstableな状態になりまっせ」とか言われてそのまま終わった。
もう一度upgradeし直したいのだが内部的には14.04になってしまってて、出来なさそう。

どうしろと。

(2014/04/13)

なんとなくGPUのドライバを更新したら
attributeやvaryingはdeprecatedだとかの警告と共に、以前通ってたGLSLコードがエラー吐く。
どうやら冒頭のGLSLバージョン指定が不味かったようで・・

FBX

なんだかんだ言ってまたかなり時間かかってるけど
結局たとえ英語でも公式のチュートリアルやサンプル見たほうが数倍速いね。
FBXは定期的に仕様変更があるみたいで2,3年前の個人で解説してるページなんかは
関数がそのままじゃ使えなかったりして難儀だし。
あとあれだね。能書きや説明をぐだぐだ書かれるよりソースで示されたほうが明快で間違いが少ない。
プログラマはソースコードで語れとは良く言ったものだ。

BlenderとFBX

今回は主にここで詰まった。
概要はいい加減わかったので、さあ変換ツールを作ろうか。と思ったら

実はBlenderが吐くFBXはFBX SDKを使用しておらず、独自にそれっぽいフォーマットに仕立ててるだけという事が判明。
いや、SDK不使用なのはGPLだからなんとなく察してはいたが。
Pythonはよく知らないが、とりあえずプラグインのソースを見たら
結構ヘッダ情報やらなんやらがハードコードされている。
具体的に何が出力されるのかはBlender公式をあたればいいとして、大体
  • テクスチャはDiffuseしか対応してない。BumpやSpecularは非対応というか、UVエディタでバックグラウンドにしてたテクスチャをDiffuseとみなすのでマテリアル情報ほぼガン無視(diffuse色と強さ位は認識するが中途半端過ぎて、ちょっと)
  • UV座標セットは名前も含めて出力可。だがやっぱりUVエディタの背景をDiffuseとしたマテリアルをUVセットの数分出力するので別途ツールで再設定必須
  • アニメーションセット出力はしてくれる
  • アニメーションはキーフレームでなくてフレーム毎のX,Y,Zとかの数値をベタ出力(同じような値を省く機能はあるが・・)
  • カメラやライトは対応してるが、自分は使わないので知らない
そんな感じ。

ちなみにColladaは規格がオープンな事もあってこんな中途半端ではなくちゃんと出力されるようだ。
わかってたら最初からColladaにしたんだが・・

更に関係ないけどテクスチャを外部参照にして一旦Blenderを閉じ、テクスチャファイルを消してサイドBlenderを起動してモデルを読み込むと
当然ファイルが無いのでベタ表示になるんだけど
このままFBX出力をかけ、その後何回か視点変更してるとマウス中ボタンを押したタイミングでOSを巻き込みフリーズする。
当初フリーズの条件がわからずこれで時間を無駄にした。
(Blenderのバージョンは2.70, OSはLUbuntu13.10 64bit, Kernel 3.11.0-20.34)

(2014/04/06)

Blenderの簡単なモデリング、ボーンを仕込んでモーション設定までの一連の流れをチュートリアルで学んだり
FBX SDKのオンラインマニュアルを食い入るように見つめてたり・・
あとはQtの復習など。

モデルフォーマット

まだモデルファイルを読み込んで描画、モーションをしてなかったので対応しようと思った。
前に使ってたような独自JSONフォーマットでいいならコピーしてくれば済むのだが如何せん自作プラグインが古いとか、
3ds max用なので誰かのモデルを流用する場合に敷居が高いという事で再考。
独自フォーマット自体はともかく出力手段が3ds maxからの独自プラグインしかないってのは非常にアレだ。
そんな訳で適当なファイルフォーマットを探す。

現時点でメジャーなフォーマットといえばColladaとFBXだろう。
ColladaはXMLでオープンフォーマット、中身は主にモデルファイルとモーション。
FBXはモデリングツール間の受け渡しが想定されていてカメラやライトといったシーン全体を扱える
Colladaとは違い、クローズドでSDKだけが提供されてる状態(ただAndroid用のSDKは無い)
自分としてはAndroidでも動かしたいのでColladaかと思いきや、ググった限りこれはこれでColladaDOMの評判が宜しくない様子・・
ColladaDOMのライブラリが何やらごちゃごちゃと他のライブラリを要求するのもあまり印象が良くない。
やりたい事はモデルの読み込みだけなので。

結局モデリングツールからはFBXで出力し、コンバータを通して独自形式という手順で落ち着いた。
といってもこれからツール作るんだけど。
「04)」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • glshader0.png
  • importmodel.png
FPSを作ってみる@wiki
記事メニュー
  • トップページ
  • 参考資料ブックマーク等
  • Tips

Media

  • 頂き物
Screen shot
  • FPS_page1
  • FPS_page2
  • FPS_page3
  • Other_page1
Drawing
  • Drawing(analog)
  • Drawing(digital)
  • Drawing(digital) 2
  • Drawing(digital) 3
  • Drawing(digital) 4
  • Drawing(digital) 5
  • Drawing(digital) 6
  • Drawing(digital) 7
  • Drawing(digital) 8
  • Drawing(digital) 9
  • Drawing(digital) 10
  • Drawing(digital) 11
  • Drawing(digital) 12
  • Drawing(digital) 13
Movie
  • movies-list

Old Contents

  • トップページ(old)
  • メモ書き
  • 力仕事UP場
  • ゲームシステムとか
  • バグ・動作報告
  • program(twilve)

Progress log

  • (2018/03)
  • (2017/04)
  • (2017/03)
  • (2016/10)
  • (2016/09)
  • (2016/08)
  • (2016/07)
  • (2016/06)
  • (2016/05)
  • (2016/04)
  • (2016/03)
  • (2016/02)
  • (2016/01)
  • (2015/12)
  • (2015/11)
  • (2015/10)
  • (2015/09)
  • (2015/08)
  • (2015/07)
  • (2015/06)
  • (2015/05)
  • (2015/04)
  • (2015/03)
  • (2015/02)
  • (2015/01)
  • (2014/12)
  • (2014/11)
  • (2014/10)
  • (2014/09)
  • (2014/08)
  • (2014/07)
  • (2014/06)
  • (2014/05)
  • (2014/04)
  • (2014/03)
  • (2014/02)
  • (2014/01)
  • (2013/12)
  • (2013/11)
  • (2013/10)
  • (2013/09)
  • (2013/08)
  • (2013/07)
  • (2013/06)
  • (2013/05)
  • (2013/04)
  • (2013/03)
  • (2013/02)
  • (2013/01)
  • (2012/12)
  • (2012/11)
  • (2012/10)
  • (2012/09)
  • (2012/08)
  • (2012/07)
  • (2012/06)
  • (2012/05)
  • (2012/04)
  • (2012/03)
  • (2012/02)
  • (2012/01)
  • (2011/12)
  • (2011/11)
  • (2011/10)
  • (2011/09)
  • (2011/08)
  • (2011/07)
  • (2011/06)
  • (2011/05)
  • (2011/04)
  • (2011/03)
  • (2011/02)
  • (2011/01)
  • (2010/12)
  • (2010/11)
  • (2010/10)
  • (2010/09)
  • (2010/08)
  • (2010/07)
  • (2010/06)
  • (2010/05)
  • (2010/04)
  • (2010/03)
  • (2010/02)
  • (2010/01)
  • (2009/12)
  • (2009/11)
  • (2009/10)
  • (2009/09)
  • (2009/08)
  • (2009/07)
  • (2009/06)
  • (2009/05)
  • (2009/04)
  • (2009/03)
  • (2009/02)
  • (2009/01)
  • (2008/12)
  • (2008/11)
  • (2008/10)
  • (2008/09)
  • (2008/08)
  • (2008/07)
  • (2008/06)
  • (2008/05)
  • (2008/04)



記事メニュー2

Update Log

取得中です。
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2686日前

    menu_L
  • 2686日前

    進捗状況(2018/03)
  • 2686日前

    Drawing_digital_13
  • 2686日前

    Drawing_digital_12
  • 2686日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. シュガードール情報まとめウィキ
  6. ソードランページ @ 非公式wiki
  7. ドラゴンボール Sparking! ZERO 攻略Wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. 星飼いの詩@ ウィキ
  10. Dark War Survival攻略
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. 発車メロディーwiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 過去の行動&発言まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  2. マイティーストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. 魚拓まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  4. 参加者一覧 - ストグラ まとめ @ウィキ
  5. 1103環境(遊戯王) - アニヲタWiki(仮)
  6. 前作からの変更点 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. コレクター・ユイ - アニヲタWiki(仮)
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 画像倉庫 - 鹿乃つの氏 周辺注意喚起@ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.