最近の100件  1  2  3  4  5  6  7  8  9  10 

2015.09.05

思った座標にEffekseerのエフェクトを3D描画できるようになるまで1

先日書いたように、
ずっとハマっていたEffekseerのエフェクトを3D再生ですが
ようやく、できるようになりました。

超、長かった・・・

3D描画のカメラやら各種座標など、
理解しないといけないことやらがありまして手こずりました。

ちょっと前回の記事を抜粋します。
Screenshot0635

画面右側のブレイクオブジェクトのヒットエフェクトが
2Dエフェクトで、竜巻風なのが3の3Dエフェクトです。

3Dエフェクトは2D表示もできるのですが、
あまりに見栄えが悪かったのです。

どんな感じだったかというと、こんな感じでした。
Photo_2

同じエフェクトを描画しているのに
3Dの時と較べて、パーティクルというかドットで描画されてて
全然、見栄えが良くなかったのです。

実は、上の竜巻風のエフェクトは、
Effekseerのサンプルとして
付属していたもののパラメータを少し修正したものです。

Effekseerでこのサンプルを見た時に
かげさんは、これをエアリアルステップのエフェクトとして使いたい
と思いました。

元々DXライブラリは3D描画の機能を使って2D描画をしているらしいので
2Dと3Dの同時描画は問題なくできるだろうとは思っていました。

エフェクトとしてはどうかが分からず試したのが最初の図です。
試した段階では、3Dカメラや3Dエフェクト描画は
Effekseer For DXライブラリのサンプルのままで
思った座標にエフェクトが表示できませんでした。

2Dゲームの座標とかを考慮して3Dゲームを作る
というのは、この動画を見てた関係でできると思っていたので、
座標だけ合わせることもできるはず、
ということで調べ始めたわけです。

初音ミク冒険記は2Dゲームとして作っています。

でも、3Dゲームとして作っているわけじゃないのですが、
実は、かなり初期の段階から初音ミク冒険記では
キャラの座標は3次元で管理しています。

2Dゲームの基本であるx座標とy座標だけじゃなく
こっそりz座標を持っています。

POINT構造体ではなくVECTOR構造体で管理しているわけです。

じゃあ、そもそも何で2Dゲームを3次元座標で管理しているんだ?
って話なんですが、実は、これ、PSP版の頃まで遡ります。

このブログでも何度か書きましたが、
初音ミク冒険記は、下記の本で
DXライブラリを使って作っている「まものの里」という
アクションゲームをベースに少しずつ機能を追加して作っています。

14歳からはじめるC言語わくわくゲームプログラミング教室Visual Studio 2008編―Windows XP/Vista対応

この本に従うのであれば、2次元ベクトルを使うのでz座標は不要です。

なのに、なぜz座標を管理しているのかというと
DXライブラリのPSP版であるDXライブラリPortableで
3次元ベクトルの計算を
内部的にアセンブラで組んであったためです。

今時、アセンブラを使う人は少ないと思いますが
アセンブラ言語は、よりコンピュータ側に近い低水準言語で
高水準言語であるコンパイル言語よりも高速です。

ここで低水準というのはコンピュータが理解しやすいという意味で
高水準というのは人間が理解しやすいという意味です。

コンピュータにとって理解しやすい方がより高速というわけです。
PSPの頃だと性能を考えた時には、少しでも高速な方が良いわけです。

実は、上記の本に載っていた計算関係の関数に相当することは
DXライブラリPortableのベクトル計算の関数とほとんど中身が同じでした。

このため、z座標を使わないだけで(常に0として扱う)
計算は3次元ベクトル計算の関数を使うことにしました。

実際にはそれらの関数も、本家のDXライブラリにあったので
Windows版に移行する時も、そのまま移行できたというわけです。

<参考>
移行に際して変更したのは、以下の項目だったはず
・文字コード(ツールKanjiTranslatorで一括対応)
・暗黙のキャスト問題(オーバーロードで逃げた)
・CRTセキュリティ強化対応
・Luaのextern "C"
・色の問題
・フォント問題
・セーブデータシステム
・キー操作対応

ちょっと脱線してしまいました。

さて、3次元座標を持っているならエフェクトの3D描画も簡単では?
と思うかもしれません。

が、2Dと3Dだといろいろと違うんです。

まず、原点座標が違います。
Photo

x座標は、右に行くと値が大きくなり、左に行くと値が小さくなる。
ここまでは2Dと3Dで変わりません。

y座標は、2Dでは上に行くと値が小さくなり、下に行くと値が大きくなるのに対して
3Dでは上に行くと値が大きくなり、下に行くと値が小さくなる
ということで、y座標は変換作業が必要になります。

上記の図で考えると例えば2Dでy座標が100だとすると
初音ミク冒険記の縦のゲーム表示領域はPSPの頃の名残で272
ということで、同じ座標で表示したいなら
「画面縦幅」-「2Dでのy座標」なので
272-100で172という計算になります。

ただし、これは3Dの単位が1ピクセルならの話です。
さらに3Dの場合はカメラ視点によっても話が変わってきます。

