|
|
2012/7/28(Sat) 12:02:24|NO.47998
HSPのeasy3Dなんですが、
e3dhsp3.dllをhsp31に入れて
e3dhsp3.asはhsp31のcommonのなかに入れました。
ですがeasy3Dが起動しません。
ちなみにず〜と待つとエラーになります
OS win7
HSP3.3
|
|
2012/7/28(Sat) 12:07:57|NO.47999
HSP 3.3 なのに、hsp31 フォルダに入れたんですか?
|
|
2012/7/28(Sat) 12:53:49|NO.48000
ミスです。
HSP33でした。
|
|
2012/7/29(Sun) 15:40:30|NO.48022
まったくやっても無駄でしたね。
今までやったことをまとめるのですが、
Easy3D For HSP3 ver5.5.1.9(34,174KB)のダウンロード
<E3D_EXT、e3dhsp3.dll、e3dhsp3.as>
<msvcp100.dll、msvcr100.dll>
e3dhsp3.as→commonに入れる。
あとのファイルはHSP33フォルダーに入れています。
そしてあとはプログラムどおり起動↓
#include "e3dhsp3.as"
dim keybuf,256
screenw = 640 : screenh = 480
screen 0, screenw,screenh,1
title "テストです"
;E3D初期化
E3DEnableDbgFile
E3DInit 0, -1, 0, 16, 0, scid1
//モデルデータ読み込み
pathbuf = dir_cur + "\\Media\\miku\\miku.sig"
E3DSigLoad pathbuf, hsid1
posx1 = 0.0 : posy1 = 0.0 : posz1 = 0.0
E3DSetPos hsid1,posx1,posy1,posz1
//カメラの初期化
camposx = 0.0 : camposy = 800.0 : camposyz = -2000.0
E3DSetCameraPos camposx,camposy,camposz
E3DSetCameraTarget posx1,posy1 + 800.0,posz1,0.0,1.0,0.0
//プロジェクト変更
proj_near = 1000.0 : proj_far = 30000.0 : proj_fov = 60.0
E3DSetProjection proj_near,proj_far,proj_fov
//ライト作成
lightdirx1 = 0.0 : lightdiry1 = 0.0 : lightdirz1 = 1.0
lightr1 = 255 : lightg1 = 255 : lightb1 = 255
E3DCreateLight lid1
E3DSetDirectionalLight lid1, lightdirx1,lightdiry1,lightdirz1,lightr1,lightg1,lightb1
*main
//keybuf変数はメインループの外で
//dim,keybuf,256として、
//確保しておいてください。
E3DGetKeyBoardCnt keybuf
if keybuf(VK_ESCAPE) !=0 : goto *bye
E3DBeginScene scid1
E3DChkInView scid1,hsid1
//不透明部分を描画する
E3DRender scid1,hsid1,0,0,0
//半透明部分の描画をする
E3DRender scid1,hsid1,1,0,0,0,0,1
E3DEndScene
E3DPresent scid1
E3DWaitbyFPS 60, chkfps1
await 0
goto *main
*bye
E3DBye
end
そうして起動するとE3DSigLoad pathbuf, hsid1がエラーっというふうになります。
どうしたらいんでしょうか?

