[過去ログ] 【3Dゲームエンジン】Unity質問スレッド31 [無断転載禁止]©2ch.net (1002レス)
1-

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
737: 2017/10/13(金)17:45 ID:hiVrViTb(1) AAS
Xamarine以外ありえなくね
738
(3): 2017/10/15(日)12:41 ID:tc0SIFEk(1/2) AAS
ランタイム時にintをstringに変換するとパフォーマンスが落ちるのは理解したのですが
この逆のstringをintに変換しても同様に重くなるものなんでしょうか?
よろしくお願いします。
739: 2017/10/15(日)13:59 ID:qTcM7sNQ(1) AAS
>>738
そんくらい自分で測って調べればいいじゃん
740
(2): 2017/10/15(日)16:25 ID:maJH8DG4(1) AAS
向きを現在の角度からx軸30度回転するには、
下の?、?どちらになりますか?

q = Quaternion.Euler(30, 0, 0)

?rotation = rotation * q

?rotation = q * rotation

クォータニオンの乗算は可換ではないようなので・・・
741
(1): 名無し@キムチ 2017/10/15(日)16:53 ID:ISo7eWT3(1/2) AAS
トグルボタンのひとつをチェック状態にしたいですが、unityのマニュアルには、トグルグループのコンポーネントがひとつの場合しか書いてありません。
トグルグループがいくつもある場合、その中のひとつのグループを指定してその中のひとつのボタンをチェック状態にするには、どうすればいいのですか?
よろしくお願いします!!!
742: 2017/10/15(日)17:11 ID:Vq5IcL8H(1/4) AAS
>>738
質問を見る限りほぼ理解出来ていない様に見えるな
変換自体のコストについて言えば、int→stringもstring→intも変換すること自体は変わらないのでコストがかかるのは当然だ

だがintとして扱える値をstringとして扱うと重くなると言った場合、通常は比較などの演算コストの差の事を指している
intはstringと比較して遥かに演算コストが安いため、頻繁に演算するならばstringとして扱うのは好ましくない

つまり問題となるのは変換コストではないので逆に変換する事のコストを聞いてる時点で理解出来ていないという事だ
具体的なコストについて詳しく理解したければ、stringとintがメモリ上にどの様な形で保持されているかを調べるといい
743
(1): 2017/10/15(日)17:18 ID:Vq5IcL8H(2/4) AAS
>>740
回転したいx軸がどの座標系の軸を指しているか次第だ

?はrotationの値だけ回転させてからqの分だけ回転させるが、この場合のx軸はrotationによって回転したためワールド座標系のx軸とは異なる
?はqの分だけ回転させてからrotationの分だけ回転なので、qの回転はワールド座標系のx軸で回転する

よって回答としては以下の通り

ワールド座標系のx軸ならば?
ローカル座標系のx軸ならば?
744
(1): 2017/10/15(日)17:39 ID:Vq5IcL8H(3/4) AAS
>>741
トグルグループ自体はそのグループに属するトグルの選択状態を排他制御するだけのコンポーネントなので、複数のトグルグループが存在しても相互に干渉する事はない
よって通常は、トグルグループがいくつあっても気にする必要はなく、トグルとそれが属するグループの1対1の関係のみ見ていればいいはずだ

何らかの理由があって、トグルグループAに属するトグルa1が選択された時、トグルグループBの選択状態を選択なしにするなどの制御が必要ならば、別途そのためのコードを書く必要がある
745
(1): 2017/10/15(日)19:38 ID:SXJ8HJfT(1/2) AAS
シミュレーションゲームって作れます?
大戦略みたいなヘクスタイルのものがやりたいんですが
746
(1): 2017/10/15(日)20:12 ID:7AfUU003(1/3) AAS
>>740
回転させるだけなら、どちらでも結果は同じじゃないか
ジンバルロックが発生すると話が違ってくるが
747
(1): 2017/10/15(日)20:21 ID:7AfUU003(2/3) AAS
>>738
「変換する」というのはどういう処理?
またその変数にどういう情報を格納してるの?
748
(2): 2017/10/15(日)20:39 ID:8yodGn3f(1/2) AAS
>>745
Unityに作れないゲームは存在しない
Unityが行っているのは3D描画と物理シミュレーションだけ
DirectXやUE4で作れるものはUnityでも作れるし逆も然り
749
(1): 2017/10/15(日)20:50 ID:NqSA4wES(1) AAS
>>748
逆に言うと物理演算使わないならUnity使うメリットってあまりないよね
750
(2): 2017/10/15(日)21:01 ID:tc0SIFEk(2/2) AAS
>>747
単純に1を"1"にまたはその逆の処理です。
海外フォーラムの方でint→stringを標準的な方法で何度もやると
GCコレクト関連のスパイク現象が発生するらしく、
実際自分の環境でもかなりのフレームダウンを確認できたんですが
これはstringbuilderで変換処理をすると高速化できるようで
実装後、解決したのでint→stringの処理方法は理解できたという話でした。

で、この逆のstring→intでは同様の問題は発生しないのかという
疑問ですね。今のところフレームダウンは確認できてないのですが
int→stringだけやたら重くなるのかが知りたかったということです。
初歩的な話かと思ってざっくり質問したせいもありますが、そうでもないのかなと。
751
(1): 2017/10/15(日)21:02 ID:Vq5IcL8H(4/4) AAS
>>746
同じにはならない。
スクリプトリファレンスにもQuaternionの*演算子の項目に以下の様に明示してある。