例えば、3Dの原点座標が2Dの原点座標の位置になるように
3Dカメラの描画位置を合わせた場合、
y座標は、単純に符号を変えれば良いだけになります。

このようにカメラの位置も問題になってきます。

DXライブラリだと、どうやら3Dカメラの初期位置は
画面のウィンドウサイズによって変わるみたいですが
x座標とy座標だけ見ると、
ウィンドウサイズのちょうど半分の位置になります。

DXライブラリでは何も指定しなければ
ウィンドウサイズの初期値は640x480です。
このため、x座標=320、y座標=240となります。
そしてz座標はウィンドウサイズから自動計算されるようです。

カメラの姿勢は、
視点、注視点、カメラの上方向の3つの要素で決まります。

いいかえるとカメラの姿勢を決めるだけでも3つの座標が必要です。
加えて、カメラ内にものを描画するためには、
カメラの視界内に描画する必要があります。

ということで、実は画面内に何かを描画するだけで4つの座標が
うまく咬み合わないとダメなんです・・・

カメラとか3Dのことが分からんとダメだな
と思ったのは、この段階です。

実は、上で紹介した動画の作者と書籍の作者は同じ人だったりします。

この人は
【DXライブラリ3D入門】とりあえずモデルを表示してみよう
という記事も書いていて、この人のサイトで勉強したり、
この人が書いてDXライブラリの作者が監修した
この本を読んだりして勉強してました。

超本格! サンプルで覚えるC言語 3Dゲームプログラミング教室

記事の内容、書籍の内容、それぞれで理解は深まりました。
Effekseer For DXライブラリも含めて
サンプル通りになら動かしてうまくいく。

が、それでも、今の初音ミク冒険記に
どう組み込めば良いのかが分からなかったのです・・・

座標を動かせるようにして試したものの
ちょっと座標を変更すると見え方が変わったりしてしまい
トライアル&エラーで調整しようとしても結構、途方にくれてました。

長くなってきたので、次の記事に続きます。

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.09.01

ミクとリン・レンのv4x情報が出た

8月31日は初音ミクの誕生日ということで
初音ミクv4xと鏡音リン・レンv4xの情報が
クリプトン・フューチャー・メディアより発表されました。

初音ミクv4xのディザーサイト
http://sonicwire.com/product/vocaloid/special/mikuv4x?from=nl150831

鏡音リン・レンv4xのディザーサイト
http://sonicwire.com/product/vocaloid/special/rinlenv4x?from=nl150831

リン・レンは事前情報通り12月発売予定になっていました。
これは既にかげさんの中では購入予定になってます。

一応、今のヨドバシポイントの蓄積ペースで行くと
来年上半期にはKAITOv3もゲットできるんじゃないかと思ってます。
利用目的は、例によって初音ミク冒険記で使うボイスです。

ミクは来年上半期リリース予定になってます。
でもミクのv3とルカのv4xを持っている人は
9月中旬から先行ベータが無料配布されるようです。

かげさんはどちらも持っているので
無料配布対象です。

DTMマガジンでも数カ月前から情報が出てたので
ミクのv4xには興味がありました。
9月が楽しみですねnote

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.08.30

8月の冒険記の進展を書いてみる

8月は、全然、ブログの記事を書いてませんでした。

お盆があって帰省していたのもあって
あまり書くことがなかったり、書こうと思う気持ちが下がっていたんですよね・・・

お盆前後は、実はWindows10の設定周りのことをしてました。
これはStick型のPCを購入したためです。
Stick型PCのWindows10対応が、予想より早かったので
購入時期をミスった感があり、購入時のOSはWindows8.1でした。

なので設定周りもWindows10にするところから
環境設定していくことなので以前に書いた記事と重複する内容が多くて
お盆前後は書くことが全然なかったのです・・・

でも、少しずつではあるけど初音ミク冒険記も進めています。

■難易度調整の仕組み
ゲーム内で難易度指定に関する仕組みを作りました。
以前、ななしあさんからのコメントで

難易度実装はするんですか?
するとしたら更に作業が大変に・・・

というのがあり
龍神録の記事によると一番難しく作って
難易度を落としていくのが良いそうなので
実装するかどうかは考え中です。

と回答していました。

全然ゲーム本編の制作が進んでいないので
難易度調整とかあったものではない状況なのですが、
Astlibraの製作者のKEIZOさんと「動く足場」について
Twitterでやりとりしている時に

Xエレメンタルの弾に関してはアクションは少し簡単な方が多くのユーザーが楽しめるんじゃないか

という話が出てきました。

当時は動く足場とくれば、ドラキュラシリーズのメデューサヘッド
という発想で作ってました。
PSP自作ゲーム「初音ミク冒険記」、2012/01/08版公開

実は、以前、ニコ生で初音ミク冒険記をプレイしている人がいて
その人もかなりXエレメンタルのところでは苦戦していたというのもあり
移動する足場のあるところでサインカーブを描く動きの敵は
序盤の難易度としては結構高いんじゃないかと思っていたのはあります。

