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

2015.07.04

みんな、足の小指には気をつけてね!

記事の投稿順を間違えた気がしなくもないが、
先日、夜中に起きた事故について書いてみる。

夜中にトイレに起きた時に
右足の小指を物の角に痛打してしまった。

あまりに痛くて小指に視線を向けると
見る見る血に染まっていく・・・coldsweats02

どんな状態になったかというと
小指の爪が縦に2つに割れて
外側の爪が半ば剥がれかかった状態になっていた・・・

即効でネットで検索して応急処置として
出血がある程度治まってきたところで
朝までは時間があるので
寝ていて引っ掛けて悪化したら困るから
絆創膏で保護することにした。

念のため、病院に行こうと考えたが
爪は何科になるんだろう?

調べてみると皮膚科か整形外科らしい。

かげさんちから皮膚科のある病院までは徒歩2分、
整形外科は徒歩5分だ。

足の小指であることを考えると、近いほうが良い。
ついでに皮膚科の痒み止めももらってこよう
ということで皮膚科に行くことにした。

当然、予約ではないので待つことになったが
予約でなくても診てもらえるのは既に知っていたので
まぁ、待つのはやむを得ない。

いつもの先生に診てもらったところ
状態からして、
コレ以上剥がれないように
テーピングで保護する必要があるとのこと。

割れた爪も根本では繋がっているので
生え変わるまで待つしか無いらしい。

が、足の小指の爪が生え変わるには1年近くかかるらしく
それまで、靴下を履く時とかに爪を引っ掛けたり
再び小指をぶつけるとかがないように注意しつつ
テーピングによる保護を続ける必要がある。

また、爪の変形は、どうしてもあり得るとのこと・・・

うん、ある意味、完治までも長くて大惨事。

やったのは木曜の夜中だったんだけど
金曜日も一日、腫れてて痛かった・・・

が、以前やった肉離れよりは
体重のかけ方次第では、普通に歩ける分、数倍良い。

金曜日1日過ごした感じとしては、
・裸足でいるのが一番痛みが少ない
 この状態だと体重移動を気をつけさえすれば、普通に歩ける。

・靴下を履くと若干痛みがある
 腫れているからか、少し締め付けられる感じ。

・靴を履いて歩くと痛い
 靴を履いていない時だと少し小指を浮かせて歩くのができるんだけど
 靴を履いていると、それもままならない。

・特に下り階段がキツイ

といった感じなので今週末は引きこもることにする。

ちなみに会社の人に教えてもらった情報だと

足は薬指に小指がある感覚である。
その感覚で歩くから(1本分ずれている感覚)、
小指がモノにぶつかる。

というのをテレビでやっていたとのこと。

みんなも、足の小指には気をつけないよう!

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

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

KindleにDolyをインストールしてヨドバシ・ドット・コムの電子書籍を読む

ヨドバシ・ドット・コム電子書籍ストアで購入した書籍を
読むための電子書籍リーダーアプリDoly。

Android対応はあるものの
Kindleのアプリストアには、無いアプリです。

KindleのFireOSはAndroid系なんですが
Kindleは、Google Playにつながらない。
この点はKindleが、他のAndroid端末と比べて弱い部分である。

普通ならDolyはインストールできない・・・

が、かげさんのKindleには
既に1MOBILE Marketのアプリを導入済みである。happy01

なので1MOBILE Market経由で
Dolyがインストールできないか、やってみた。

うん、普通に検索もヒットするし
インストールもでき、アプリも起動して
ヨドバシ・ドット・コムのIDでログインできた!happy02

さて、なんでこんなことをしたかというと
前からほしいと思っていて、今月購入する予定でいた書籍の
電子書籍版がamazonとヨドバシ・ドット・コムの両方に存在したからだ。

今回購入しようと思った書籍だと
amazonだと通常の書籍で購入するよりKindle版は384円安い。
ヨドバシ・ドット・コムだと書籍の金額と電子書籍の金額は同じである。

ここだけ考えるとKindle版を購入した方が良い。
Kindle版をヨドバシのクレジットカードで購入すると購入金額の1%分ポイントも付く。

が、その金額よりも実は、ヨドバシ・ドット・コムで電子書籍を購入した方が
ポイント還元まで考えるとトータルでは良かったりする。

ヨドバシ・ドット・コムで通常の書籍を購入する場合、
通常の書籍だと3%、ヨドバシカードだと後日+1%で4%
さらにヨドバシ・ドット・コムで書籍を購入のキャンペーン中なので
後日+6%されて、10%となる。

これがヨドバシ・ドット・コムで電子書籍を購入すると
10%、ヨドバシのクレジットカードだと後日+1%で11%となる。

しかも10%は、割りとすぐにポイント加算されるので
すぐに次の購入でポイントを使うことができ
通常書籍よりもポイントが早く付与されるという利点もある。

計算してみたら、目的の書籍だと
ヨドバシ・ドット・コムで電子書籍を購入した方が
137円お得な計算になった。

もっともamazonポイントも絡むと
同じくらいなのかもしれないんだけど
ヨドバシのポイント還元と違って、
amazonポイントは付与される、されないとか
付与される時のポイント還元率などがマチマチで
しかも溜まったポイントは次の買い物で勝手に使われるから
正直、計算しづらいのだ・・・
(Kindle版だと付与されないってこともあるし・・・)

どちらも同じ電子書籍なので、
物理的に本棚が必要にならないのが良い。

が、電子書籍であるなら
起動に時間のかかるパソコンや
画面の小さいスマホではなく
Kindle Fire HDXの8.9インチのサイズで読めるようにしておきたい。

ということでKindleでヨドバシ・ドット・コムの電子書籍を読むための
電子書籍リーダDolyがKindleにインストールできると
目的は実現するって感じだったのだ。

最終的に、今回購入しようと思っていた書籍は
ヨドバシ・ドット・コムの電子書籍で購入することにした。