| |
|
2012/7/29(Sun) 16:27:55|NO.48024
まず付属サンプルが動くかどうか確認
>そうして起動するとE3DSigLoad pathbuf, hsid1がエラーっというふうになります。
ファイルがロードできてない
そのファイルがあるかファイルパスが間違って無いか確認
|
|
2012/7/29(Sun) 21:54:39|NO.48033
> >そうして起動するとE3DSigLoad pathbuf, hsid1がエラーっというふうになります。
> ファイルがロードできてない
> そのファイルがあるかファイルパスが間違って無いか確認
まずはそのあたりでしょうね。
E3DSigLoad の直前に次のように書き足してみてください。
pathbuf = dir_cur + "\\Media\\miku\\miku.sig"
exist pathbuf
if strsize = -1 : dialog "ファイルが見つかりません。\n" + pathbuf : goto *bye
> メタセコイアで材質を設定していない面があるままsigにしたデータの読み込みが
> エラーになるというバグがありました。
もしかしたら未発見のバグの可能性もないとは言い切れないので、まずはサンプルで付いてきたsigファイルを読み込んで見ることをおすすめ。
|
|
2012/7/29(Sun) 23:00:41|NO.48034
sigファイルでいろいろ試しましたが全然ダメでした。
そのほかサンプルなども試しましたが、それでもダメでした。
やっぱりそもそもファイルの配置場所が間違っているんでしょうか?
ファイルの配置場所を正確に細かく教えてください。
|
|
2012/7/30(Mon) 04:22:33|NO.48036
サンプルが動かないとなると
可能性はほぼ3つに絞られてくるかと思います。
1、HSPをProgram Filesフォルダなどにインストールしている。
Program Filesなどのフォルダは
最近のOSでは書込み保護機能が働くので
ユーザーがファイルをコピーして、そこにファイルがあるように見えても
実際には働かなかったりします。
C:\HSP33などの階層の浅いところにインストールし直してみてください。
2、ビデオカードがシェーダー2に対応していない。
この場合は実行するとその旨を表示するダイアログが出ます。
3、サンプルのスクリプトだけを移動して実行している。
スクリプトの場所とMediaフォルダの場所には依存関係があります。
スクリプトだけを移動して実行するとエラーになります。
という感じでしょうか。
エラー1の場合はエラーが起きた後のdbg.txtをerrorという単語で検索すると
原因が書いてあることが多いです。
dbg.txtの中のerrorの行を全てここに書き出して報告ください。
|
|
2012/7/30(Mon) 14:21:54|NO.48048
少し昔のヴァージョンでもそんなことがあった気がします。
あの時どう解決したか思い出せない…
|
|
2012/8/2(Thu) 22:37:49|NO.48092
仕事とかで返信遅れてしまいました。
まず先程の↑のプログラムで起動すると
エラー38、ライン14
何度やっていても外部エラーDLLの呼び出しに失敗をしてしまいます。
>>おちゃっこ
例のdbg.txtです。
これで何かわかるんでしょうか?
InitFunc: dbgfile created
E3DHSP VERSION 5521
CPU Vender: "GenuineIntel"
Family: 6 Model: 12 Stepping ID: 0
Supported CPUID: 1
Supported MMX: 1
Supported SSE: 1
Supported SSE2: 1
Supported 3DNow!: 0
Supported Enhanced 3DNow!: 0
SetModuleDir : C:\hsp33\
SetResDir : C:\hsp33\
Initialize3DEnvironment : multisample not use 0 0
d3dapp : Initialize3DEnvironment : MaxVertexShaderConst 8192
d3dapp : check Bump Enable 1 : VS -130304, PS -65024, streams 16
d3dapp : HW Vertex Pixel Processing enableInitialize3DEnvironment : MaxStreamStride 255
E3DInit : Width 640, Height 480
E3DInit : ModuleName : e3dhsp3.dll
CTreeHandler : Add2ElemIndex : serino 0
CShdHandler : AddShdElem : srcseri 0, brono 0, srcdepth 0
CShdHandler : constructor : check : s2shd_leng 1
CMotHandler : AddMotionCtrl : srcseri 0, brono 0, srcdepth 0
CMotHandler : constructor : check : s2mot_leng 1
CTreeHandler : Add2ElemIndex : serino 1
CShdHandler : AddShdElem : srcseri 1, brono 0, srcdepth 1
CMotHandler : AddMotionCtrl : srcseri 1, brono 0, srcdepth 1
shddata.cpp : Destroy3DObj
charpos2.cpp : CMeshInfo : NewMeshInfo : m 2000, n 1, total 2000
shddata.cpp : Create3DObj
CShdColor : SetColors
HuSound : Init : start
HuSound : Init : Success : end
texbank : miplevels 1
E3DInit sccess
CTreeHandler : destructor : free s2e
CShdHandler : destructor : delete elem
CMotHandler : destructor : delete elem
CloseDbgFile