左辺*右辺の結果による回転は、左辺→右辺の順にシーケンシャルにふたつの回転を適用したのと等しくなる
これは回転が可換でないことを意味し、lhs*rhsはrhs*lhsと同じ結果を返さない

意訳なので原文はリファレンス嫁

外部リンク[html]:docs.unity3d.com
752: 2017/10/15(日)21:28 ID:SXJ8HJfT(2/2) AAS
>>748-749
Thx シミュゲー作るのに向いてるのってなんかないかな・・・
753: 2017/10/15(日)21:39 ID:7AfUU003(3/3) AAS
>>751
確かに、順番が違うと結果は異なってくるな。失礼

>>750
なるほど。自分では助けになれそうにない):-<
むしろ色々教えていただいてサンクス
754: 名無し@キムチ 2017/10/15(日)21:58 ID:ISo7eWT3(2/2) AAS
>>744
マニュアルにはただGetComponent<>でトグルグループを取得する方法しか出ていなかったので、いくつもある中から特定のトグルグループを取得する方法がわからなかったのです。
仕方ないので、一番幼稚で面倒くさいやり方で解決しました。それはたくさんあるトグルボタンにひとつひとつスクリプトを付けていくというバカみたいな方法です。
この方法しかわからなかったので・・・・w
755
(2): 2017/10/15(日)22:13 ID:qR/mhBxM(1) AAS
VRゲーム作ろうとしています。

実際のルームスペース範囲内で動いた位置だけではなくて、
画面内で実際どこにプレイヤーがいることになってるかの位置を取得したいんですがやり方がよくわかりません。
どなたかよろしくお願いします…。
UnityとVIVEでSteamVRを使って開発しています。
756: 2017/10/15(日)23:08 ID:8yodGn3f(2/2) AAS
画面内というのがフィールド上の位置なのか画面上の二次元座標なのかわからんから答えようがない
前者ならカメラを割り当ててるobjectの親のtransform.positionじゃないのか
757: 2017/10/15(日)23:10 ID:IiTNc5Pn(1) AAS
>>755
VRはアセットを買えば簡単ですよ
758: 2017/10/16(月)02:35 ID:nSARbRng(1/4) AAS
>>755
質問のルームスペースと区別した"画面内"というのが意味わからんのだが
プレイヤーの位置=HMDの位置=メインカメラの位置ということで
単純にCamera.main.transform.positionじゃ駄目か?
759: 2017/10/16(月)03:01 ID:nSARbRng(2/4) AAS
「画面内の実際の位置」ってひょっとして(ルームスケールの現実世界と区別した)ゲーム内の空間、つまりワールド座標系での絶対的な位置のことを言ってる?
3DCGで画面つったらカメラのスクリーン平面のことだから紛らわしいわ
760: 2017/10/16(月)14:20 ID:ij3u7Go9(1) AAS
>>750
なるほど言いたいことは理解した。変換は関係ない
そのスパイクは目的のstringを生成する過程で実際には使われないstringインスタンスが大量に生成されて、そのゴミをgcが回収するのにコストがかかる為に発生している
原因としてはstringがimmutableだから、順次連結すると、過程が全て新たなインスタンスとして作られてしまうことにある
だからStringBuilderを用いて無駄なstringインスタンスを作らない様にすることで改善する訳だ

これは、stringを連結する際などに発生するものでint→stringの変換自体が問題ではない
また質問のstring→intの変換ではstringインスタンスが新たに生成されないため同様のスパイクは発生しない

ここで覚えておくべきなのは、stringを連結する場合、StringBuilderを使うことの1点だけだぞと
761: 2017/10/16(月)15:14 ID:uyFDDTpz(1) AAS
アセットを買えばGCのスパイクも問題ありませんよ
762
(1): 名無し@キムチ 2017/10/16(月)18:15 ID:pMcheVv4(1/4) AAS
SF映画によくあるように、ゲーム画面の空間全体を歪曲させる方法はありますか?
もしあれば、どうやるのかご教授ください。
よろしくお願いします!!!!!!!!!!
763: 2017/10/16(月)18:46 ID:nSARbRng(3/4) AAS
>>762
やったことないけどShaderいじればできそうじゃね
764: 名無し@キムチ 2017/10/16(月)21:23 ID:pMcheVv4(2/4) AAS
すみません。取り急ぎ質問なのですが、プロジェクトを別名で保存する方法はありますか?
ちょっとプロジェクトを2つに分岐して、それぞれ開発を進めたいもので・・・
よろしくお願いします!!!!!!!!!!
765
(1): 2017/10/16(月)21:35 ID:8lS95IVH(1) AAS
ありません
766
(1): 2017/10/16(月)22:04 ID:X2NwMyG1(1/3) AAS
3DRPGを作っているのですが、会話イベントの制御が思いつきません。
キャラクターモデルの方向を向き特定のボタンを押すと、相手がこっちを向いてメッセージウインドウを表示できるようにしたいのですが、どうすればいいでしょうか。
1-
あと 236 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 0.011s