品揃えの都合で
おそらくamazonのKindle版を購入することの方が多いと思うが
これでかげさんの電子書籍の購入の選択肢は2つになった。

基本的にかげさんは
amazonか、ヨドバシ・ドット・コムで本を買うことが多いので
この2つで、どちらも電子書籍が選択肢にできるというのは、
とても助かるなぁ。

ちなみにDolyの操作は、Kindleと殆ど変わらないので
それほど違和感がなく使えます。note

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

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

2015.07.01

Visual Studio Community 2013のインストール

今月、Visual Studio 2015が出るんだが
DXライブラリやEffekseerが対応するまでは
現状の最新である2013を使いたい。

2013だと
Visual Studio Express 2013 with Update 4 for Windows Desktop
というのがあるが
Effekseerの製作者さんに教えてもらった
Visual Studio Community 2013の方をインストールする。

Visual Studio Community と Visual Studio Professional は
ライセンス条項で規定される利用可能者を除き違いがない。

これはマイクロソフトが公式アナウンスである。
このため、Expressにはない機能が使えるのだ。

Visual Studioのバージョン間の違いについて(2008 → 2012)」で
Visual Studio を 2008 → 2012 の違いは分かったので
今度は 2012 → 2013 の違いも確認するんだい!

まず、ダウンロードだが
Visual Studio のダウンロード
にある「Visual Studio Community & Express」の
「Community 2013 Update 4」を選択して
Microsoft Visual Studio Community 2013 Update 4 - 英語の
「DVD9 ISO イメージ」でダウンロードした。

今回はWindows8.1側にインストールしたが
Windows7側でもインストールする予定なので
vs_community.exeとかはダウンロードしない。
(こいつ自体は軽いけど、起動後のダウンロードが長いので)

サイズは7ギガくらいなので、結構時間がかかる。

合わせて「Microsoft Visual Studio 2013 言語パック」もダウンロードしました。
2013は、普通にインストールすると英語版だからだ。
(これが罠の始まり・・・)weep

ダウンロードしたらisoファイルをダブルクリックして
DVDドライブとして開いた状態にする。

で、ここにあるvs_community.exeを実行する。

インストールとしては
Visual Studio Community 2013を早速インストールしてみた!インストール方法をご紹介します
のようにいくはずだった。

だった?sign02

はい、実は、かげさんの場合、言語パックのインストールが
うまくいきませんでした。crying

本来は、vs_langpack.exeを起動すると、こんな画面が出るはず。
Vs2013_008

が出たのは、こんなのである。
Vs2013_007

赤×は、既にインストール済みとなっていますが
これはハードコピーを取るためにもう一度実行したため出てます。

問題は、2013 Language Pack - 日本語ではなく
2013 Language Pack - ENUとなっているところ。

はい、日本語にならんのです。

ダウンロードするところを見ると
Vs2013_016_trap

ダウンロード言語は「日本語」となっているにも関わらず
「今すぐインストール」の前には

Microsoft Visual Studio 2013 言語パック - English

となっている・・・

もう1度ダウンロードしたけど、やっぱりENUになる・・・

ならば、こちらはと思って
Microsoft Visual Studio 2013 Language Pack
こっちのリンクなら日本語でダウンロードされるかと思ったら
こっちも1回目はダメでした・・・

1回目というのがポイントでなぜか2回目を試みたら日本語になった・・・

が、インストール処理中にこんなメッセージが・・・
Vs2013_010

ううぅぅ・・・shock

言語パックのアンインストールってなんだよ!angry

アンインストールが必要ならアンインストーラを起動してくれよ!
と思いアプリケーションの追加と削除とかを見てみるが
そんなの存在しないだと・・・coldsweats02

なんのイジメだ!crying
と思っていたら、そのうち出てきたのがコレ。
Vs2013_011

もう、何が正常で、何が間違いなのか
30文字以内で説明しろ!って感じ。pout

どう考えても、かげさんは悪くないと思う。
無罪を主張しても、問題なく勝ち取れると思う!

ちなみに「Microsoft Visual Studio 2013 Preparation」のところは
異常に時間がかかります・・・

そして、Language Pack - 日本語がインストールできたからと言って
すぐに日本語にはならんのです。weep

Visual Studio:メニューなどの表示言語を切り替えるには?
に書かれているようにインターナショナルの設定で
日本語を選択しないとダメっぽいです。
(Same As Microsoft Windowsでも良いです)

という感じで、かげさんは
Language Packのダウンロード&インストールでハマりましたとさ。

ふぅ。sad

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

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

こないだの週末ツイートできなくて困った時のこと

こないだの週末ツイートできなくて結構困った。

あの時はEffekseerの制作者さんに連絡を取りたかったのだ。

ツイートしようとすると

tweet from @kage3111 failed: This action was flagged as suspicious

といったメッセージが出て全然ツイートできなかった。

規制アカウントという言葉は知っていたので調べてみたら
アカウントの制限(規制)、凍結(停止)、削除と解除について」という記事を見つけた。

レベル 1. 制限 (規制) ・ フォロー数はフォロワー数 × 1.1 まで (ただしフォロー数 2001 までは制限無し) ・ フォロー数は 1 日、1000 まで ・ ツイート数は 1 日、1000 まで ・ DM 数は 1 日、250 まで

このレベル1だと放っておくと解除されるらしいのだが
かげさんの場合、どれにも該当していない・・・

レベル 2. 凍結 (サスペンド、停止) ・ 多くのユーザーにブロック、スパム報告された場合 ・ 大量フォロー、リムーブ ・ ツールによるフォロー、リムーブの自動化(フォロー返し除く) ・ つぶやきがほとんどリンクかつ自動 ・ 出所を明示せずに他のユーザーのコンテンツを再投稿した場合 ・ 複数アカウントで多重投稿 ・ 複数のユーザーに対し、同じ内容の @ 投稿 ・ つぶやきと直接関係がないハッシュの利用 ・ 大量アカウント、半年以上活動なし、アカウント売買目的 ・ マルウェア、フィッシング ・ アイコンや背景がポルノ画像 ・ 13才未満(サービスとしては利用対象外。親の同意なしに個人情報を提供した場合は凍結。)

