検索結果 43 件

by atori
9年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXToolKitについて
返信数: 5
閲覧数: 5030

Re: DirectXToolKitについて

解決したようで良かったです。 が、一つとても大事なことをいい忘れていたので補足させていただきます。 Windows8に元から入っているSDKは、D3DX系のライブラリが一切入っていません。 DirectXでのプログラミング経験がもしお有りでしたら、それがどういうことかわかっていただけるかもしれません。 要は頭にD3DX~と付く関数は全て使えなくなるわけです。 D3DXには、 ・ベクトルや行列の算術系関数 ・テクスチャの読み込み ・シェーダのコンパイル などがありました。 これが使えないのは困ったなんてものではありません。 その辺りの変わりとなってくれるのがDirectXToolKitなのですが...
by atori
9年前
フォーラム: C言語何でも質問掲示板
トピック: UnityのPhysics.CapsuleCast()について
返信数: 2
閲覧数: 3821

Re: UnityのPhysics.CapsuleCast()について

非常にわかりやすい図をありがとうございます!!
すんなり理解でき、自分のしたかったように衝突させることが出来ました。
他にSphereCast()というのもあるのですが、この図と同じように考えれば理解出来ました。

このトピックは解決とさせていただきます。
by atori
9年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXToolKitについて
返信数: 5
閲覧数: 5030

Re: DirectXToolKitについて

Windows8.0以降、DirectSDKはWindowsSDKとして元から入っていますが、
DirectSDKをもしもネットから落としてきて、(June2010とか)かつそちらのヘッダをインクルードしていれば、
バージョンが違う為エラーが出てしまうようです。

もしネットから落としてきた物がある場合は、それをアンインストールしてください。
by atori
9年前
フォーラム: C言語何でも質問掲示板
トピック: UnityのPhysics.CapsuleCast()について
返信数: 2
閲覧数: 3821

UnityのPhysics.CapsuleCast()について

お久しぶりです。覚えてる方がおられるでしょうか。 タイトルの通り、Physics.CapsuleCast()についての質問なのですが、 Unityのリファレンス(英語)では、この関数は static bool CapsuleCast(Vector3 point1, Vector3 point2, float radius, Vector3 direction, float distance = Mathf.Infinity, int layerMask = DefaultRaycastLayers); となっています。 point1からpoint2まで、半径radiusの大きさのカプセルを配置...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++のコンストラクタとデストラクタ
返信数: 6
閲覧数: 5963

Re: C++のコンストラクタとデストラクタ

こういったヒューマンエラーはちゃんと正しい使い方をしろというエラーメッセージを呼び出してあげる必要があります。 そのためこういった実装方法になるとインスタンス側の実装は必然的にassertだらけになります。 確かに現在作っているクラスはassertだらけになっています。 初期化するには様々な引数が必要になる事が多々ある→ コンストラクタで初期化しているクラスを別のクラスにメンバとして持つだけでは、当然エラーになる→ エラー回避の為にコンストラクタの引数がどんどん増える→ このあたりの状況が具体的によく分からないので、くわしく説明していただけると助かります。 コードで書きます。 // コンスト...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: C++のコンストラクタとデストラクタ
返信数: 6
閲覧数: 5963

C++のコンストラクタとデストラクタ

お久しぶりです。覚えている方がいらっしゃるならですが。 今回はC++の初歩的な質問をさせていただきたく、トピックを立てました。 最近、C++でコードを書く際、デストラクタに何も記述しないことが多くなりました。 昔はデストラクタに色んな終了処理(DirectXだったらRelease関数呼んだり)していたのですが、 それも自分で作った終了処理用関数(Finalize()とします)を呼ぶことでやるようにしています。 そうしている内に、ふと「せっかくC++使ってるのにデストラクタ使わないのおかしくね?」と今日思いました。 デストラクタに何も書かなくなった経緯なのですが、 デストラクタで終了処理やるなら...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: ワールド行列の計算が怪しいので
返信数: 2
閲覧数: 3997

Re: ワールド行列の計算が怪しいので

その通りです。ただ、確認したかっただけなのです。

このトピックは解決とさせていただきます。
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: ワールド行列の計算が怪しいので
返信数: 2
閲覧数: 3997

ワールド行列の計算が怪しいので