しかも、ドラキュラシリーズと違ってランダムな位置での無限増殖がないから
別の方法で難易度を上げることを考え
Xエレメンタルの進行方向とミクが逆の方向にいる時に
3秒間隔で弾を撃ってくるようにしました。

これがやり過ぎだったのかなって感じです。coldsweats01

でも、かげさんにとっては
試練の洞窟エリア3の調査(動画あり)
で示したようにタイミングさえ分かれば
簡単にノーダメージで進められるので、
それほどやっかいな気がしてませんでした。

かげさんは、作っている側なので
「敵の動きの仕様を知っている」というのが大きいかもしれません。

もともと試練の洞窟では一番難易度が高いマップなのに
必ず2回通らないとイケないってのもキツイのかもしれないです。

実は、あそこを開発していた当時、
ゲームプレイ時間が短いのでプレイ時間を長くする方法として
Astlibraの第1章の後半にある謎解きから
長いマップを往復させればイイじゃん!という発想のもと
試練の洞窟で一番難易度が高いマップを往復させることにしたって
経緯があります。

KEIZOさんは、あのマップで「登った後降りるので絶望した」と
つぶやいていましたが、往復する仕様になったのは
KEIZOさんが作ったAstlibraを参考にしたためだったという罠。coldsweats01

さてさて、難易度の実装ですが
「龍神録の記事によると一番難しく作って、難易度を落としていくのが良い」
というのは一理あると思うので
かげさんの開発環境は、一番難しく作っておいて
公開するときには難易度が低いものをリリースするって方針にしました。

現在、初音ミク冒険記のプログラムでは
かげさんのメイン開発環境と判定する仕組みや
初音ミク冒険記SNSのメンバーだけが試しに動かせる仕組み
というのが組み込まれています。
(まだ、初音ミク冒険記SNSのメンバー向けの機能は無いんですがね・・・)

なので、かげさんの開発環境だけ動く仕組みってのは
実装は簡単です。

で、一応、元々の動作の方が良いという人も居るかもしれないので
コンフィグファイルで難易度を指定できるようにもしておきました。

最終的にはこんな感じです。
1.かげさんの環境では難易度が高い
2.コンフィグファイルがあれば、その難易度に従う
3.かげさんの環境ではなく、コンフィグファイルがなければ難易度は普通

一応、難易度はイージー、ノーマル、ハードの3段階で考えてて
・かげさんの環境だとデフォルトはハード
・コンフィグファイルはイージー~ハードで指定可能
・コンフィグファイルがなければ、ノーマル
って動きにしています。

まぁ、こんな仕組みを作っておいてなんですが
今は、試練の洞窟エリア3のXエレメンタルだけ
難易度ノーマルとハードがコンフィグファイルで選択できるってくらいです。

この仕組みを作ったので、今後は難しいのを作ったとしても
難易度を変更できる仕組みがあるから、あとから調整する
ってのもできるようになったので良しとします。

■コマンド入力の仕組み
ここでいうコマンド入力とは、格闘ゲームでいうところの
波動拳とか昇竜拳のコマンドの入力のことです。

一応、コマンド入力系のスキルというのは
割りと早い段階から構想自体はあったのですが
現在、初音ミク冒険記で発動できるスキルは
コマンド入力っぽいものはありません。
(若干クイックステップとかバックステップはコマンドっぽいかもしれませんが)

これはまだ仮実装の段階なので当面、お披露目されることは無いと思います。
(このため、記事も書かずに放置していた・・・)

実装自体は、DXライブラリのホームページにあったもののパクリなので
現在は発動しようと思っているスキル名が画面に表示されるくらいです。

なんでコレを先にやろうとしたかというと
コマンド発動がトリガーとなってスキル用のボイスやエフェクトが動くためです。
トリガーだけは先に作っておかないとボイスやエフェクトを作っても
確認がしづらいので・・・

一応、あまり難しいコマンドは作らない予定です。
波動拳のコマンドも6フレームだと入力がしづらいので
12フレームで入力受付したりしてます。

■エフェクトの3D表示
これが現在一番手強いところです。

現在の初音ミク冒険記でのエフェクトの仕組みは3つあります。
1.従来からあるコマ送りのエフェクト
2.Effekseerを使った2Dエフェクト
3.Effekseerを使った3Dエフェクト

コマ送りのエフェクトで分かりやすいのは
敵の消失なんですが、ここでは1と2を比較しやすいように
新旧のヒットエフェクトを載せておきます。
Hiteffectoldnew
右側が1のエフェクトで
左側が2のエフェクトです。

なお、ヒットエフェクトは現在若干調整して下記のような感じで
白系だけじゃなく、黒系の表示と混在するようにしています。
Screenshot0627

白系だけだと背景が暗いところじゃないと見栄えが悪かったので
黒も混ざった状態のコマ送りの一部だけ静止画だと若干見づらいかもしれませんが
動かして見ると綺麗に見えます。

そして問題は3です。