やはり該当しているものはない・・・

昼休みとかは、つぶやきがリツイートであることが多いので
「つぶやきがほとんどリンク」かもしれないが、自動ではない。

出所を明示せずに他のユーザーのコンテンツを再投稿した場合
基本的にリツイートする時は公式リツイートが多いから
出所はわかるんじゃないかと思っている。

複数のユーザーに対し、同じ内容の @ 投稿
複数ユーザにツイートはしていたが
同じ内容でというのは、なかったと思う・・・

ということで、なぜかよくわからん・・・shock

が、どうやら凍結解除ができるっぽいので
レベル 3. 永久凍結 (削除、BAN)ではないらしい。

解除する作業を続けていくと
携帯番号を入れるように促される。

ようするに解除申請をちゃんとしている証として
SMS(ショートメールサービス)で送られてくるコードを入力すると
解除手続きが進むって寸法です。

最終的には上記の携帯番号を入力でうまくいったのですが
実はこの解除方法を見つけるときに
この方法ではうまくいかないということが書かれている記事もありました。

Twitterアカウントロックの解除方法!私はこれでロックを解除しました!

で、実は最初は、ここに書かれていた「パスワードのリセット」を試しました。
が、最終的に携帯番号を入力したってことで分かると思いますが
その方法ではダメでした。

たぶん、この記事を書いた方は
Twitter側のトラブルで発生したものだったのじゃないかと
かげさんは、推測しています。

つまりネットの情報をよろしく調べておかないと
記事を書いた時には通用しても、
別のタイミングだと通用しないってこともあるんだね
ってことです。

まぁ、Twitterの140文字制限って
もともとSMSで使えるようにってことから出てきた制約なので
SMSを使って解決するってのはありだなぁと思いました。

その後は、無事にTwitterのアカウントは使えています。happy01

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

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

デスクトップPCのWindows8を8.1にした際のメモとか

Effekseer関連で、ずっとWindows8で作業していたんだが
Windows8.1にするってアナウンスが出たので8.1にした。

Windows10の無料アップデートは、8が対象ではないので
近いうちに8.1にするつもりだったので。

が、45分以上かかるかも?みたいなメッセージが出たが
実際は1時間15分くらいかかった・・・

まぁ、それは待ってれば良いだけなのでおいておくとして
以前ノートパソコンを8.1にした時もそうだったんだけど
意図的に止めていたPeer関連のサービスが8.1になったら復活していた。

Peer関連の3つのサービスは起動しているだけで
ディスクアクセスが増えて、
マシンが重くなるので迷惑以外の何物でもない。

今回は、Windows8にGoogle日本語入力を入れていなかったので
影響はなかったが、ノートの時には
デフォルトの日本語入力をGoogle日本語入力にしてたのが
8.1にしたことでMS-IMEに強制的に変更されてて
最初、なんだコレって思った。

きっと同じことが
Windows10へのアップグレードでも起きると予想してる。

かげさんがWindows8環境を1年半近く放置していたのは
Windows8の無駄なディスクアクセスの多さにある。

常にディスクアクセスしているから
OS自体がもっさりしていて使いたいと思わなかった。

なので、Peerは8.1になった途端に止めなおしました。
あ、IPv6もディスクアクセスが増えるので速攻で止めました。

チャームとかもすごく使いにくかったので
最初のころはWindows8を終わらせるときに
チャームから終わらせるのが面倒で
ショートカットキーのALT+F4を連打して終わらせたりもしていた。
(Windows3.1の頃からあるALT+F4連打が効いたのに驚いたが・・・)

さて、8.1のボヤキはこの程度にして
8.1側のドライバ関連の話。

ミクミキサーAG03-MIKUは、
公式サイトからドライバダウンロードだけで問題なく動いた。
もっと早く対応しとけば良かった。

問題だったのがPS3のコントローラだ。

PS3のDualshock3コントローラで初音ミク冒険記をプレイする
という記事を前に書いたのだが、ドライバがインストールできなかった。

Install MotioninJoy Driver fail.. Error code:0X-1ffffdb9

ってのが出てダメでした・・・
ノートのWindows8.1では使えてるのになぜ?

調べてみたら、
motioninjoyについて質問なのですがmotioninj」に
対処方法があったんだけど、最初にある「ホーム画面」がよくわからなかった。

「ドライバー署名の強制を無効にする方法」ってのがキーワードっぽいので
ググってみたら、下記の記事を発見!
ドライバー署名の強制を無効にする方法 - Windows8の使い方(設定/操作)
図解されているので、なるほど! こういうことね!と理解できた。

「ホーム画面ってなんだよ!」と思ったのですが
チャームのことだったのね・・・coldsweats01

そしてSHIFTキーの再起動でトラブルシューティングって
操作的に分かりにくいよ・・・shock

まとめると
・チャーム→設定→電源を選択
・「SHIFT」キーを押しながら「再起動」を選択
・「オプションの選択」画面が表示されるので、
 「トラブルシューティング」→「詳細オプション」→「スタートアップ設定」→「再起動」を選択
・しばらくしたら表示される「スタートアップ設定」画面で
 7) ドライバー署名の強制を無効にする
ってことね。

ということで早速やってみて
ドライバー署名の強制を無効にできたので
改めてDS3 Toolでドライバをインストールしたところ
うまく言認識されました!happy02

これで、デスクトップの8.1側でも初音ミク冒険記が
PS3コントローラで操作できるようになりました!happy01

PS3のコントローラは、こうしないとダメみたいですが
PS4のコントローラだと刺すだけで使えるみたいですね。