最近階層アニメーションを取得しようとしています。 もうすぐ出来そうなのですが、なんだかワールド変換行列に関する知識があやふやなままやっていたなと実感したので、 質問させていただきます。 各オブジェクトには、ワールド行列があります。これはわかります。 あるオブジェクトがあったとします。 そのオブジェクトはワールドに配置されるので、ワールド変換行列Wを持っています。 回転や移動もしたいので、回転用行列(Rx,Ry,Rz)と、平行移動行列Tも必要になります。 今は拡縮は考えません。 で、ワールド変換行列を求める式は、 W1=Rx*Ry*Rz*T になるんですよね?(回転、移動は計算済み) このW1を...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXLoadMeshHierarchyFromX()について
返信数: 1
閲覧数: 2010

Re: D3DXLoadMeshHierarchyFromX()について

なんとか自分で解決出来ました。
というよりもメッシュコンテナはしっかり入っていたようです。
私の早とちりでした。
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: D3DXLoadMeshHierarchyFromX()について
返信数: 1
閲覧数: 2010

D3DXLoadMeshHierarchyFromX()について

DirectXにおける、Xファイルのアニメーションに関しての質問になります。 ソースコードの関係上、長いトピックになってしまいました。 アニメーションするには、モデルをフレーム単位で読みこまなくてはいけないらしく、それをトピック名にもある、 D3DXLoadMeshHierarchyFromX()関数を呼べばやってくれるそうなのですが・・・。 そのためにはID3DXAllocateHierarchyクラスを継承して自分で実装しなければならない・・・。などなど、 いろいろネットを見ながらやっていたのですが、詰まってしまったので質問させて頂きます。 CMyAllocateHierarchy all...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXにおける描画について
返信数: 3
閲覧数: 2018

Re: DirectXにおける描画について

機能別に分けるのは、どちらかと構造化プログラミングの考え方です。 機能別に分けるのが構造化プログラミング、抽象的な概念で分けるのがオブジェクト指向プログラミングなのですね。 大事な事を曖昧なままC++をやっていました。ありがとうございます。 私もゲーム作りと並行してフレームワークを作成・拡張していますが,RendererクラスもObjクラスも作りました. 私もそうしています。描画だけを別の考え方として新しくクラスを作っていました。 今のフレームワークを改造して、DxRenderarクラスを消去する方針で行こうと思います。 3DObjのコンストラクタでLPDIRECT3DDEVICEを渡して、...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: DirectXにおける描画について
返信数: 3
閲覧数: 2018

DirectXにおける描画について

現在、私はC++でフレームワークを作っております。 一箇所迷っている部分がありまして、皆さんの意見を聞けたらなと思いトピックを立てました。 タイトルにもあるとおり描画に関してなのですが、私は現在、描画を担当するDxRenderarというクラスを作って、 Draw3DやDraw2Dと言ったメソッドの引数にメッシュの情報や、テクスチャの情報を渡して描画するという方法を取っています。 が、友達のソースを見た時、私とは違う方法を取っていました。それは、例えば3DObjというクラスがあったとしたら、そのメソッドにDrawというメソッドを 作り、描画しているというものです。 確かに、自分自身を描画する、と...
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: マルチバイト文字とUnicodeについて
返信数: 2
閲覧数: 2102

Re: マルチバイト文字とUnicodeについて

なんと、そうだったのですか・・・。
それでは、これからはLPTSTR型を使っていこうと思います。

私はもっと基礎からしっかり勉強したほうがいいのかもしれません。
ありがとうございました。

このトピックは閉じさせて頂きます。
by atori
10年前
フォーラム: C言語何でも質問掲示板
トピック: マルチバイト文字とUnicodeについて
返信数: 2
閲覧数: 2102

マルチバイト文字とUnicodeについて

何も考えずにVisualStudioでプログラムしていると、よく "const charからLPWSTRに変換出来ません" といったエラーが出ました。とりあえずプロパティからUnicode文字→マルチバイト文字に直せばよいと覚えていたのですが、 さすがに毎回毎回設定しているのが面倒になって来ました。 文字列の定義をchar型でするのではなく、LPTSTR型にするとプロパティをいじらなくてもエラーなく動くようになりました。 自分でやっといて何ですが、これはどうなのでしょうか? LPTSTR型は#defineで定義されているので、LPTSTR型を多用するだけでもパフォーマンスが若干落ちるのでは・・...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 剣を振るときに出る軌跡のエフェクトについて
返信数: 10
閲覧数: 8172