Twitterでは時々スクリーンショットを載せたりしてましたが
ブログには全然載せていなかったみたいなので載せておきます。

Screenshot0635

画面右側のブレイクオブジェクトのヒットエフェクトが
2の2Dエフェクトで
竜巻風なのが3の3Dエフェクトです。

3Dエフェクトは2D表示もできるのですが、
あまりに見栄えが悪かったので3D描画にチャレンジ中です。

エフェクトの描画自体は、上のスクリーンショットのように
もう出来るようになっています。
EffekseerのAPIが分かりやすいのでここは簡単でした。

問題は、エフェクトの描画位置です。
3Dエフェクトなので座標は3D系になります。

以前にも何度か書いていますが
元々、初音ミク冒険記は2Dゲームなのに座標は3Dで管理しています。

だから簡単に動くかと思ったのだけど
実際は、ここで苦戦しています。

3次元座標では管理しているのですが
2次元だと原点座標が左上に対して
3次元だと原点座標は左下です。

ここは、まぁ、それほど大きな問題じゃないのでいいんです。
問題は、2D表示のミクたちの位置にうまく追従する形で
エフェクトを表示できるようにする3Dカメラ周りです。

本来3Dゲームを作っている人なら良いのでしょうが
2Dゲームを作っているとカメラ周りの調整が良く分かんない・・・

しかも、角度とか色々調整して調度良い位置にとかいっても
何を調整すれば良いのかが分からず・・・
試行錯誤はしているんですが・・・

ということで3D関連は迷走中です。

カメラ位置とかで悪戦苦闘して調整中のスクリーンショット
Screenshot0671

かれこれ1ヶ月以上悩んでます・・・
たぶん、3D関連の勉強をすればなんとかなるとは思うのだけど
今のところ3Dに関連するのは、このエフェクトだけなので
ここに時間をかけすぎて制作が進展しないのもなぁ・・・shock

実は、コマンド入力の仕組みを作ったりしたのは
これが進展しなくて、モチベーションが下がっていたためです・・・

まぁ、これのおかげでお試し機能を実装しやすくする仕組みを
作れたことは良かったと思いますが。

あまりに時間がかかっているので、一旦保留にした方が良いかもしれない・・・

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.08.08

先日、1台だけWindows10を入れてみた(インストール手順画像あり)

やったのは実は先週なんだが、
ブログに記事を書いていなかったので書いておこう。

Windowsのタスクバーに下図のようなアイコンが追加されている。
Tuuti

これをクリックすると出てくるのが次の画面
Yoyaku

ここで「無償アップグレードの予約」をしといたら
アップグレードできるようになったら通知が来るとなっていたが
全然、そんな通知が来なかったので
かげさんは、インストールDVDのISOを
下記のマイクロソフトのサイトからダウンロードする作戦にしました。
http://www.microsoft.com/ja-jp/software-download/windows10

例によって、ダウンロードされるのは
MediaCreationToolx64.exeといったISOをダウンロードするソフトだけです。

Windows1002

DVDを作りたいので
「他のPC用にインストールメディアを作る」を選択して「次へ」

Windows1003

マイクロソフトの日本語サイトから64ビットを選んでダウンロードしたのに
この仕打ち。
しかもかげさんのWindows8.1はProなのに、エディションはProではなくHomeです。
正直、何のためのダウンロードツールだよ。 アホかと思いました。

Windows1004

はい、正しく指定して次へ

Windows1005

USBでも良いんですが、かげさんちに余っているUSBメモリがなかった・・・
DVDを作ろうと思っていたので、「ISOファイル」を選び、次へ

Windows1006

ISOのダウンロードは、結構時間がかかります。
(サイズは3.3ギガくらいです)

Windows1007

ダウンロードできたらisoファイルをDVD書き込みソフトで
DVDのメディアに書き込みます。

Windows1008

書き込めたら、エクスプローラでメディアを開きます。
かげさんちはDVDが自動再生されない設定にしているので、直接実行しました。
通常はメディアを入れれば自動再生でインストーラが起動すると思います。

Windows1009

メディアにあるsetup.exeを実行します。

Windows1010

Windows1011

どっちみち更新プログラムはインストールするので推奨のまま次へ

Windows1012

Windows1013

まだ準備がいるんかい・・・

Windows1014

ライセンスを読んで「同意する」

Windows10145

引き継ぎは、「個人用ファイルとアプリを引き継ぐ」にします。
Windows7→8の時は、デスクトップでコレをやるとインストーラがフリーズし
ノートパソコンはうまく動きました。

今回やるのは、同じデスクトップ(Windows7と8のデュエルブート)なので
ちょっと緊張しましたが、次へ
(デスクトップパソコンのWindows8の時は、結局、クリーンインストールで入れました・・・)

Windows10155

容量チェックしてくれます。

Windows1015

まだ、更新プログラムがあるんかい!sad
って、もしかしたら、画像保存順序を間違ったかもしれませんが・・・

Windows1016

準備はいいか!
ということで「インストール」

Windows1017