かげさんは、PS4をまだ持っていないのでわかりませんが・・・
(一応、PS4のイースが出るときに購入予定)


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

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

2015.06.29

Windows8でEffekseer本体を動かすにはDirectXのエンドユーザランタイムが必要なのね!

Windows8 の環境でEffekseerを動かそうとすると

描画画面の生成に失敗しました。DirectXのバージョンの問題、メモリの不足等が考えられます。
というエラーメッセージが出てEffekseerが起動しなかった。

ちなみに同じモジュールは Windows7 で動いていた。

なんでだ?

erroro.logが出ているから見てみよう。

System.TypeInitializationException: 'Effekseer.EffekseerNativePINVOKE' のタイプ初期化子が例外をスローしました。 ---> System.TypeInitializationException: 'SWIGExceptionHelper' のタイプ初期化子が例外をスローしました。 ---> System.DllNotFoundException: DLL 'Viewer' を読み込めません:指定されたモジュールが見つかりません。 (HRESULT からの例外:0x8007007E) 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper.SWIGRegisterExceptionCallbacks_EffekseerNative(ExceptionDelegate applicationDelegate, ExceptionDelegate arithmeticDelegate, ExceptionDelegate divideByZeroDelegate, ExceptionDelegate indexOutOfRangeDelegate, ExceptionDelegate invalidCastDelegate, ExceptionDelegate invalidOperationDelegate, ExceptionDelegate ioDelegate, ExceptionDelegate nullReferenceDelegate, ExceptionDelegate outOfMemoryDelegate, ExceptionDelegate overflowDelegate, ExceptionDelegate systemExceptionDelegate) 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper..cctor() --- 内部例外スタック トレースの終わり --- 場所 Effekseer.EffekseerNativePINVOKE.SWIGExceptionHelper..ctor() 場所 Effekseer.EffekseerNativePINVOKE..cctor() --- 内部例外スタック トレースの終わり --- 場所 Effekseer.GUI.DockViewer.DockViewer_Load(Object sender, EventArgs e) 場所 System.Windows.Forms.Form.OnLoad(EventArgs e) 場所 System.Windows.Forms.Form.OnCreateControl() 場所 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible) 場所 System.Windows.Forms.Control.CreateControl() 場所 System.Windows.Forms.Control.SetVisibleCore(Boolean value) 場所 System.Windows.Forms.Form.SetVisibleCore(Boolean value) 場所 System.Windows.Forms.Control.set_Visible(Boolean value) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.SetVisible() 場所 WeifenLuo.WinFormsUI.Docking.DockPane.set_ActiveContent(IDockContent value) 場所 WeifenLuo.WinFormsUI.Docking.DockPane.ValidateActiveContent() 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.SetDockState(Boolean isHidden, DockState visibleState, DockPane oldPane) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.set_DockState(DockState value) 場所 WeifenLuo.WinFormsUI.Docking.DockContentHandler.Show(DockPanel dockPanel, DockState dockState) 場所 WeifenLuo.WinFormsUI.Docking.DockContent.Show(DockPanel dockPanel, DockState dockState) 場所 Effekseer.GUI.GUIManager.AssignDockWindowIntoDefaultPosition() 場所 Effekseer.GUI.GUIManager.AssignDefaultPosition() 場所 Effekseer.GUI.GUIManager.LoadConfig() 場所 Effekseer.GUI.GUIManager.Initialize() 場所 Effekseer.Program.Exec(Boolean gui, String input, String output, String export, Single magnification) 場所 Effekseer.Program.Main(String[] args)

ん?
DLL 'Viewer' を読み込めません:指定されたモジュールが見つかりません。
って、同じフォルダにViewer.dllがあるんですが・・・

ここから先が分からず、別の作業をしていたら
Effekseerの制作者さんが

DirectXのEndUserRuntimeがはいってないからじゃないかと思います。

と教えてくれた!

さっそくググってみると
Windows8にゲームなどに必要なDirectX9.0cをインストールしてみる
という記事を発見。


サポートされるオペレーティング システムは
Windows 7, Windows Server 2003 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Server 2008, Windows Vista, Windows XP Service Pack 2, Windows XP Service Pack 3
となっているのでWindows8は入っていないが、使えるらしい。
DirectX エンド ユーザー ランタイム Web インストーラ

2016/06/19追記
上記のURLでつながらない場合、下記のリンクだとダウンロードできるかも
DirectX 9.0c End-User Runtime



2016/08/07追記
2016/06/19に追記したURLだとWindows8ではインストールできても
Windows 8.1やWindows 10だと、インストール段階で弾かれるようです。
こちらのリンクにアクセスしてください。
https://www.microsoft.com/ja-jp/download/details.aspx?id=35&


ダウンロードできたら「dxwebsetup.exe」を起動すれば
必要な環境はインストールされるみたい。

そして無事にEffekseerがWindows8でも起動できた!

Effekseerの制作者さん、情報提供ありがとうございます!

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

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

2015.06.27

ゲームエフェクトとセーブに関する疑問

どこでもセーブできる系のアクションRPGの場合、
エフェクト再生中にセーブして
一度ゲームを終わらせて
セーブしたデータをロードした時、
エフェクトの再生状態はどうやって保持しているんだろう?

普通に考えると
エフェクトハンドルはゲーム起動のたびに変わるはずなので
エフェクトハンドルを保持することに意味はない気がする。

となるとエフェクトにIDをつけて、
エフェクトIDからロードしたエフェクトハンドルを
再度関連付けし直すんじゃないか?
というところまでは想像できた。

でも、再生途中のコマ数とかは、どこで持っているんだろう?

エフェクト再生ハンドルから現在のエフェクトの再生コマ数を取得したり
エフェクト再生時にどのコマから再生するか指定する
ってのがあれば、実現できそうな気がする。