Re: 剣を振るときに出る軌跡のエフェクトについて

なんと・・・わざわざありがとうございます。
やはりゲームによって実装の仕方は様々なのですね。非常に参考になります。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 剣を振るときに出る軌跡のエフェクトについて
返信数: 10
閲覧数: 8172

Re: 剣を振るときに出る軌跡のエフェクトについて

モデルとエフェクトは分けて作り、ゲーム内で結合させるのがよさそうですね。
質問に答えてくださった皆様ありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 剣を振るときに出る軌跡のエフェクトについて
返信数: 10
閲覧数: 8172

Re: 剣を振るときに出る軌跡のエフェクトについて

私の説明不足で皆様に誤解を招いてしまったようで申し訳ありません。
私が話していたのは3Dでの話です。

また、今回このような疑問を感じたのは、デビルメイクライをやっていた時です。
デビルメイクライのような、キャラは固定で武器も変わらないということを考えると、
モデル自体にエフェクトも入れてしまうのが良いということなのでしょうか?
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 剣を振るときに出る軌跡のエフェクトについて
返信数: 10
閲覧数: 8172

剣を振るときに出る軌跡のエフェクトについて

ゲームでは、剣(剣に限らず様々な武器)を振る時、必ずと言っていいほど軌跡のエフェクトが表示されると思います。

攻撃がヒットした時のエフェクトはビルボードやパーティクルを使ってアニメーションさせているというのはわかるのですが、
軌跡はどのように表現しているのかわかりません。

というのも、プログラム中で軌跡を計算して表現しているのか、
完全に決まったテクスチャを作り、剣の軌道に合わせてアニメーションさせているだけなのか、
どちらがよく用いられる手法なのかを知りたいのです。

私は処理効率を考えて後者を取るべきだと思うのですが・・・実際はどうなのでしょうか?
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: ある場所に置いてあるファイルを読み込むには
返信数: 3
閲覧数: 2005

Re: ある場所に置いてあるファイルを読み込むには

>みけCATさん

あ・・・その方法で普通に行けますね・・・
最近質問する便利さを知ったせいか、自分で考えることをしていませんでした。

非常に稚拙な質問で無駄なお時間を取らせてしまい申し訳ありません。
みけCATさん、nonさんありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: ある場所に置いてあるファイルを読み込むには
返信数: 3
閲覧数: 2005

ある場所に置いてあるファイルを読み込むには

ファイル入出力といえば、fopen()とかで、プログラムの方でファイルパスを指定して、ファイルを開いたりします。

しかし、これではそのファイルしか読みこむことができません。
ユーザが勝手に作ったファイルをある場所(exeと同じディレクトリとか)に置いてもらい、
それを読み込む。といった事をしたいのですが、どのようにすればよいのでしょうか。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて②
返信数: 2
閲覧数: 1923

Re: マルチスレッドについて②

なるほど・・・
丁寧に説明していただきありがとうございました。

とてもわかり易かったです。
疑問が解消されたので、このトピックは閉じさせて頂きます
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて②
返信数: 2
閲覧数: 1923

マルチスレッドについて②

再びマルチスレッドについてよくわからないところがあったので質問させていただきます。 2つの疑問点があります。 ①スレッドは関数単位で動きますが、スレッドが終了した瞬間に、  そのスレッドのスレッドハンドルは自動的にシグナル状態になるのでしょうか? ②WaitForSingleObject()は引数のハンドルがシグナル状態になるまで処理を待つ。というのはなんとなくわかるのですが、  それはつまりこの関数を呼んでいるスレッドが止まるということなのでしょうか?  そうだとしたら、その関数の動きが止まってしまいWaitForSingleObject()が動かなくなるということにはならないのでしょうか?...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて
返信数: 7
閲覧数: 3650

Re: マルチスレッドについて

マルチスレッドが出来ていないのではないのかという不安があったのでトピックを立てたのですが、
そういうわけではないのですね。安心しました。

h2so5さん、何度も返信してくださりありがとうございました。
このトピックは閉じさせて頂きます。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて
返信数: 7
閲覧数: 3650

Re: マルチスレッドについて