なんか、インストール画面がでかくなった。
たぶん、他のソフトを触らせないためだと思う。

そして再起動します。

Dsc_1776

ここからスマホ撮影です。
トリミングとかしてない上、アップロードサイズの制限で
縮小してしまったから見難くてすみません・・・
塗りつぶしている所は個人情報関連です。

Dsc_1777

すぐには使わん。
マイクロソフトの推奨設定は、使いづらくなるからね・・・

Dsc_1778

Windows8と同じくオン/オフ切り替えは白いところをドラッグです。
タッチパネルじゃない、かげさんには使いづらいんだが・・・

Dsc_1779

引き続きカスタマイズ

Dsc_1780

まだ続くぜぃ

Dsc_1781

まだまだ続くぜぃ

Dsc_1782

新しいWindowsアプリの設定は
下にある「規定のアプリを選択」で外します。

Dsc_1783

必要に応じて外します。

ビデオだけ残したのはWindows8で動画のコーデックが変わっていたから
気になったのでチェックしたためです。
(その後確認していないな・・・)

Dsc_1784

あたらしいログイン前画面が来ましたね!wink

Dsc_1785

ログイン画面、かっこよくなったな!

ここでまた「PCのセットアップをしています」が出てます。
メインモニターは、光沢ディスプレイのため、
黒背景で文字だけ出てるとフラッシュがたかれて見づらいので画像はないです・・・

Dsc_1786

ここまで来たら、待ちますよっと。

Dsc_1787

最後の処理、いよいよか

Dsc_1788

ということで、Windows10が起動しました!
(個人情報につながるアイコンがデスクトップにあったので塗りつぶしてます)

アップグレード自体は、Windows7→8の時と違い
驚くほど、すんなり動き、トラブルは起きませんでした。

これまでのアップグレードの中で一番簡単だったと思います。
もしかしたら、インストールについてはWindows7→8にアップグレードした時と比べて
アップグレード元のWindows8.1にあまりアプリが入っていないからかもしれません。

どうやら壁紙はWindows8.1の時のままのようです・・・

ん? 画面サイズおかしくね?
ということで、全く罠が無かったわけでは、なかとです。coldsweats01

<トラブル1>
Windows 10にしてみたら、いきなり画面サイズがおかしい。
デュアルディスプレイのサブモニター側が認識されない・・・

早速、ディスプレイドライバを確認してみる。
「Microsoft Basic Display Driver」ってなんだよ。
ディスプレイサイズも変えられないじゃないか・・・
そもそもなんでnVIDIAのドライバを入れていたのに
勝手に変えてんだよ・・・うぜぇ・・・

って感じでした。
ちなみにこの問題が起きると、
画面サイズが1024x768くらいまで下がったと思います。

ちなみにかげさんのグラボGTX-980のドライバは
nVIDIAにWindows10用がありました。

GTX980のWIndows10のドライバは
最初、インストール失敗したんだけど、
インストールを再実行しようとしたらWindowsの再起動を求められ、
再起動したら正常にインストールされてたみたいで、
画面サイズが1920x1200のデュアルディスプレイになりました。

再起動がポイントみたいでした。

再起動する前は、インストール失敗してるにもかかわらず
デュアルディスプレイで画面サイズも大きくなったのですが
しばらく使っていると、いきなりサブディスプレイが切れて、
シングルディスプレイになった・・・。

一度切れると検出してくれないので
デュアルディスプレイ周りが怪しい感じがしてました。

<問題なかった点1>
オーディオインタフェースのAG03-MIKUは
何もせずにそのまま認識されました。
これでオーディオボリュームは手元でグリグリ変更できます。

<問題なかった点2>
初音ミク冒険記が動きました!

Windows10boukenki

ディスプレイドライバを入れ替える前は
エフェクトが時々変な再生がされていました。
綺麗に再生されることもあるんですが、
こんな感じで変なことが多かったです。
Screenshot0646

これはディスプレイドライバを入れ替えたら問題なく動きました!happy02

<トラブル2>
PS3のコントローラが認識されなくなりました。gawk

が、PS3コントローラのドライバは、
単純にDS3 Toolからドライバをロードしただけで元に戻りました。
やったね!bleah


新しいOSだと、やっぱりドライバ周りがハマりますね。
つーか、事前にWindows10のドライバを探しておいたほうが
良かったのかもしれません。

という感じで、今回の記事は、ここまでです。

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.07.20

色指定は、GetColorを使おう

これまで初音ミク冒険記の内部では、
色の指定を0xFFaabbccのように定義していました。

これは、この本に書かれていたことを参考にしてたからです。

が、正しくはGetColor(R, G, B)のように指定しないとダメのようです。

DXライブラリの掲示板にある「色指定について」というスレッドに