だが、EffekseerForDXLib.hを見た感じだと
エフェクトを更新する関数はあっても、
現在どこまで再生しているかを取得するような関数は無さそうに思う。

ちなみに市販のエフェクトツールのBISHAMONは
どうなっているんだろう?
と思って以下のURLでAPIを確認したが、やはりそれらしいものは無い。

BishamonSDKDocument
Function
http://www.matchlock.co.jp/products/document/sdk_document/unity/group___d_l_l.html

キャンプメニューに入るとか一時的な中断なら
今のままでも問題無いと思っているんだけど
どこでもセーブできること考えると
フレーム数が長いエフェクトほど見た目上の問題が出る気がする。

例えば攻撃のエフェクトの場合、
エフェクト再生中にセーブして、そのデータをロードした時、
攻撃などのタイマーの都合で先に攻撃モーションが切れて
当たり判定が消失するのに
攻撃エフェクトだけ再生されるといったことがある気がする。

逆にロードした時にはエフェクトを再生しないといった場合
目に見えない当たり判定が残ることがありえる。

こういうのがあるから、
アクションゲームだとセーブポイント制が多いのかな?

Wikipediaのセーブポイントゲームによると
https://ja.wikipedia.org/wiki/%E3%82%BB%E3%83%BC%E3%83%96%E3%83%9D%E3%82%A4%E3%83%B3%E3%83%88_(%E3%82%B2%E3%83%BC%E3%83%A0)

プレイヤーの緊張感を高めるためやプログラム上の都合のため、セーブできる箇所を制限するものがある。
・どこでもセーブできると、挽回できない場面でセーブしてしまう場合がある。
・どこでもセーブできると、場当たり的にセーブしがちである。
 前項のほか貴重アイテムの消費などセーブ前にしてはいけないことについてプレイヤーに考えさせる。
・セーブポイントの設置によって、別のレベルの難易度調整を加えられる。
・再開時にセーブポイントまで大きく戻ることで、ゲームオーバーに避けるべき動機付けをする。
とある。

別にエフェクト再生が、とかは書いていない・・・

そもそも、なぜ初音ミク冒険記で、
いつでもどこでもセーブ方式にしたのか?

実は、かげさんがアクションゲームを
作ったことが無いから、というのが理由だったりする。

アクションゲームの場合だと特定の条件下でしか発生しない
不具合とかが多そうな気がしていて
その不具合が発生する条件の再現がしやすいようにしておきたい!
という思いがあったのだ。
(セーブポイント制だとそのマップまで移動しないといけないから
 デバッグ効率が悪いと思ったので)

実際、初音ミク冒険記では特定のマップでの当たり判定、
イベントフラグの組み合わせパターンの考慮漏れといった
特定条件でしか見つからない不具合も多々残っている。

原因がわからないものとかは、セーブデータとして残しておいて
何か解決の糸口を思いついたら対応するということをしている。

このため、障害チケットには
セーブデータ何番を使って再現テストするといった記載もしている。
追加のセーブ情報としてデバッグ用にセーブデータコメント機能を
つけたのもこの辺りの事情が関係している。

「いつでもどこでもセーブ」と「セーブポイント制」は
こう考えると一長一短に思う。

まぁ、セーブデータの方式の考察は、この記事の本題じゃないから
このくらいにしておこうか、
エフェクトの再生中にセーブしたデータをロードした時の話だ。

おそらく想像では、EffekseerのAPIの内部とかBISHAMONのAPIの内部では
エフェクト再生時のコマ数とかフレーム数は保持していると思う。

かげさんのマシンにインストールされていないBISHAMONは置いておくとして
Effekseerに再生中エフェクトのコマ数の取得や設定ができるか、
何かエフェクト再生状態のセーブ、ロード機能がアレば良いのだが・・・

これが気になったのは、
現在一時的に表示されるエフェクトでコマ数が絡みそうなのが
実は敵の消失エフェクトくらいしか無くて
しかも一時的に表示されるエフェクトはセーブデータに含めていない。

敵の消失なのでロード時にエフェクトが再生されなくても
問題無いと思っていたからだ。

クイックステップやバックステップ、クイックムーブなどは
移動キーを押している状態でないと発動しないので
ロードした直後にキーを押していなければ
解除されるから特に問題視していなかった。

ストライクショットやヒールでは、モーション中は硬直時間があるので
キャンプメニュー等の操作ができないから、コレも問題なかった。

エフェクト再生できるようになるなら、やっぱりセーブしたいんだが・・・

いつでもどこでもセーブにこだわらなければ
現在のリトライと同じくマップ入口スタートにしたり
セーブポイント制にして、
そもそもエフェクト情報をセーブしないようにする
という回避策もあるんだよなぁ・・・

うーむ。

2015/07/19追記
この記事を書いた後のEffekseerの製作者さんとのやりとり



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

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

Effekseerの2Dエフェクトの描画順

記事にするのを忘れていました。

Effekseerを使うにあたっての疑問
で書いた描画の順番の話です。

一部再掲になりますが
Boukenkideeffekseer2

この画像だとミクの下の赤いエフェクトが
ミクの手前じゃなく、ミクの奥で描画して欲しいといったことはできるんだろうか?

例えば、初音ミク冒険記だと
1.マップレイヤー1(超ゆっくり動く背景)
2.マップレイヤー2(ゆっくり動く背景)
3.マップレイヤー3(ミクと一緒の速さで動く背景)
4.エフェクト1を再生(赤いエフェクト)
5.ミクを描画するレイヤー
6.マップレイヤー4(ミクと一緒の速さで動くけどミクより手前の背景)
7.マップレイヤー5(ミクより早く動くミクより手前の背景)
8.エフェクト2を再生(緑のエフェクト)
というのがあったとして
上から順番の描画順にしたい。

Effekseerの製作者さんに相談したところ
・DrawEffekseer2D_Begin
・DrawEffekseer2D_Draw
・DrawEffekseer2D_End
という関数を作ってくれました!happy02