こちらになります。 #include <cstdio> #include <process.h> #include <d3dx9.h> unsigned int _stdcall thread(void*); int main(void) { unsigned int threadId; HANDLE hThread; hThread = (HANDLE)_beginthreadex(NULL, 0, thread, NULL, 0, &threadId); for(int i=0; i<100; i++) printf("メイン\n"); WaitForSingleObject(hThrea...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて
返信数: 7
閲覧数: 3650

Re: マルチスレッドについて

あ、本当ですね・・・CThread::Create()に渡してる引数はthreadだと思ってください・・・
すいません
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: マルチスレッドについて
返信数: 7
閲覧数: 3650

マルチスレッドについて

今回初のマルチスレッドの挑戦しているのですが、なかなか苦戦しています。 C++の練習がてら、スレッド用のクラスを作っています。 #pragma once #include <process.h> #include <d3dx9.h> [CThread.h] class CThread { public: CThread(void); virtual ~CThread(void); unsigned int Create( void* funcAdr ); HRESULT Close(void); private: HANDLE hThread; }; [CThread.cpp] #includ...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウ作成クラスの設計について
返信数: 7
閲覧数: 3781

Re: ウィンドウ作成クラスの設計について

幾つもの返信ありがとうございます。

グローバルに置いたあとに、どうアクセスさせればよいのかまで考えていませんでした。
良い方法がないか模索してみます。ありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: ウィンドウ作成クラスの設計について
返信数: 7
閲覧数: 3781

ウィンドウ作成クラスの設計について

C++の概念、知識自体はある程度ついてきたので、使いまわせるクラスを作ろうと思っています。 ウィンドウを作成するクラスを作りたいのですが、少し困っている部分があります。 ウィンドウハンドルを取得するメソッドを作っているのですが、ウィンドウハンドルは色んな所で使うときがあります。 その為に、今まではグローバル領域にインスタンスを定義していました。 しかし、シングルトンというデザインパターンがあるのを知り、こちらのほうがいいなと思ったのですが、 ウィンドウは一つのプログラムで複数作る可能性があります。 ではシングルトンはダメ。となったのですが、なんだかグローバルに作るのも・・・と思い始めています。...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 自分で開放しなければならないものとは?
返信数: 3
閲覧数: 1837

Re: 自分で開放しなければならないものとは?

>>h2so5さん、softyaさん

ありがとうございました。なんとなくですがわかりました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: 自分で開放しなければならないものとは?
返信数: 3
閲覧数: 1837

自分で開放しなければならないものとは?

最近ゲームを作っていく上で、作ったデータを自分の手で、必要なタイミングで開放しなければならないという処理が出てきました。

作ったものを開放しないとメモリリークが起きる。これはわかるのですが、開放という概念がない段階でも、
当然のことながら変数などを定義し、データを作っています。それらは定義したブロックの外に出ると自動で開放されると思います。

そこで疑問なのが、自分の手で開放しなければならないデータと機械が勝手に開放してくれるデータの違いとは一体何なのでしょうか?
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: DirectInputでのジョイスティックの入力取得について
返信数: 3
閲覧数: 3516

Re: DirectInputでのジョイスティックの入力取得について

無事にランタイムエラーを回避できました。
S_OKの反対の意味はS_FAILではなくS_FALSEでした。

ありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: DirectInputでのジョイスティックの入力取得について
返信数: 3
閲覧数: 3516

Re: DirectInputでのジョイスティックの入力取得について

いい忘れていた事があるので補足します。
このプログラムで実際にランタイムエラーになるのは18行目です。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: DirectInputでのジョイスティックの入力取得について
返信数: 3
閲覧数: 3516

DirectInputでのジョイスティックの入力取得について

最近DirectXを始めました。 Visual Studio2008を使っています。 ネットで調べたりして見様見真似でジョイスティックの入力取得をしようとしたんですが、うまくいきません。 ジョイスティックを接続していない状態でデバッグするとデータ形式の設定の所でランタイムエラーを吐いてしまいます。 存在しないジョイスティックの設定をしているのだから当然だとは思うのですが・・・このエラーを回避するにはどうしたらいいのでしょうか? //============================================================================= // ジ...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: C++の学習用教材、サイト
返信数: 5
閲覧数: 2468

Re: C++の学習用教材、サイト