| |
|
2012/8/3(Fri) 12:29:48|NO.48097
…まず確認ですが、GENKIさんのスクリプトは試してみられましたか?
まだでしたら、今すぐやってみて下さい。
|
|
2012/8/3(Fri) 15:09:53|NO.48098
dbg.txtにはエラーは出てないですね。
とおりすがりさんの言うように、GENKIさんのスクリプトをためしてください。
|
|
2012/8/4(Sat) 04:53:16|NO.48100
>> GENKIさん
のプログラムを何度も挑戦をしたのですが、前のプログラムとGENKIさんのプログラムでも
対して変わりません。
GENKIさんのプログラムだと意味ありません。
僕が指摘するのは単にファイルの場所の問題だと思うのですが・・・。
もうハッキリ言わせてもらいますが、バグだと思います。
これだけやって徹夜をして、なおかつプログラムなどをまさかとおもいつつやっても
変わりはありませんでした。
それだけやって何も成果なしっと言う風になってしまうと
結局バグじゃないんでしょうか?
>>a-okada@米国
はやく思い出してほしいです。
お願いします。
>>おちゃっこ
おちゃっこさんの緊急処置は何も意味がないと思います。
後またなんですがdbg張っておきます。
InitFunc: dbgfile created
E3DHSP VERSION 5519
CPU Vender: "AuthenticAMD"
Family: 15 Model: 12 Stepping ID: 0
Supported CPUID: 1
Supported MMX: 1
Supported SSE: 1
Supported SSE2: 1
Supported 3DNow!: 0
Supported Enhanced 3DNow!: 0
SetModuleDir : C:\hsp33\
SetResDir : C:\hsp33\
Initialize3DEnvironment : multisample not use 0 0
d3dapp : Initialize3DEnvironment : MaxVertexShaderConst 256
d3dapp : check Bump Enable 1 : VS -130560, PS -65024, streams 16
d3dapp : HW Vertex Pixel Processing enableInitialize3DEnvironment : MaxStreamStride 508
E3DInit : Width 640, Height 480
E3DInit : ModuleName : e3dhsp3.dll
CTreeHandler : Add2ElemIndex : serino 0
CShdHandler : AddShdElem : srcseri 0, brono 0, srcdepth 0
CShdHandler : constructor : check : s2shd_leng 1
CMotHandler : AddMotionCtrl : srcseri 0, brono 0, srcdepth 0
CMotHandler : constructor : check : s2mot_leng 1
CTreeHandler : Add2ElemIndex : serino 1
CShdHandler : AddShdElem : srcseri 1, brono 0, srcdepth 1
CMotHandler : AddMotionCtrl : srcseri 1, brono 0, srcdepth 1
shddata.cpp : Destroy3DObj
charpos2.cpp : CMeshInfo : NewMeshInfo : m 2000, n 1, total 2000
shddata.cpp : Create3DObj
CShdColor : SetColors
HuSound : Init : start
HuSound : Init : Success : end
texbank : miplevels 1
E3DInit sccess
CTreeHandler : Add2ElemIndex : serino 0
CShdHandler : AddShdElem : srcseri 0, brono 0, srcdepth 0
CShdHandler : constructor : check : s2shd_leng 1
CMotHandler : AddMotionCtrl : srcseri 0, brono 0, srcdepth 0
CMotHandler : constructor : check : s2mot_leng 1
e3d : SetResDir : RESDIR : C:\Users\トンカチ社長\
sh : SetDirName : m_dirname C:\Users\トンカチ社長\
sigfile : LoadSigFile : media not found error C:\Users\トンカチ社長\Desktopmediaarm6_bonearm6_bone.sig!!!
handlerset : LoadSigFile : sigfile LoadSigFile error !!!
easy3d : E3DCreateHandler : LoadSigFile error !!!
E3DSigLoad : SigLoad_F error C:\Users\トンカチ社長\Desktopmediaarm6_bonearm6_bone.sig !!!
やっぱり僕のファイルの配置場所が間違っているんでしょうか?
皆さんはどの用にファイルを配置しているのか教えてください。
たぶんそれでこの質問自体は片つくと思います。