このため、こんなふうに目的とすることができました!lovely
Boukenkideeffekseer3

・DrawEffekseer2D_Begin
・DrawEffekseer2D_Draw
・DrawEffekseer2D_End
の3関数の中身としては、
DrawEffekseer2Dの中身を分解した内容とのことで
DrawEffekseer2Dとの併用はしてはいけません。

使い方としてはエフェクトを使いたいところで
以下のようにするイメージです。

DrawEffekseer2D_Begin();
DrawEffekseer2D_Draw(effectHandle);
DrawEffekseer2D_End();

なお、

	while(ProcessMessage() != -1){
// 画面消去(ループの最初に必ずする)処理
ClearDrawScreen();
DrawEffekseer2D_Begin();
数々の描画処理(この間でDrawEffekseer2D_Drawを使う)
DrawEffekseer2D_End();
// 画面入れ替え(ループの最後に必ずする)処理
ScreenFlip();
}

のようにProcessMessageの最初のほうでDrawEffekseer2D_Beginして
最後のほうでDrawEffekseer2D_Endする
というのではなく、エフェクト描画のところだけピンポイントで
DrawEffekseer2D_BeginとDrawEffekseer2D_Endでくくるようにします。

つまり、上の図だと赤いエフェクトと緑のエフェクトで
それぞれ
・DrawEffekseer2D_Begin
・DrawEffekseer2D_Draw
・DrawEffekseer2D_End
を呼び出しています。

さて、ここでかげさんが気になったのは
UpdateEffekseer2Dのタイミングです。

EffekseerのサンプルのプログラムだとUpdateEffekseer2Dは
DrawEffekseer2Dの直前にあります。

・DrawEffekseer2D_Begin
・DrawEffekseer2D_Draw
・DrawEffekseer2D_End
の3関数の中身としては、
DrawEffekseer2Dの中身を分解した内容ということは順番はどうなるの?
順番は入れ替わっても良いの?

ということで、Effekseerの製作者さんに確認しました。
すると

DrawEffekseer2D_Begin
DrawEffekseer2D_Draw
DrawEffekseer2D_End
間に処理がある
DrawEffekseer2D_Begin
DrawEffekseer2D_Draw
DrawEffekseer2D_End
間に処理がある
UpdateEffekseer2D
みたいに、ProcessMessageのループ内で
ScreenFilp前ならどこでも良いみたいです。

うん、疑問が1つ解決してスッキリした!happy01

あ、そういえば、そもそもなぜこんなことを疑問に思ったのかを
書いていなかった気がする・・・

この本にゲームエフェクトの大雑把なカテゴリ分け
というのが載っていたからです。

BISHAMONゲームエフェクトデザイン入門 (GAME DEVELOPER BOOKS)

■キャラクターに属するもの
武器の軌跡や魔法の演出などがあり
アクションエフェクト、バトルエフェクトなどとも呼ばれる。
キャラクターの特定のアニメーションの特定タイミングで表示する事が多い。
常に体が燃えているなどの恒久的なエフェクト(溶岩系の敵とか)や
水辺に入ったら水しぶきといった特定条件下で表示するエフェクトがある。

■背景に属するもの
暖炉の炎、木陰から差し込む光、バリアなど
特定の場所に設置して表示し続けるエフェクト。
マップエフェクト、BGエフェクトなどとも呼ばれる。

■画面に属するもの
画面(カメラ)にたいして表示するエフェクト。
必殺技での集中線とか、雨や雪をカメラの特定部分に降らせるなど。
ポストエフェクトで、がめんそのものに様々な効果を与えることもある。


この中の「背景に属するもの」としてやりたいことが
いくつかありまして、
それもマップ制作が進んでいなかった理由の1つだったりします。

で、Effekseerが使えるなら、やりたかったことが実現できるかも!?
と考えた時に、DrawEffekseer2Dだと
「画面に属するもの」とか「キャラクターに属するもの」はできそうだけど
2Dゲームで「背景に属するもの」をやろうとすると
エフェクトが常に最前面だと困るのです・・・

ちょっと今の初音ミク冒険記だと例が見つからないけど
例えば、先の例だと「暖炉の炎」をやる場合
ミクが暖炉の炎の前を通る時に炎だけ前に出ると困るなぁと思ったのです。

背景エフェクトは、いくつもAstlibraの実装例があるので
それを真似できる所は真似しようと思っていたのですが
そもそもマップのグラフィックが全然出来ていないので
エフェクトの実装どころじゃなかったんですよね・・・

まぁ、それは今も変わんないのですが、
それでもやりたいと思ったことの実現可能性が高まったのは嬉しいです!
Effekseerの製作者さん、関数の追加、ありがとうございます!happy02

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

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

2015.06.23

Visual Studioのバージョン間の違いについて(2008 → 2012)

軽く書くつもりだったが
また、長文になってしまった・・・shock

最近の記事を読んでくれている人にとっては
くどいかもしれないけど
現在のかげさんのデスクトップ環境は、
以下のようになっています。

Windws 7:Visual Studio 2008
Windws 8:Visual Studio 2012

以前は、ノートパソコンに
Visual Studio 2010の環境もあったのですが
初音ミク冒険記を2008で作っていた関係で
実家に帰る時にノートパソコンを持って行った時に
2010のソリューションに変換されるといった面倒くさいことがあったので
Visual Studio 2010の環境はアンインストールしちゃいました。

なので、2010に関する情報は残念ながらありません。coldsweats01

2015/07/20追記
2008→2010以上のタイミングが一番面倒なようです。

Windows8に2012を入れることにした段階で

Visual Studio 2012のソリューションファイルを
Visual Studio 2008で開けるようにしたい
と思っていました。

ここからは毎回Visual Studioと入力するのが面倒なので
以下、Visual Studioを「VS」と省略します。