返信ありがとうございます。
そういったアドバイスをいただけると非常にありがたいです。
参考にさせて頂きます。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: C++の学習用教材、サイト
返信数: 5
閲覧数: 2468

Re: C++の学習用教材、サイト

返信ありがとうございます。
「直接プログラムについて質問するのではない」といった意味合いで書いたのですが、語弊があったようで申し訳ありません。

自分は学生なので、参考書となるとポンポン買うわけにも行かず、こういったリアルタイムに返事を貰える場でオススメ等を聞き、購入時の1つの材料にしようと考えていました。

しかし、その旨を全く書いていませんでした。申し訳ありません。

softyaさんの書いて下さった本は、オススメの本として別のサイトでも紹介されていたようなので、購入を検討してみようと思います。
ありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: C++の学習用教材、サイト
返信数: 5
閲覧数: 2468

C++の学習用教材、サイト

またもやプログラミングには直接関係ないことなのですが、こういった場所で聞くのがベストだと思いトピックを立てました。

件名の通り、C++を学ぶ為の参考書だったりサイトだったりを探しています。
現役プログラマーや元プログラマーなど、C++の知識を持ち合わせた人に是非とも聞いてみたいです。

C言語ならだいたいのことは理解できるレベルです。
C++、その他の言語の知識は一切ありません(HTMLなら少しは・・・)。

わたしの知識レベルに見合った参考書や教材、サイトを教えていただけると助かります。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: インデントについて
返信数: 5
閲覧数: 4005

Re: インデントについて

やはり色々なスタイルがあるようですね。

見やすいプログラミングを心がけようと思えば、最初に命名規約(インデントまで命名規約というかはわかりませんが・・・)を明確にしておくのがベストのようです。

どうでも良い質問にお付き合いいただきありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: インデントについて
返信数: 5
閲覧数: 4005

インデントについて

ゲームプログラミングには直接関係ないことです。 for文の{}をどう書くかとか、処理が一行の時は{}を略すかどうかといった、各個人で少しばかりプログラムの書き方が異なることがよくあるとおもいます。 私はswitch~case文でどのようにインデントするべきなのか迷っています。 ケース1(私の書き方) switch(data) { case 0: break; case 1: break; default: break; } ケース2(知り合いの書き方) switch(data) { case 0: break; case 1: break; default: break; } 私的にはcase...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: const変数について
返信数: 2
閲覧数: 2708

Re: const変数について

返信ありがとうございます。
確かにcではなく、cppでした。失礼しました。

言われた通りヘッダファイルにはextern宣言のみを書き、main.cppのグローバル領域で実体化すると
エラーを出すこと無くビルド出来ました。

cとcppでの違いも教えていただきありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: const変数について
返信数: 2
閲覧数: 2708

const変数について

またもやファイル分割で悩んでおります。 やはりソースを見てもらうのが一番早いと思ったので、下に載せます。 変数名などはテスト用プログラムなので適当にしております。 main.h #ifndef _MAIN_H_ #define _MAIN_H_ #ifdef _MAIN_ const int a = 0; #else extern const int a; #endif #endif main.c #define _MAIN_ #include "main.h" void main(void) { Test(); } Test.c #include "main.h" void Test(voi...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: extern宣言と定義について
返信数: 7
閲覧数: 7247

Re: extern宣言と定義について

エラーが消え無事実行することができました。

MoNoQLoREATORさん
softya(ソフト屋)さん
ありがとうございました。
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: extern宣言と定義について
返信数: 7
閲覧数: 7247

Re: extern宣言と定義について

"extern"をつけずに普通に宣言した変数が実体になります。 main関数があるcファイルで実体を宣言することをおすすめします。 MoNoQLoREATORさんのソースを元に改変してみました。 私のソースの場合次のような処理をしています。 h1.h extern int var[]; //extern宣言 main.c #include "h1.h" int var[]; //実体宣言 int main(){ var[] = {{0},{1},{2}}; //初期化 } このvar[]変数を別のファイル(h1.hはインクルード済み)で使用しようとした場合に"外部参照が未解決"とエラーが出ま...
by atori
11年前
フォーラム: C言語何でも質問掲示板
トピック: extern宣言と定義について
返信数: 7
閲覧数: 7247

Re: extern宣言と定義について

他のcファイルでexternした変数に値を入れています。
これでは実体化されないのでしょうか?

詳細検索ページへ移動する