書籍の著者である大槻さんも 「超本格! サンプルで覚えるC言語3Dゲームプログラミング教室」を 執筆されている際に私がご指摘するまで そのことにお気付きで無かったようなので、 それ以前に執筆された 「14歳からはじめるC言語わくわくゲームプログラミング教室Visual Studio 2013編」では 誤った表現になってしまっているのだと思います (- -;;

とのこと。

かげさんが持っているのは、
2008編の本なので当然間違った状態の頃でして・・・weep

ということでGetColorを使って正しくしないとダメなことに。

ちなみに環境によって違うというのは、こんな状態です。
Colorbug

上が、かげさんが期待している色で
下が、環境によって発生してしまう色です。

実は、実際にこの表示が出るまで、
先のDXライブラリの掲示板の記事は読んでいたのに放置してました・・・shock

Windows8.1でVisual Studio 2013でビルドしたものを
Windows7で実行したら、こんなふうになりました・・・

ということで直すことになりました。

例)0xFF008040→GetColor(0, 128, 64)
のように0xが付いている側は16進数で、GetColorの引数は10進数です。
このため、「電卓」を起動してメニュー「表示」-「プログラマ」にして
16進を選んでから80と入力して10進を選ぶことで
128を得るといった16進数→10進数の基数変換が必要です。

それと全部を直せてはいないのですが
メッセージ表示のLuaスクリプトが
2013でビルドすると正常に動くのに
2008でビルドするとバイト数が奇数の時にフリーズするようになりました・・・crying

デバッグ用に色の名前をメッセージ表示するようにLuaスクリプトを組んだ時に発覚。
色しか変えてないはずなのに・・・weep

今のところ、Luaから表示するメッセージ表示で半角表示するところは
無かったはずなので、とりあえず放置しておきます。
もし、VisualStudio側やDXライブラリ側が原因の
文字コード関連のバグだとすると修正しても無駄になるかもしれないので
事象などはチケット登録しておいて、ちょっと時間を置くことにします。

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

Visual Studio Version Selectorの話

どうも。
しばらくブログの更新が滞っていたかげさんです。

今回は、Visual Studio Version Selectorの話題です。

今のかげさんのメイン開発マシンであるWindows7のデスクトップには
以下のバージョンのVisual Studioがインストールされた状態である。

Visual Studio 2008 Express Edition
Visual Studio 2010 Express Edition
Visual Studio 2012 Express Edition
Visual Studio Community 2013

Windows8.1側のように2012や2013とかをいきなり入れるのでも
良かったのだけど、
Visual Studioは古いバージョンからインストールした方が良いので
一応、2010も含めて入れることにしました。

Effekseerの導入に当たって調べた長い道のり?1
でかげさんは、こんなことを書いています。

Visual Studioをバージョンアップして 既にあるソリューションファイルを開くと Visual Studioは、 ソリューションファイル(.sln)とか プロジェクトファイル(.vcproj)のバージョンを上げようとするのです。

実は、この記述は状況によっては正しいのですが
状況によっては間違っています。

まず、上記の記載が正しいパターンですが、
これは、既にあるソリューションファイルが作られたVisual Studioよりも
新しいバージョンしかインストールされていない時です。

昔も含めると、かげさんはVisual Studio 2008以降のインストールを
この順番で行いました。
1.WindowsXPにVisual Studio 2008(初音ミク冒険記の開発以前)

2.Windows7のノートにVisual Studio 2010(初音ミク冒険記の開発以前)

★このタイミングで初音ミク冒険記のWindows版の製作開始

3.Windows7のノートにVisual Studio 2010アンインストール後2008
 (初音ミク冒険記の開発を2008に合わせるため)
 (マシン環境がヘボくて2010を動かすのが重かった・・・)
 (Visual Studioを複数バージョンにする時は
  古いのから入れる必要があるので2010をアンインストールした)

★メイン開発環境のデスクトップを購入
 (このマシンは、Windows7と8のデュエルブートにした)

4.Windows7のデスクトップにVisual Studio 2008

★Effekseer導入のために2015/06からバージョンアップ検証作業開始

5.Windows8のデスクトップにVisual Studio 2012
6.Windows8.1のデスクトップにVisual Studio 2013(5と6の間で8→8.1にバージョンアップ)

7.Windows7のデスクトップにVisual Studio 2010
8.Windows7のデスクトップにVisual Studio 2012
9.Windows7のデスクトップにVisual Studio 2013

この順番をよくみると、
実は、1つのマシンの同一OSに複数バージョンのVisual Studioが導入されたのは
6の段階が初めてです。

6の段階ではWindows 8.1上に2012と2013が入っています。

このように1つのマシンの同一OSに複数バージョンのVisual Studioが導入されて
既にあるソリューションファイルを開くと
Visual Studioは、
ソリューションファイル(.sln)とか
プロジェクトファイル(.vcproj)のバージョンを上げずに
ソリューションファイルの内容から、該当するVisual Studioを起動しようとします。
(先に書いた状況によっては間違っているというのは、このパターンです)

かげさんが知らなかったのは、この動きです。
この状況になるパターンを
自宅環境でも仕事環境でも作ったことがなかったからです。

どういう仕組みになっているかというと
拡張子slnの関連付けがVisual Studio Version Selectorになっていて
このプログラムがソリューションファイルの中身を解析して
しかるべきVisual Studioのバージョンを起動するようです。