さて、マイクロソフトの情報によると
旧バージョンの Visual C++ からのプロジェクトのアップグレード

というページに
ビルドシステムは
VS2005で導入されたビルドシステムはVCBuild。
それがVS2010からMSBuildに変わったとあります。

つまり、かげさんのメイン開発環境のVS2008は
VCBuildを使ってます。

さらに「ビルド システムの変更点」には

.vcproj → .vcxproj
.vsprops → .prop

とある。

つまり、ソリューションファイルから連携している
プロジェクトファイルは、ファイル形式が変わった。

そして、プロジェクトのプロパティシート
要するにコンパイラやリンカーなどのビルドツールのスイッチ、
ユーザ定義マクロとかが変わったらしい・・・

他にもデバッグと配置の設定のユーザファイル、
VC++ディレクトリの設定が変わったようだ。

もしかして、VS2012にした時にリンクの情報とかが落ちた原因は
コレじゃないだろうか?

Effekseer用にVS2012にした時のことを考えてみる。
・DXライブラリのパスが抜けたのはコンパイラ指定
・リンカーの設定が変わったのはビルドツールのスイッチ
・デバッグ時のコマンドライン引数が消えたのはユーザファイル

うん、上記は、ビルドシステムの変更点から来ている感じがする。

リンカーのSAFESEH のスイッチに関連するリンクエラーは
DXライブラリの掲示板に
VisualStudio2012について」という記事があり書いてあった。

VS2012でReleaseビルドすると起きる問題というのが載っていたので
これはDXライブラリとVSとの関係で発生するみたいなのでOKだ。

「PDB形式に互換性」については
リビルドではなくビルドにした関係で、
2012のビルドで生成されなかったPDBが
2008形式のPDBのまま残っているからだと思うので、これもOKだ。

ということで、VS2008 → VS2012のバージョンアップで
Effekseerの導入に当たって調べた長い道のり?3
に書いた問題の原因は、一通り納得できた感じだ。happy01

ビルドシステムの変更点が中心だったことを考えると
アップグレード時点の指定を何か間違ったのかもしれないな・・・

それとVSのバージョンアップで面倒くさい記憶があったのは
もしかするとノートを2010にした時にこのあたりのことで
面倒だと思ったのかもしれない・・・shock

さて、ここまでの情報を前提条件として、ちょっと考えてみる。

.vcproj → .vcxproj
.vsprops → .prop

これは、ファイル形式が変わっているみたいなので
おそらくソリューションファイルのアップグレード時点で
バックアップとして従来の古い設定ファイルが残っている気がする。

残っていればプロジェクトファイルとプロジェクトの設定は
問題ないことになる。

ソリューションファイルについて考える
これまでのVSの各バージョンのソリューションファイルの構成から
想像ではVC++のバージョン情報とかVSのバージョン情報のコメントが変わって
プロジェクトファイルの拡張子が
新しい拡張子の方に変わっているだけじゃないだろうか?

この予想の元、VS2008の初音ミク冒険記と
VS2012のEffekseerを導入した初音ミク冒険記のフォルダをDFで比較する。

まず、フォルダを比較すると
バックアップフォルダが新しくできているので、後で確認する。

初音ミク冒険記を起動して作業に使ったフォルダが変わってるのはいいとして
SoundとTextureのフォルダが増えてるのはEffekseerの関連なので問題なし。

他に増えているのは、Effekseerの導入で試しに置いたエフェクトファイルなので
これも問題ない。

変更が入ったソースもEffekseerの導入関連で変更したソースなので問題なし。

そして、変換レポート(UpgradeLog.htm)が見つかった。
そういえば、そんなのがアップグレードした時に表示された気もする。coldsweats01

それによると

HatsuneMikuBoukenki.sln: このバージョンと Visual Studio 2010 SP1 でプロジェクトを問題なく開くことができるように、このプロジェクトには機能とは関係のない変更を加える必要があります。
と書かれている。

うん、結局、変更が必要ってのは最初から書いてあった(笑)

そして、このメッセージから想像すると
VS2010 → VS2012だと問題なく移行できるんじゃないかと思えてきた。

この情報は、もしかするとVS2010 → VS2012に
バージョンアップしようとするときには役立つかもしれない。
(未検証だから、推測の域は出ないけど・・・)

2015/07/20追記
Visual Studioの2010、2012、2013をインストールしたので
VS2010のサービスパックを当ててから
Astlibraの4章の頃のソースを使って
2010でソリューションを作って2013で読み込む実験をした。

ソリューションファイル.slnなどのバージョンアップは
自動で行われるもので問題なくて、
リビルドしただけで2013で動きました。

1箇所SAFESEHの警告が出ましたが、
リンカーの設定を変更することで解決できました。

ソリューションの変換は、C#側も2008→2010が問題が起きやすそうなメッセージが出てた。
VC++だと2012→2013は割と単純みたい。

他には変換レポートには

HatsuneMikuBoukenki.vcproj: VCWebServiceProxyGeneratorTool はサポートされなくなりました。このツールはプロジェクト設定から削除されました。
とあった。
そんなものは使っていないはず、なので問題なし。

HatsuneMikuBoukenki.vcproj: プロジェクト ファイル 'D:\Visual Studio 2008\Projects\HatsuneMikuBoukenkiEffecseer\HatsuneMikuBoukenki.vcproj' を変換しています。 HatsuneMikuBoukenki.vcproj: 新しいプロジェクト ファイル 'D:\Visual Studio 2008\Projects\HatsuneMikuBoukenkiEffecseer\HatsuneMikuBoukenki.vcxproj' に変換されました。
これはvcproj → vcxproj変換がうまく言ったということでOKだ。

それとBackupフォルダができていて、そこに
HatsuneMikuBoukenki.sln
HatsuneMikuBoukenki.v11.suo
がバックアップされていた。

なるほど、ソリューションファイル(.sln)と
ソリューション ユーザ オプション(.suo)が退避されているのね。

