【3Dゲームエンジン】Unity質問スレッド32

■ このスレッドは過去ログ倉庫に格納されています
1名無し@キムチ
垢版 |
2017/10/30(月) 05:05:35.00ID:xnHTCaF3
フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。
プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他

次スレは>>950以降にできるだけ早く(できれば回答者が回答した後にでも余裕を持って)建てて下さい。

■Unity 2ch Wiki(まとめ、過去ログ、リンク集)
http://www24.atwiki.jp/unity2ch/

●リンク
・Unity(日本公式サイト)
http://unity3d.com/jp
・マニュアル
 http://docs.unity3d.com/ja/current/Manual/index.html
・チュートリアル
 http://unity3d.com/jp/learn/tutorials
・スクリプトリファレンス
 http://docs.unity3d.com/ja/current/ScriptReference/index.html
・FAQ
 http://unity3d.com/jp/unity/faq
・MSDN
 http://msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。

前スレ
【3Dゲームエンジン】Unity質問スレッド31
https://mevius.5ch.net/test/read.cgi/gamedev/1504366121/
2017/12/09(土) 21:06:17.43ID:X9y8lbqo
>>723
アセット購入を募集していませんか?
2017/12/09(土) 21:08:54.73ID:bXsi3c78
(3)別スクリプトから呼び出しならstatic使わなくてもできまふよ(^^

どっかのオブジェクトにスクリプトがくっ付いてる場合(^^
呼び出される側
public int うんち
呼び出す側
変数名 = GameObject.Find("ヒエラルキーのオブジェクト名").GetComponent<オブジェクトにくっ付いてるスクリプト名>().スクリプトの変数名、この場合はうんち;

多分これで出来ると思いまんこ(^^
2017/12/09(土) 21:52:29.85ID:+Fgkmrfl
ファイアーエムブレムのようなゲームが作りたくて参考書などを見ながらAI作ってたのですが上手く行きません
数千円以内で買えるアセットでよさげなのないでしょうか
2017/12/09(土) 21:53:01.42ID:G7HaLFZX
3Dで基礎から勉強したければ、

難:「実例で学ぶゲーム3D数学」
中:「ゲーム開発のための数学・物理学入門」
易:「ゲームアプリの数学 Unityで学ぶ基礎からシェーダーまで」

2Dでアルゴリズムのアイデアを得たければ、

「アクションゲームアルゴリズムマニアックス」
「アクションゲームプログラミング」
2017/12/09(土) 21:59:20.31ID:G7HaLFZX
>>723

Staticは他のオブジェクト間で共有したいものに使うので、

ただ他のオブジェクトのコンポーネントを使いたいだけだったら、
Staticを付けなくても、呼び出して利用はできます
2017/12/09(土) 22:47:51.06ID:Ia5bSAGk
どうも。
気分がノッたら講義のお時間です。
"while文" の予定でしたが変更して "for文" の続きです。

"for文" は配列を扱う時に適しています。
例えば次のような文字列型配列があったとします。


string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"};

この中身を全て表示したい場合、"for文" を使わない場合は次のようになります。


string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"};
Debug.Log( mes[0] );
Debug.Log( mes[1] );
Debug.Log( mes[2] );

表示したい数だけDebug.Logが必要になっていきます。
今は3つだからいいですがこれが100個あった場合は100個Debug.Logが必要になってしまいます。
2017/12/09(土) 22:48:34.64ID:Ia5bSAGk
次に for文 を使用した場合の例です。


string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"};
for( int i=0; i<3; i++ ){
 Debug.Log( mes[i] );
}

for文 を使用すると100個あってもこの4行だけで済みプログラムをすっきりとまとめられます。


string[] mes = {"ようこそ", "ねらーの町へ", "ゆっくりしていってね!"};
for( int i=0; i<mes.Length; i++ ){
 Debug.Log( mes[i] );
}

for文の2番目を "i<3" と定数(この場合、「3」を動かない数字、定数と呼びます)にするのではなく
"i<mes.Length" にすることで自動的に配列数だけループしてくれるようになり便利です。
"mes.Length" には配列の最大値が格納されています。
2017/12/09(土) 22:53:43.28ID:Ia5bSAGk
また、配列処理に特化した専用のfor文といえる "foreach文" というのもありますが
for文で同じ事が出来る為講義ではあえて扱いません。
興味がある方は下のリンク先で確認してください。
今のあなたならリンク先の文章をなんとなく理解できる事でしょう。

配列での foreach の使用 (C# プログラミング ガイド)
https://docs.microsoft.com/ja-jp/dotnet/csharp/programming-guide/arrays/using-foreach-with-arrays


本日は以上だクソども
2017/12/09(土) 23:01:42.72ID:Ia5bSAGk
>>720
全13回の講座。
焦らずこれをじっくりやるといい。
http://hiyotama.hatenablog.com/entry/2015/06/12/153523
2017/12/09(土) 23:07:35.86ID:Ia5bSAGk
>>714
メトロイドヴァニアをYoutubeで拝見したがいきなりこれは難しいよ。
物理的な挙動に関してはUnityは物理エンジンが勝手にやってくれるので自分でプログラムする必要がない。

うまく伝わらない気はするが例えば
「このボールは1kg」「風の抵抗は受けない」「重力の影響は受ける」
みたいに画面を見ながら設定し
斜め上にむかって発射すれば勝手に本物のボールのように弧を描いて飛ぶ。

物理エンジンは、もともと自分でプログラムしないといけなかった事を勝手にやってくれる。
欠点として非リアル的な動きをしたい時に重力とかに逆らったりしなくちゃいけなくて
何度も何度もテストを繰り返さないといけないくなる。

∞のような動きはsin関数、cos関数で実現できる。

俺は本を買って学習してる訳ではないのでオススメを教えられないです。
2017/12/09(土) 23:17:08.96ID:0z0JcPwI
>>731
ありがとうございます!!!
2017/12/09(土) 23:28:03.66ID:MExT9ytU
これでまた、staticおじさんが一人この世から消えたのか
2017/12/10(日) 09:21:41.45ID:rk89KMyG
static変数にする
static関数にする
staticゲームオブジェクトにする
詰む
2017/12/10(日) 11:44:53.32ID:ZDcJFyIw
>>723
そういう用途でstaticにするのは辞めたほうが……
シングルトンにしてDontDestroyと思う

それはそれとしてインスペクターのをstatic変数に反映させたいだけなら
責任は持ちません
public static GameObject hoge;
public GameObject hogehoge;
void awake(){
  if(hogehoge != null) hoge = hogehoge;
}
2017/12/10(日) 11:48:33.38ID:jcS8iLKb
staticをpublicでインスペクターから変更できるようにしてしまうと、

複数のオブジェクトで同時に同じstatic変数を変更してしまう恐れがあるから、

シングルトン機能がないと、どの設定値を参照するか不定になりそうで怖い・・・
設定値は複数オブジェクト間のインスペクター上で連動するのかな?
2017/12/10(日) 13:12:35.06ID:s0gCGNcz
ここはプログラムの初心者ばかりなので
素直にアセットを買って作りましょう
2017/12/10(日) 13:34:04.81ID:w46kXA82
・変更できない定数
・グローバルDBで管理(public)
・クラスの内部だけで決められた使い方だけをする構造上の黒子(private)

このうちのどれかに当てはまらないなら static はやめたほうがいい
741名前は開発中のものです。
垢版 |
2017/12/10(日) 17:15:40.51ID:51pDRWFr
>>737
>>738
>>740

ありがとうございます。
staticで構成するのはやめようと思います

話は変わりますが、っていうか変わってないんですが
Ascript:
public void Hoge(){
StartCoroutine(Bscript.Bfunction());
}

Bscript
public IEnumerator Bfunction(){
Debug.Log("hogehoge");
yield return null;
}

このスクリプトで「静的でないフィールド〜〜〜」というエラーが出るのはなぜでしょうか?

これがきっかけでstaticにするようになったのですが
2017/12/10(日) 17:20:13.69ID:SGu7Clqn
>>741
その表記を見ただけでオブジェクト指向を微塵も理解してないと分かる
C#の基本を解説するサイトなんていくらでもあるから少なくともclassの存在くらい学ぼう
2017/12/10(日) 17:50:24.06ID:s0gCGNcz
>>741
だから、あなたはプログラマーには向かないので
アセットを買って幸せになりましょう!
2017/12/10(日) 18:02:07.77ID:s1u45m25
>>741
ゲットコンポーネントの事をもうちょっと理解した方が良いと思います。
745名前は開発中のものです。
垢版 |
2017/12/10(日) 20:14:32.33ID:RELYBK2b
>>742
こういうとこで質問したことないんでどこまで省いていいか全然わからないです;;
クラスは何もいじっていないので
public class XXXX : MonoBehaviourのままです。

>>744
GetComponent?ゲットコンポーネントってどこからでてきました?
2017/12/10(日) 20:23:19.38ID:hR3NFn4T
スクリプト(コンポーネント)は同じとこに書いてないもんは知りませ〜ん
2017/12/10(日) 20:46:48.97ID:s1u45m25
>>745
とりあえず「他のスクリプトのメソッドを使う unity」で検索してみろ。それで理解できなかったら向いてない
2017/12/10(日) 21:11:13.87ID:gqP0KwJW
>>745
言語知識がある程度でもあるならまだしもそうじゃないなら基本的には何も省略しないで
2017/12/10(日) 21:35:27.73ID:s0gCGNcz
だから、アセットを買えばいいんですよ
スクリプト出来なんでしょ?
2017/12/10(日) 22:14:38.78ID:s1u45m25
>>741
静的じゃないから〜ってエラーを見て、staticおじさんになっちゃったのか。
そのエラーの意味は「君が使おうとしているモノは最初から存在しない(静的でない)のでなんとかしてください」って意味だから「staicにしろ」って意味じゃないぞ
751名前は開発中のものです。
垢版 |
2017/12/10(日) 22:16:05.06ID:51pDRWFr
>>747
>>748
>>750
ありがとうございます。
アタッチするオブジェクトに関連してないとアタッチしてはいけないと勝手に思い込んでいました。

>>741で言えば
カメラなりなんなりにBscriptをアタッチして
StartCoroutine(カメラ.GetComponent(Bscript).Bfunction());
って感じにすればよかったんですね
2017/12/10(日) 22:41:19.18ID:s1u45m25
>>751
目標がありそれに向かってコーディングしてることは分かりますし、それは上達への近道です。しかしあなたの書いているコードはあまりにも支離滅裂なので簡単な内容からしっかり学習してください。他のスクリプトのコルーチン使うとかめんどくさすぎて頭おかしいです
2017/12/10(日) 23:01:38.15ID:hR3NFn4T
まあプログラムなんて技量あげるうちに過去コードを色々短縮出来るのが楽しいから…
2017/12/10(日) 23:47:55.77ID:CuU55Myq
もともとは、AsstesフォルダにあるPrefabを、スクリプト上で呼び出したかっただけだよね?
Sceneに配置していないPrefabを、GameObjectとして呼び出したいんだよね??

例えば、SceneにPlayerキャラクタが既にいて、ボタン入力に応じて、
Assets内にあるShotキャラクタを呼び出して、弾丸として発射するみたいな・・・
2017/12/11(月) 00:11:47.56ID:SkZjimvo
<スクリプトAで、Assets内のプレハブBを、ゲームオブジェクトCとして取得する方法>

Scece上に配置したゲームオブジェクトXに、下記のスクリプトAを登録しておきます。

public class A : MonoBehaviour {
 public GameObject B;

 // Use this for initialization
 void Start () {
  GameObject C = (GameObject)Instantiate(B);
 }
}

Inspector上でゲームオブジェクトBを登録できるので、
Assets内のプレハブBを登録しておきます。
「Assetss」を押すと一覧が出ます。

動的にBのインスタンスを生成して、ゲームオブジェクトCとして格納します。
以下、Inspector上で登録しておいたゲームオブジェクトBは、
ゲーム内ではゲームオブジェクトCとして実体化されているので、
移動させたり、回転させたり、いろいろできます。
2017/12/11(月) 00:30:42.08ID:SkZjimvo
C = (GameObject)Instantiate(B)
だと、スクリプトを登録したオブジェクト上に生成されてしまいます。

生成される際の
 位置を、Vector3 V = new Vector3(x, y, z)
 向きを、Quaternion Q = Quaternion.Euler(angleX, angleY, angleZ)
 親を、transform T = parent.transform
としたい場合は、

C = (GameObject)Instantiate(B, V, Q, T)
とします。

親Tの子として、向きQで、位置Vに、
Bのインスタンスが、オブジェクトCとして生成されます。

BにRigidbodyを登録しておけば、
Rigidbody D = C.GetComponent < Rigidbody2D >
によって、CのコンポーネントからRigidbodyを取得して、
変数DにRigidbodyを格納しておくこともできます。

以降は、物理演算ができるようになり、
D.velocity = new Vector3(vx, vy, vz)
のようにして速度を変更したりできます。
2017/12/11(月) 00:39:32.37ID:SkZjimvo

Rigidbody D = C.GetComponent < Rigidbody2D >


Rigidbody D = C.GetComponent < Rigidbody >

普段、2Dばっかりやっているから間違えた・・・

要するに、
@Hierarchyになくても、Assetsからでも呼び出せる
(GameObject.Findは、Scene内から探すためダメです)

AStaticにしなくても、Inspector上からPrefabを登録できる
(Inspector上で設定したかったら「public」です)

Bスクリプトを登録する相手は、何でも良い
(カメラでも、空のオブジェクトでも・・・)

 ただ、あるキャラクタから発射するつもりなら、
 そのキャラクタにスクリプトを登録しておけば、
 発射位置が、そのキャラクタの現在地になります。
758名前は開発中のものです。
垢版 |
2017/12/11(月) 07:52:58.63ID:Lx/f51q7
レベルデザインしてるんですが、フリーでおすすめのアセットパックってないですか?
人工物や自然物がそれなりに入ってるのがほしいですが
2017/12/11(月) 11:46:03.41ID:QvFVBkNr
>>758
フリーアセットではなく、有料アセットを購入しましょう
2017/12/11(月) 13:13:39.39ID:xcDA2XWm
車の排気ガスでパーティクルを使おうと思ってます
車の後方から煙が出る形にしたいんですが、

1 車のオブジェクトにパーティクルをaddして良いのか
2 どうやってパーティクル位置を変更するのか(車の後方に)

の最初の2点で躓いてます
どなたか教えて頂きたいです。
2017/12/11(月) 13:18:21.91ID:HEOTRILb
車に空の子オブジェクトを追加してそこにパーティクルを追加すればいいべ

そういうことじゃなくて?
2017/12/11(月) 13:52:42.53ID:QvFVBkNr
>>760
車の排気ガスのアセットをかうと良いですよ
2017/12/11(月) 14:25:47.65ID:xcDA2XWm
>>761
車とは別に新しくオブジェクト作って、
それにパーティクル追加してあとから車と同期(車と一緒に動くように)すればいいって事ですか?
2017/12/11(月) 14:30:15.62ID:V8qj051b
パーティクルを車の子オブジェクトにして位置と向きをインスペクターで変えてくらふぁい(^^
2017/12/11(月) 14:31:22.80ID:V8qj051b
ってよく見たら>>761に答えが書いてありまひた(^^
お節介失礼しまんこ(^^
ボッキング!(^^
2017/12/11(月) 14:58:00.33ID:HEOTRILb
>>763
車の子オブジェクトにすればわざわざ同期なんて取らなくても相対位置と向きを保ったまま車と一緒に動いてくれるでしょう
2017/12/11(月) 16:02:51.94ID:02QPz9bc
このスレの人ってまさか車のモデルをそのままヒエラルキーに配置してそこにスクリプト直付けしてるの?
普通Create Emptyで作った空のオブジェクトの下に作るよね?
2017/12/11(月) 16:34:52.69ID:T/JrBtRm
全体的に、自分で色々工夫してみることをしないで人に答えを求める輩が多い気はするね。
プログラミングに答えはなくて目的の結果になる方法はいくつもあるのに他人のやり方を真似したがる人が多すぎるねここ。
2017/12/11(月) 16:36:31.43ID:B36sEdco
人それぞれ。結果が満足なら中身なぞどうてもいい。
自分なりの作り易さを模索するだけさ。
2017/12/11(月) 16:38:59.95ID:VIjb3sER
TanksにLeftDustTrailとRightDustTrailって入ってるじゃろ
2017/12/11(月) 16:39:28.70ID:T/JrBtRm
他で例えると
攻略本無いとゲームを出来ない人とか
うまいラーメン本に紹介されてるラーメン屋にしかいけない人とか
ジグソーパズルを買って全部人に作らせてる人とか
何かしら他人の助けがないとダメで自分で工夫できない人というか
そんなのに似てる気がする
2017/12/11(月) 16:41:13.85ID:T/JrBtRm
そんな俺はUnityはプラモとかDIYと同じだと思っている
2017/12/11(月) 16:44:46.62ID:VIjb3sER
チュートリアルで例(ひな型?)が示されてるのに、やってないだけだよ
やって気付かないってのはありえない
2017/12/11(月) 17:01:29.50ID:xcDA2XWm
このスレっていっつもマウント取るか嫌味しか言わない上級者様ばっかだよね
なんで質問スレにいるの?
自分なりに試行錯誤して分からない結果聞きに来てる初心者の自分からしたら意味が分からない
2017/12/11(月) 17:08:45.71ID:B36sEdco
>>774
捻くれたやつなんかスルーしとけ。教えてくれた人にはお礼を言う。
他人の成長が怖くて、少しでも時間を削ろうとしてるのさ。
2017/12/11(月) 17:13:36.54ID:Gwv7NuWB
パソコン買ったらパソコンの使い方講座が無料でついてきたにも関わらず、
そんなの要らない自分で出来るって無視したのお前やろ

だったら人に聞かずにやるのが筋ってもんじゃあないの?
2017/12/11(月) 17:16:53.36ID:xcDA2XWm
>>775
そうだね、ありがとう

最初から堅苦しいマニュアル一から読んで自分の手動かそうとしない奴らの作ってるゲームが面白いとは全く思えないんだけどなあ
2017/12/11(月) 17:20:38.93ID:HEOTRILb
>>774
"同期"なんて用語を知ってるのに子オブジェクトが分からないという、なかなか不思議な学習曲線を辿ってるみたいだから理解されなくてもまぁ仕方ないかも
チュートリアルどれくらいやった?
2017/12/11(月) 17:21:19.77ID:7znfHEz6
効率を求めた結果、本末転倒になってりゃ世話ない
2017/12/11(月) 17:36:21.95ID:rG1bqsx7
少しここ覗いてたけど、質問しようなんて気にならない
Unityを使ってる知り合いを作る方が早いしためになるからそうしたわ
2017/12/11(月) 18:05:09.66ID:rJi7rAoj
Transform c = transform.GetChild(0).GetChild(0);
Transform b = transform.GetChild(0);
Transform a = transform;
a.parent = b;
b.parent = c;

これ動かしても親子変わらないのは仕様ですか?
2017/12/11(月) 18:18:16.44ID:02QPz9bc
そうだぞ
引きこもりのお前らを社会に戻すために俺はここで嫌味を書き込んでいる
さっさとエンジニアの知り合いを作りたまえ
2017/12/11(月) 18:26:44.90ID:6snW9ojT
あんたいいやつだな
2017/12/11(月) 18:32:42.55ID:v+pV5X5w
車の排気ガスについて、

移動した車に付いていくアニメーション的な排気ガスにするパターンと

排気ガス自体は、移動前の車の位置に留まり、その場でフェードアウトしていき、
移動した車が次々に新たな位置に排気ガスを生成していくパターンが有ると思う

前者は、アフターバーナーみたいな、付いていくタイプ
後者は、飛行機雲みたいな、置いてくるタイプ

子オブジェクトとして生成するか、
独立オブジェクトして生成するかは、好みによるのでは・・・
2017/12/11(月) 18:40:23.63ID:T/JrBtRm
初心と無能を間違えてはいけない
基礎を勉強し身につけた者だけが初心を名乗れる
基礎をやらず教えて君は無能だよ

取説読まない
何もやらない
全部すぐ人に頼る
これは初心者じゃない

教習所に通わずいきなり車を運転しようとしてるやつ
これも初心者じゃない

初心
これの意味をもっとよく考えてから質問しよう

プラモ買って説明書読まない組んでて
途中で出来ないから作り方教えてくれという自称初心者がいたらどう思う?
説明書をまず読めと思わないか?
質問の質があまりにも低すぎるのが問題
786名無し@キムチ
垢版 |
2017/12/11(月) 19:11:07.14ID:bqjs8mgU
>>782
エンジニアよりキムヨナと知り合いたいな・・
2017/12/11(月) 19:11:25.30ID:6tubAqHL
>>781
root同士じゃないと出来ない組み合わせなかったっけ?
cとbを
c.transform.parent = null;
b.transform.parent = null;
で親子解除すれば出来る
788名無し@キムチ
垢版 |
2017/12/11(月) 19:16:57.23ID:bqjs8mgU
>>785
初心者とはそんな難しいもののことではない。
単純にビギナーのことだ。
2017/12/11(月) 19:20:05.88ID:rG1bqsx7
そういえばUnity初心者スレってないのな
2017/12/11(月) 19:32:44.82ID:T/JrBtRm
>>788
ビギナーは英語で初心者という意味
>初心者とはそんな難しいもののことではない。
>単純に初心者のことだ。
自分の発言が情けないほど意味不明になると思わない?
基礎を学ばずにいるとこうやって無能を晒し恥をかくだけ
分かりやすい例になってくれてありがとう!
2017/12/11(月) 20:07:01.75ID:qY5Wc6Xa
チュートリアルすらやってないドキュンとか、
補助輪取れないアホは無視でいい
2017/12/11(月) 20:22:52.74ID:g06Ln43v
>>785
完全にクレーマーw
2017/12/11(月) 20:52:55.52ID:u584Mmdp
>>785
では質問、外部サイトの情報をスクレイピングして情報を抽出するゲームを作成しています。
読み出すサイトの文字コードに合わせてSystem.Text.Encodingクラスを用いて変換しているのですが、エディタ上で動かすと正しく動きますが、実機にビルドするとsjisやeucjpなどでエラーとなります。これは何故でしょうか?
2017/12/11(月) 21:01:24.21ID:u584Mmdp
さて>>793の答え合わせだ。
スタンドアロンプレイヤーはデフォルトでI18n.dllとI18n.CJK.dllを内包しないから、これらをアセット内にぶち込めば解決するが正解な
どうせ質問がちょっと知識や経験が必要な領域になると皆スルーして俺しか答えなくなるんだから仲良くしとけ

>>784
それはヒエラルキー構造もスクリプトも変更する必要はなく、パーティクルのSimulation Spaceを変えるだけで実現可能だよ
エミッタ(=ParticleSystem)自体はどちらであっても車本体の子オブジェクトにして問題ない
2017/12/11(月) 21:03:22.24ID:wTfFWu/6
2.5dのコマンドRPG作るのにplaymakerって使えますかね?
ターン制の処理をこれにさせたいのですが買おうか迷ってます。
2017/12/11(月) 21:04:49.25ID:pffoEIhS
使える
2017/12/11(月) 21:08:29.22ID:7N8aCxOe
785は滑稽だな
リテラシに慣れていないと、公式マニュアルを読んでも、キーワードを聞いても全く頭に入ってこない人もいる
一般的に言って誰にも苦手な分野はある。例えば日本の役所手続きが良い例
適性が無いとの非難があるかもしれないが、本来、道具は、適性とは無関係に操れるものであるべき
ところで自由競争戦力スキルへの適応を2chで強要するのは傲慢無恥・視野偏狭で滑稽である(プ
2017/12/11(月) 21:09:37.13ID:lT/DnU8s
ID:u584Mmdpに全部丸投げで解決だなw
2017/12/11(月) 21:15:59.64ID:L0Sd+qXD
趣味なんて出来なくても死ぬわけじゃないし、
乗れもしない一輪車に勝手に跨って勝手に傷だらけになってるだけじゃない
怪我と弁当は自分持ちで頼むよ
2017/12/11(月) 22:02:19.01ID:SkZjimvo
詳しい人が降臨しているようなので質問!

角速度
Rigidbody.angularVelocity = new Vector3(a, b, c)
による回転を1秒間行った場合の、

向き(角変位)
Rigidbody.rotation
を、あらかじめ計算でQuaternionを求めておきたいのですが、

Rigidbody.rotation = Quaternion.AngleAxis(angle, axis)
で入力する場合、
float angle = いくつ?
Vector3 axis = いくつ?
に設定すれば良いのでしょうか??

普段は実際に時間をかけて回転させるのですが、
ショートカット入力によって、瞬間的に向き変更したためです。

普段は速度velocityで移動させていたのを、
瞬間的に位置positionで変位させるのと同じ感じです。
2017/12/11(月) 23:16:52.47ID:T/JrBtRm
初心者は基礎勉強を習得した後に応用問題などで躓く者
無能は怠慢で基礎勉強をせずに全てに躓く者
そして自分は初心者だと勘違いしてる者
無能と初心者は全然違う

初心者には教えるが怠け者なだけの無能には教えたくはないって人が多いと思う
質問する気になれないなんて者は来なくていいと思う
そいつが消えた所でそいつが困るだけでこっちは何も困らない
どうぞ勝手にお帰り下さいなんじゃないかな?
ましてや自分は初心者だから教えてもらって当たり前なんて思ってる勘違いには特に

悔しいなら無能をやめて初心者になり
教えたい人が思わず教えてやりたくなるような質問したら?
2017/12/11(月) 23:21:47.98ID:T/JrBtRm
>>794
質問ではなく相手を試す問題だと見抜かれてスルーされた事にそろそろ気づこうか

>>797
悪いが発言内容が超明後日方向でずれてるから
2017/12/11(月) 23:28:43.27ID:T/JrBtRm
>>794>>797の2人は俺の考えに反対やら滑稽やらなら
ニセ初心者のしょーもない今までの質問全てに全部答えてあげてないと
俺そういう場面見てないんだけど
今も俺にレスするよりそっちが先とおもうけど未処理の物が沢山あるよ
明日からもずっと頼むよお2人さん
俺の考えに反対で反論してくるのはそういうことだから
2017/12/11(月) 23:32:55.29ID:7N8aCxOe
ビッグアップル大丈夫か
2017/12/12(火) 00:07:46.96ID:yWI4yO+J
まさかツッパリが足りずに弱音を吐いて「大目に見てくださいよ〜〜〜><」とか懇願してるわけじゃあるまいな
2017/12/12(火) 00:18:39.38ID:awDx9SbB
試行錯誤が大好きなら一生迷走しててええんやで
遠慮すんなよw
2017/12/12(火) 00:29:29.52ID:K5+QKreg
>>800
偉そうに講釈垂れてる人が大勢いるのにこれにレスがつかないの酷すぎないか…

キッチリ1秒後なら

var r = Mathf.Rad2Deg;
Rigidbody.rotation *= Quaternion.Euler(a * r, b * r, c * r);

でどないでしょ
2017/12/12(火) 00:36:52.31ID:K5+QKreg
>>800
rigidbody.rotation *= Quaternion.Euler(rigidbody.angularVelocity * Mathf.Rad2Deg)

のほうが簡単か
2017/12/12(火) 02:09:47.10ID:s3bcy12n
@angle = Vector3(a, b, c).magnitude * Mathf.Rad2Deg

3Dの場合、angularVelocityは、rad/秒で入力するので、
a,b,cはrad/秒で入れているはずだから、
angleは度での入力になるため、
* Mathf.Rad2Degで、rad→度の変換が必要ですね

Aaxis = Vector3(a, b. c).normalized

これをQuaternion.AngleAxisに入れると、1秒後の回転状態になります
試してみて下さい

Quaternion.Eulerは、
Z軸回転→X軸回転→Y軸回転の連結回転になるので、
計算結果が、角速度での回転状態と合わないですよ

angularVelocityは全軸同時回転ですから
回転ベクトル=回転角 * 回転軸ベクトル
で計算しないとダメなはず
2017/12/12(火) 02:14:08.74ID:K5+QKreg
なるほど
勉強になった
ありがとう
2017/12/12(火) 04:00:52.95ID:kM1br0bK
>>794
"unity shiftjis error"でぐぐって一番上に出てくる内容コピってどやってんじゃねーよw
仰られてる知識や経験は、その問題に関してはとくに必要なさそうです
2017/12/12(火) 06:49:36.70ID:yWI4yO+J
809
そういう「より優れた仕様奴隷状態」をドヤる話だと思ってたわ
2017/12/12(火) 07:26:11.46ID:OlgvJzEy
>>811
うん、そのドヤ顔を期待してたw
全く待たずに回答投下してるのに顔真っ赤でスルーされた事に気づけとか書いてる奴がいたのには驚いたが

だかな、この質問俺が数年前過去スレに質問して回答が得られなかった質問なんだわ、その後自己解決して方法も書いたはず
2017年4月のそのTIPS見て、同じようなことで困ってる奴多かったんだなと懐かしく思った記憶がある

>>800
すまん、昨日は撒き餌撒いて寝てしまったので見てなかった
回答はついてる様なので省略するが、物理エンジンで動かす場合、摩擦やら他のオブジェクトとの衝突やらで結果がズレる可能性があることには注意な
2017/12/12(火) 07:26:33.24ID:yWI4yO+J
仕様奴隷「俺はこんなにも素晴らしい奴隷なんだ!もっと俺をこき使ってくれぇええ!!」(ドヤァアアア!!!)
815名前は開発中のものです。
垢版 |
2017/12/12(火) 07:29:16.97ID:QJDJOOiE
レベルデザインに使えるツール教えてください
アセットでもいいです
2017/12/12(火) 07:34:12.06ID:yWI4yO+J
回転もデフォで減速するみたいだな
いちいち生意気なんだよUnity
2017/12/12(火) 08:13:35.13ID:tVhYuHY1
>>815
どんなのを求めているかわからないけどアセットでもいいなら
ProBuilderなんてどうだい?
818名前は開発中のものです。
垢版 |
2017/12/12(火) 09:37:16.36ID:QJDJOOiE
>>817
アセットのセットみたいなのがほしいです
フリーで
2017/12/12(火) 10:39:07.71ID:qFAu6kJp
アセットじゃないけどスケッチアップなんてどうだい?
CADツールだけどUnityでそのままスケッチアップ形式のファイルを読み込むことができるんだ

そしてウェアハウスっていうUnityでいうアセットストアのようなところで他人の作ったオブジェクトをダウンロードできるんだ

ただし無償版でどこまでできるか把握してないから
気になったら調べてごらんよ
2017/12/12(火) 11:37:29.41ID:V4vKOuq6
VS for Macでコーディングしている人いる?
予測コーディングが効かなかったり、最近のアプデで日本語入力がリアルタイムで表示されなくなったり、子音の入力が反応悪かったり
色々ボロボロで進捗やばいんだけどMacでの開発に向いてるテキストエディタ何か無いかしら?
2017/12/12(火) 13:51:05.12ID:awDx9SbB
>>811
どうせキムチだよw
2017/12/12(火) 15:35:32.47ID:ICWFqCcb
>>820
neovim
2017/12/12(火) 17:04:49.48ID:SinzmT6m
VS codeを使うといい
for macは対応が不完全なゴミだがcodeはmacでも完璧に使える
金払ってもいいならRider
2017/12/12(火) 17:13:54.71ID:md8fOJvX
VS codeの怒涛の更新ペースは何事かと思うw
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況