なので、2008のslnを2012しかない環境で
エクスプロラーからダブルクリックで開いた時には、
2008が無いので2012が起動して
ソリューションファイルやプロジェクトファイルの
バージョンアップがされたのに
2012と2013が同時にインストールされている時には、
2012が起動してくるといったことが起きました。

ただし、「しかるべきVisual Studioのバージョンを起動する」のは
エクスプローラでダブルクリックした時です。

2013からソリューションファイルを開くで2012のファイルを指定すると
ソリューションファイルやプロジェクトファイルのバージョンアップを
しようとします。

確かに以前検証した時も、こんな比較結果がありました。
Vs_version_df04

上の2つがソリューションファイルのコメント部分なんですが
このコメントは、後から見た時に分かるだけじゃなく
Visual Studio Version Selectorの動作にも影響していたようです。

他にもプロジェクトファイル(vcxproj)の中にも
バージョン情報があって、2012のソリューションファイル、プロジェクトファイルを
2013にバージョンアップすると、このバージョン情報が変わっていました。

2012→2013のバージョンアップは、この辺りが中心なだけで
他の情報がおかしくなるといったことはなかったので
サクッとリビルドやデバッグ実行ができました。

検証したところ
Effekseerの導入に当たって調べた長い道のり?3
に書いたような
「プロジェクトのプロパティの項目がいくつか抜け落ちる」現象は
2008→2010の時に発生しました。

Visual Studioのバージョン間の違いについて(2008 → 2012)
にも書きましたが

ビルドシステムは
VS2005で導入されたビルドシステムはVCBuild。
それがVS2010からMSBuildに変わった

というのが大きいみたいです。

それと、後から思い出しましたが、どこかの記事に
VisualStuioって2010から過去資産のソースを改良ではなく、
新規に作りなおしていると書いてあったので
内部的には結構変わっているのでした・・・

で、これらのことが分かったのでメイン開発環境の7に
2008より上のバージョンを順番にインストールしていきました。

コレも以前に書きましたが
ソリューションファイルは2008版を別名で残すことにしたので
2012以降をインストールしていないマシンでも
Effekseer関連の部分は昔のままですが、ビルドとか実行もできるようにしてます。

思い残すことはないので
当面の初音ミク冒険記本体の開発は2013で行う予定でいます。

DXライブラリが正式版のVisual Studio 2015に対応したら
2015にするかもしれませんが・・・

それと、開発ツールを作っているC#側の調査は、ほとんどしなかったのですが
ざっくり検証したときはC# 2008のプロジェクトを
2012、2013混在環境で開くと2013に変換されたのは、
多分、バージョンセレクタが該当バージョンがないから
最新バージョンを選択したからだと思ってる。

後からわかったこととしては、一部自動生成されるファイルでも
Visual Studioのバージョン情報を持っていて
上位のバージョンで開くとこの値が書き換わっているようでした。

特にC#側は新しいバージョンを使ってみたいと思う動機がなかったので
とりあえずC#のツールは、今の2008で作っていこうと思います。

VC++でC++11を使うといった明確な動機がなく
C#側は2008でいろいろとテンプレートプロジェクトを作ったので
それの移行が面倒だし・・・

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.07.11

ツイート引用のテスト記事

Twitterの投稿の引用のテスト



面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.07.06

ヒットエフェクトの新旧比較

Hiteffectoldnew

ブルーワームのところに出ているのが
従来のヒットエフェクト。

画面中央あたりに出ているのが
Effekseerで作った新しいヒットエフェクト。

エフェクトの大きさは、後で調整するとして
やっぱり新しい方がカッコイイね!happy01

エフェクトの大きさは、プログラム側で変更できるので
ストライクショットは1.5倍にするとかもできそうだnote

色を変えたヒットエフェクトを用意して
クリティカルヒットや敵の弱点属性の時は、1.5倍の大きさにして、
ファンブルや敵の強化属性の時は0.5倍の大きさにする
とかもできそうだね。wink

今日は、もう眠いので
実際の攻撃ヒットにエフェクトを連携するのは明日にしよう・・・

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.07.05

Effekseerの情報で「もったいない」と思うこと

現在、Effekseerの製作者さんが新規サイトを構築中なので
Effekseerの情報でもったいないと思うことを書いてみます。


2015/07/05追記
この記事の一部のことについては、
Effekseerの製作者さんが、readme.txtに書いてくれましたので
は家泉の箇所があります。


--▼--Effekseerの製作者さんが既にreadme.txtに反映済み ここから--▼--

現在のヘルプにある
「概要]の「動作環境、必要ランタイム等」と「インストール、アンインストール」、
「粒子の生成」の「起動」の部分は、
サイト内に記載がある方が良いのではないか?と思います。

Effekseer本体のzipを展開するとreadme.txtがありません。
そこで、とりあえずbinのEffekseer.exeを起動しようとした時に、
かげさんが困った

描画画面の生成に失敗しました。DirectXのバージョンの問題、メモリの不足等が考えられます。