それじゃあ本題のソリューションファイルとかを見てみよう。

Vs_version_df01

左がVS2012、右がVS2008だ。

色が白い所は、同一内容のファイル
黄色い所は、違いがあるファイル
灰色の所は、存在しないファイル

vcprojが変わっているが、これは確認したところ
Vs_version_df02

Win7とWin8でLuaのライブラリのフルパス指定のドライブ文字の違いが
2箇所(includeとlib)だったので、予想通り変更なしと見て良い。

問題のソリューションファイル。

Vs_version_df03

差があるのは2~4行目の3行だ。

行ごとに差分を見てみる。

Vs_version_df04

うん、最初の2行は予想通り、VSとVC++のバージョンが変わってて
最後の1行は、VC++のプロジェクトファイルの拡張子が
.vcproj → .vcxproj となっているだけである。

結論:予想通りscissors

ということで
VS2012側の.slnとvcprojのバックアップを取ってから
VS2012側のフォルダにVS2008フォルダにある
.slnとvcprojを上書きする。

これでWindows7のVS2008側で.slnを開けるはず・・・

うん、開けたね!happy02

これでビルドして2008で「ビルドができなければ」期待通りだ。

現在はEffekseer関連が2012、2013限定なので
Effekseer関連のことでビルドエラーが出るはず。

じゃあ、リビルド!

ん? 予想してたのは、
「VisualStudio(C++)2012,2013のみ対応しています。」という
ビルドエラーなんだけど

fatal error C1083: include ファイルを開けません。'stdint.h': No such file or directory
とか出てる・・・coldsweats02

stdint.hってC99のヘッダじゃなかったっけ?
2008でもありそうなんだけど・・・

まぁ、いいや。
エラーになるのがEffekseer.hということは、
EffekseerForDXLib.hの中からincludeしているからなので
Effekseer関連のエラーといえば、そうとも取れる。

念のため


#if 1900 > _MSC_VER && _MSC_VER >= 1700
#include "EffekseerForDXLib.h"
#else
#error VisualStudio(C++)2012,2013のみ対応しています。
#endif

としてビルドすると期待通り、2008だから
「VisualStudio(C++)2012,2013のみ対応しています。」という
ビルドエラーになった。

よし、Effekseer関連のロジックは
myEffect.cppに固めるつもりをしているから
そこで上記のように、Effekseer関連のロジックを
VC++のバージョンによる分岐を作れば
2008でEffekseer関連のロジックをビルドしないようにできるはず。

今回は、.slnと.vcprojを上書きコピーしたけど
2008側のファイルをEffekseerForDXLibの
サンプルソリューションファイルの名前を真似して
HatsuneMikuBoukenki.sln

HatsuneMikuBoukenki_2008.sln
のように_2008をつけて、_2008.slnの中の.vcprojのファイル名を
_2008付きにしてやれば、同じcppやhを利用して
2008と2012の両方で起動できるようになる。

こうしておけば、cppやhが増えた時とかリンクするlibが増えた時は
増えたソースやライブラリの追加方法をまとめた記事を作っておくことで
XPやVISTA環境で初音ミク冒険記のソースを古いVisual Studioで開けるので
新しいバージョンのVisual Studioをインストール出来ない環境の人も
フォローできるんじゃないかな?

これで、ななしあさん、satoshifukushimaさん、フライさんたちの
マシンのOSがWindows 7以上になっていなかったとしても
初音ミク冒険記のソースを参考にし易いんじゃないかと思う。

Visual Studio 2008で開ける状態を
キープしておきたいのの理由は
エフェクトツールBISHAMON、Effekseer、Prominenceのこととか、いろいろまとめたかったけど、実際は、まとまりきっていないZE☆
にも少し書いたように
初音ミク冒険記に関してのコメント率の高い人たちの
環境がXPやVISTAという話が出ていたからだ。

最近はコメントをもらえていないから
普段は見てもらえていないのかもしれないけど
2012年とか、制作の早い段階から
初音ミク冒険記の開発の励みになるコメントをくれている人たちを
ガン無視する形でVisual Studioをバージョンアップするのだけは
避けたいと思ってたから、なんとか目処が立ちそうで良かったと思う。

とりあえず、Effekseer関連の処理をmyEffect.cppに持って行き
Luaから呼び出せるところまでは、今の環境のまま作業しようと思う。

で、それができたら、
Win8側にVisual Studio Community 2013を入れて
Effekseer関連のビルドに問題が起きないことを確認して
今回みたいにVS2012とVS2013のソリューションや
プロジェクトファイルの比較をしてとやって
その上で、VS2013でビルドが通ったソースのままで
VS2008で開けるというのを検証できてから
メイン開発環境にVS2013を入れようと思う。

若干くどい回り道だが、たぶん検証にも意味はあるでしょうってことで。happy01

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

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

2015.06.21

Effekseerの導入のテスト動画

ども、EffekseerのDXライブラリのサンプルを参考に
初音ミク冒険記に組み込んでいるかげさんです。

エフェクト作成ツールEffekseerで作られたエフェクトを再生できるんで
せっかくなので組み込み途中のテスト動画を作ってみました。

動画編集は超手抜きです。

AVIUtilとかで解説用字幕の表示タイミング調整とかが面倒だったので
CeVIO Creative StudioのONEで解説を作って適当に調声した上で
それを流しながら1発撮りするとかやってます。happy01

でも、音量調整とかしてないので、ONEの声が小さくなっちゃいました・・・gawk
もうちょっと初音ミク冒険記本体のBGMや効果音の音量下げても良かったかもしれません。
まぁ、雰囲気は伝わるんじゃないかと。

なお、ブルーワームの弾が途中で消えるのは
たぶん、エフェクトの再生時間の都合だと思います。

Effekseerでエフェクトをバリバリ作れるようになれたら
楽しいことになりそうですね!note

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

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