キリト君が回りすぎ

白鳥(しらとり)
記事: 6
登録日時: 11年前

キリト君が回りすぎ

投稿記事 by 白鳥(しらとり) » 11年前

モンハンみたいな感じでSAO再現したいんですけども
DXライブラリ使ってると角度計算がうまくいかない

と思ってたらラジアンとか言う単位出てきました
兄に聞いたら「円周率を180度だと思え」って言われました。
とりあえず調べて角度に直してやろうとおもったけどうまく行かず
結局ラジアンのままやることにしました。

とりあえず前に進むときに
プレイヤーの角度とカメラの角度が
・±30度   …プレイヤーの角度にカメラの角度をそのまま代入
これは成功
・それ以外 …1フレーム30度ずつ回転(前を向くのに近い方から)
ここでバグる
明らかに右から回ったほうが楽なはずなのに左から回る…

ちょっとノーパソ側で作業してたせいでソース貼れません
ので今回がんばりマス。

あ、あと前回の投稿の件
ソフト屋さん、いつもコメントありがとうございます。
返信できなくてすみません…
マップはDXライブラリの関数じゃなくて外部ツールでモデル作って入れることにしました。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 14年前

Re: キリト君が回りすぎ

投稿記事 by softya(ソフト屋) » 11年前

プログラミング言語のsin/cosなど角度を引数に持つ関数は国際規格のラジアン角を使っていますので度数法の角度を入れてもバグります。
30度回したかったら30.0/180.0*3.141592・・・・ですよ。

あと回る角度が090度未満から360度未満に変化すると逆回りに回るとかやらかしていませんか?
ソースコード見ないと明確な答えは出来ないので掲示板のほうでお願いします。
最後に編集したユーザー softya(ソフト屋) on 2014年1月31日(金) 22:30 [ 編集 1 回目 ]

白鳥(しらとり)
記事: 6
登録日時: 11年前

Re: キリト君が回りすぎ

投稿記事 by 白鳥(しらとり) » 11年前

softya(ソフト屋) さんが書きました:プログラミング言語のsin/cosなど角度を引数に持つ関数は国際規格のラジアン角を使っていますので度数法の角度を入れてもバグります。
30度回したかったら30.0/180.0*3.141592・・・・ですよ。

あと回る角度が090度未満から360度未満に変化すると逆回りに回るとかやらかしていませんか?
ソースコード見ないと明確な答えは出来ないので掲示板のほうでお願いします。
毎回アドバイスありがとうございます
自分で考えてダメそうだったらC言語何でも相談掲示板の方を利用させていただきます