が出る可能性があるからです。

この問題の解決については
Windows8でEffekseer本体を動かすにはDirectXのエンドユーザランタイムが必要なのね!」を
参照して下さい。

かげさんは、コレが出た時にEffekseerの製作者さんに
解決方法を教えていただけたので
無事に解決できたのですが、少し気になっていたのです。

後から気づいたのですが、
「最新のDirectX エンド ユーザー ランタイム」が必要であることは
HTMLヘルプの「概要]の「動作環境、必要ランタイム等」と「インストール、アンインストール」、
「粒子の生成」の「起動」の部分から読み取れます。

でも、せっかくヘルプに書いてあっても
直接ヘルプを起動しない限り、見れないので記載効果が薄く感じました。

このため、zip展開先のトップディレクトリにreadme.txtを起き、このことを説明するか、
サイトの説明でこの情報があると、
導入段階のトラブルが1つ減るのでは?と思いました。

2015/07/05追記
--▲--Effekseerの製作者さんが既にreadme.txtに反映済み ここまで--▲--


あと、使い始めの段階としては用語集みたいなのが
ヘルプにあると親切なのにと思いました。

例えば、位置の情報のコンボにあるイージングって何?という時に
ヘルプの「ツール・リファレンス」の「位置」を見てもイージングについての説明はありません。

ヘルプの「ツール・チュートリアル」-「粒子の生成」に記載があるので
あまり困らないかもしれませんが、readme.txtなり、ダウンロードした後に
「まずはチュートリアルで操作方法を覚えましょう」
といった記載があったら、より良いように思いました。

それから「カリング」も、バージョン情報を見た時に最初分かりませんでした。

かげさんの場合、全体的にエフェクト関連の用語の理解が不十分なのが
原因っぽい気がしますが、一応気になったので書いてみました。

実は、別のエフェクトツールのProminenceの製作者さんが
このブログの記事である
エフェクトツールBISHAMON、Effekseer、Prominenceのこととか、いろいろまとめたかったけど、実際は、まとまりきっていないZE☆
を紹介してくれた記事
藤宮翔流のひきだし:Prominence3Dの方向性」で
書いているように

エフェクト作成という、
ある意味マニアックな作業に初めて挑戦する人が
突然大量のパラメーターを見せつけられると面喰ってしまうでしょう。

というのは、かげさんも実際に思ったことです。

いきなり出てきて、わからない用語の説明に簡単にアクセスできると
調べやすくて助かるなぁと思いました。

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)

2015.07.04

MEIKO姉さんもやってきた!


MEIKO V3

ヨドバシのポイントが貯まったので
MEIKO V3をポイントでゲットしました!happy02

Effekseerや環境周りの記事ばかり書いていて
裏では少しずつエフェクトやEffekseerの使い方を勉強してたかと思えば
またボイス関連へと
あっちフラフラ、こっちフラフラしているなと自分でも思う・・・

まぁ、一応、初音ミク冒険記関連というつながりだけは
キープされているんだが・・・coldsweats01

さて、今年はクレジットカードとかのキャンペーン等の影響で
すごい勢いでポイントが貯まっていまして
去年まで貯めてたポイントも使って
今年に入ってからだけでも
VOICEROID+ 結月ゆかり EX
CeVIO Creative Studio 通常版
MEIKO V3
をポイントだけでゲットしています。note
(ザックリ計算で3万5千円くらいになるからスゴイよね!)

GTX-980をクレジットカードのキャンペーンで購入したのが
デカかったかもしれません。

巡音ルカv4xの時に
Piapro Studioを最新バージョンにしているので
MEIKO V3のインストールは、
純粋にMEIKOのDBだけインストールで終わり。
とっても簡単でした。

後はKAITO V3を入手すれば、
初音ミク冒険記で「ウータウの森」にいくところまでは
超頑張れば、フルボイス化できるはず・・・
ネルとハクは、GENとかをいじって頑張る方向で考えてる。
KAITO V3もヨドバシポイントを貯めて交換したいな。

ともかく、これでPiapro Studioで
3キャラクター分の歌声を編集できるようになりました。
Meiko_v3

ちなみに背景画像のMEIKOは、
DTM MAGAZINE 2015年7月号に載っていた
裏ワザを使って表示してます。

Piapro Studioのトラックモードで
256x256より大きなサイズの画像(jpgかpng)を
トラック以外の開いたところにドラッグ&ドロップするだけです。

DTM MAGAZINEには透明度の変更や
位置移動とかも書いてあったけど
ボタン名から判断するとMACの環境なんじゃないかと思う。

なので今回は公式の画像を縮小したり、位置移動した画像を作って
今の位置に表示してます。

一度画像を貼ると、ソフトを再起動するまで画像はそのままです。
正式サポートの機能じゃないみたいなので自己責任でやってね。wink

面白かったら押すべし。→ へぇ~
ランキング [] [] [] [] [] [↑50] [かげさんの111から始まるHistory内]

| | コメント (0) | トラックバック (0)