| |
|
2012/8/4(Sat) 06:12:25|NO.48102
>ポイポイ
今度はdbg.txtにエラーの原因が出てますね。
media not found error
つまりsigファイルのパスが間違っているのです。
GENKIさんのスクリプトで検出できるあなたのバグです。
「ファイルが見つかりません」ってダイアログが出たでしょ??
|
|
2012/8/4(Sat) 06:18:42|NO.48103
補足
E3D関係のファイルの配置が間違っていた場合は
E3DSigLoadじゃなくて、E3DInitでエラーになるはずです。
ですのでファイルの配置はあっていると思われます。
sigファイルのパス指定のミスです。
|
|
2012/8/4(Sat) 06:21:27|NO.48104
補足その2
C:\Users\トンカチ社長\Desktopmediaarm6_bonearm6_bone.sig
というファイルを探して、それが無くてエラーになっています。
見たところ"\\"が抜けているような印象ですが。
|
|
2012/8/4(Sat) 10:23:56|NO.48106
>そのファイルがあるかファイルパスが間違って無いか確認
これが出来て無い・・・
>> GENKIさん
> のプログラムを何度も挑戦をしたのですが、前のプログラムとGENKIさんのプログラムでも
> 対して変わりません。
この書き方じゃ他人は判断できない
違いが有るならはっきり書く
NO.48022のなら
pathbuf = dir_cur + "\\Media\\miku\\miku.sig"
mes pathbuf
みたいにして、まず指定に間違いが無いかを確認
dir_curはエディタから実行する場合
エディタ上(タブ毎)のカレントフォルダだから注意が必要
|
|
2012/8/4(Sat) 15:35:47|NO.48107
なんだろう…このピリピリした空気。(´・ω・`)
> >> GENKIさん
> のプログラムを何度も挑戦をしたのですが、前のプログラムとGENKIさんのプログラムでも
> 対して変わりません。
>
> GENKIさんのプログラムだと意味ありません。
うーむ。言葉足らずで意図が伝わらなかったようですね。すみません。
まずはデバッグの基本、「現状確認」が必要だと思いましたので、記載したあのスクリプトはそのためのものです。
sigファイルのパスの正しいものになっているか、指定が適切になっているか確認しています。
ですので、今起きている問題を直接解決するものではありません。
ということで私のスクリプトを加えたら「ファイルが見つかりません。」というメッセージが出ましたでしょうか?
もし出てきていればポイポイさんのファイルの指定が間違っています。E3DSigLoad命令に原因があるわけではありません。
出て来なかったらファイルの指定は合っているので他の原因です。また原因探しをしましょう。
このようにデバッグは、ありそうな原因を1つずつあたっていって原因箇所を見つけ出すことが第1ステップです。
第2ステップ、解決手段は原因が見つかってから考えます。
> もうハッキリ言わせてもらいますが、バグだと思います。
この気持ちよくわかる。w
私も何度もいろんなモジュールやプラグインで、これバグ何じゃないか?!いやこれ絶対バグだろ!と呪いつつプログラムした経験が何度もあります。
はまるとなかなか抜け出せないんですよね。
まあ私の場合は大抵自分のミスや勘違いだったわけですが…。いつも質問文を下書きしてる途中で解決するパターンでした。w
> これだけやって徹夜をして、なおかつプログラムなどをまさかとおもいつつやっても
> 変わりはありませんでした。
徹夜は作業効率がおちるのでおすすめしません。目がさめているようで意外と頭働いてませんよ。
どつぼにはまって抜け出せなくなったら「あえて寝る」ことをおすすめします。
全力で考えても分からない問題は時間を置いてからもう一度見直すと簡単に解決したりします。
|
|
2012/8/18(Sat) 20:11:57|NO.48666
ファイルの場所が原因でした。
とりあえず出来ましたのでありがとうございます。
|
|