- 1 名前:名前は開発中のものです。 [2016/06/12(日) 17:56:13.40 ID:kzQK7IbA.net]
- 3Dゲームエンジン「Unity」の質問に優しく答えるスレです。
Windows/Mac用。JavaScript/C#といった汎用言語を使用できるのが特徴です。 フリー版で開発したゲームは個人・法人を問わず追加のロイヤリティーなしで販売できます。 プラットフォームサポートはiPhone/iPod Touch/iPad、Mac、PC、Web、Wii、Xbox360、Android、PlayStation 3、PlayStation 4、PS Vita他 次スレは>>970を踏んだ方が建てること。ダメなら>>980か>>990が建てて下さい。 ■本スレ 【3Dゲームエンジン】Unity総合スレッド28 [転載禁止](c)2ch.net echo.2ch.net/test/read.cgi/gamedev/1454596460/l50 ■Unity 2ch Wiki(まとめ、過去ログ、リンク集) www24.atwiki.jp/unity2ch/ ●リンク ・Unity(日本公式サイト) unity3d.com/jp ・ユーザーガイド docs.unity3d.com/ja/current/Manual/UnityManualRestructured.html ・チュートリアル unity3d.com/jp/learn/tutorials ・スクリプトリファレンス docs.unity3d.com/ja/current/ScriptReference/index.html ・FAQ unity3d.com/jp/unity/faq ・MSDN msdn.microsoft.com/ja-jp/ms348103←スクリプトのエラー番号をこれで検索すると原因が日本語で出てきます。 前スレ 【3Dゲームエンジン】Unity質問スレッド24 echo.2ch.net/test/read.cgi/gamedev/1462196288/
- 120 名前:名前は開発中のものです。 mailto:sage [2016/06/21(火) 14:16:52.78 ID:xsgrTc7B.net]
- VM認証ストレージを5分未満で導入、モダナイズされたシンプルなデータセンターをUnityで実現、てバナークリックしたら違うUnityだった
ライバル登場か
- 121 名前:名前は開発中のものです。 mailto:sage [2016/06/21(火) 14:38:35.13 ID:giBqV6Xd.net]
- VuforiaでARアプリ作ったんだけど、スマホでは動いてタブレットだと落ちる
もっと容量のあるARじゃない他のapkファイルは動くのに・・・・・・ Vuforia側でタブレット用の設定とかしなきゃいけないのかね? ちなみにタブレットはASUSのAndroid端末
- 122 名前:名前は開発中のものです。 mailto:sage [2016/06/21(火) 23:59:23.52 ID:94mbUQKT.net]
- 属性によるダメージ増加をプログラムで作ろうと思っています。良い参考サイトございませんでしょうか。
if(自分が火なら){草属性に2倍} if(自分が水なら){火属性に2倍} if(自分が草なら){水属性に2倍}・・・ とベタ打ちしか思い浮かばず、参考がアレば参考が欲しく思っております……
- 123 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 00:21:53.45 ID:nRZcAAj7.net]
- >>122
初心者なんであれだが、switch使うとか? ちょっと見た目がすっきりするくらいか
- 124 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 00:40:47.06 ID:ozsLUQVw.net]
- 最初に思い当たるのはステートパターンなんだけど、手間の割りにあんまお勧めできないんだよな…
アンチパターンだと言い切る人も多い なにをくくり出したら整理できるのか、に着目して部品を分けるのがいいんだけどね。単機能の部品の中でswitch caseが並ぶ分にはなんの問題もないし、むしろ余計なことするより見やすくなる ステートパターンは、お互いに影響し合う同時に管理すべきステートが何種類も出てきた時に思考実験として適用してみるのがいい 最終的には「switch caseで良いじゃん」という判断になるかもなんだけど、それはそれで試行錯誤の中で単機能のモジュール括りだしとか影響のない括りだしが
- 125 名前:出来るようになったということだから得るものはあるはず []
- [ここ壊れてます]
- 126 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 00:46:30.34 ID:8VBagU+u.net]
- >>122
二次元配列の横軸を自分縦軸を相手の属性の番号として攻撃力倍率テーブル引くとか? NORMAL = 0 FIRE=1 GRASS =2 WATER=3 だとして // 下記のテーブルはファイルからCSVを読み込めばExcelでデータが作れる float [,] attr2Pow = { { 1, 1, 1, 1}, { 1, 1, 2, 1}, { 1, 1, 1, 2}, { 1, 2, 1, 1} } ; int myAttr = FIRE; int enemyAttr = GRASS; float pow = attr2Pow[enemyAttr,myAttr]; こんなの?
- 127 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 00:56:30.81 ID:vXzAG1nN.net]
- いいね!分かりやすい
- 128 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 01:03:10.01 ID:4Me3/rFp.net]
- >>122
例えばこんな感じとか?それぞれの値は仮置き //属性列挙、仮にデフォルト値の属性なし+五行 enum Element{ None=0, Fire=1, Grass=2, Water=3, Earth=4, Metal=5, } //属性相性テーブル、仮に相克1.5倍,相生2倍 //ここでは直書きしてるがcsvなどから読むなど float[,] DamageRatioByElement=nw float[,]{ {1,1,1,1,1,1}, {1,1,2,1,1,1.5f}, {1,1,1,2,1.5f,1}, {1,1.5f,1,1,1,2}, {1,2,1,1.5f,1,1}, {1,1,1.5f,1,2,1} } //ダメージ係数の取得メソッド float GetDamageRatio(Element offense,Element defense){ return DamageRatioByElement[(int)offense,(int)defense]; }
- 129 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 01:03:55.58 ID:4Me3/rFp.net]
- って打ってるうちにほぼ同じ回答でとるじゃないかw
- 130 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 01:11:56.12 ID:4Me3/rFp.net]
- 違いとしては属性をenumにしてあるぐらいか…
属性をenumにしてある事での利点はコードにした時とインスペクタ上での指定がしやすいこと、欠点は配列から値を取り出す時に明示的キャストが必要な事
- 131 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 02:52:08.91 ID:8VBagU+u.net]
- >>129
まぁenum指定して書くのが正式だけどこの質問の場合マトリックスなテーブルからデータ拾うのが主題なんであんまり気にせずに書いただけなんだわ 素人さんにわかりやすい様にできるだけコード部分はマトリックスを引く所だけにしただけなんよ
- 132 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 11:19:42.20 ID:LB+KoAIF.net]
- できる男の特徴
・必要な情報だけを ・短時間でアウトプットできる 上司にしたいのは>>125みたいな人 できない男の特徴 ・言わずもがなの情報も含めて冗長性を増したものを ・長時間抱えてアウトプットしてしまう ・ただしこのスレには言わずもがなのことさえ身についていない人間の存在を想定できている 部下にしたいのは>>127みたいな人。薄給で丁寧な仕事をしてくれる
- 133 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 11:40:09.54 ID:UmbVE8zs.net]
- 上下関係なくできない奴を相手にする時は冗長に、出来る奴を相手にする時は簡潔にだろ
>>122が部下だったとして>>125の指示で必要充分だと思う上司は微妙じゃね?
- 134 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 12:34:08.46 ID:bMjccCUU.net]
- >>131はできない男ということか
- 135 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 12:47:43.01 ID:SwfMdWqF.net]
- 一緒に仕事をしたくない男の特徴
上から目線でグチグチと口を挟む>>131みたいな人
- 136 名前:名前は開発中のものです。 [2016/06/22(水) 13:05:07.31 ID:zO/uH0AI.net]
- できる男の特徴とかできない男の特徴とか全く必要のない事を語る気持ち悪い男
- 137 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 14:02:07.13 ID:/IEZr9H6.net]
- >>122
継承か委譲でやってみるとか
- 138 名前:名前は開発中のものです。 [2016/06/22(水) 14:55:07.33 ID:z2z+vKHf.net]
- 今unityで2dゲームを作ろうと試みています
で、tilemasterという2d用のタイルマップペイントアセットを使っているのですが このアセットはunityのデフォルトのグリッドに合わせた場所にマップチップを ペイントするという仕様なんですね で、もうちょっと自由度があればいいなと思ってグリッドサイズを変更するやり方を 探してるのですが見つかりません unityのデフォルトのグリッドは大体1メートル四方の大きさだという話なんですが これを変更する方法はないでしょうか?
- 139 名前:名前は開発中のものです。 [2016/06/22(水) 15:28:23.75 ID:z2z+vKHf.net]
- 自己解決しました
グリッドサイズの変更のやり方が見つからないので代わりにカメラサイズを 変えて対処することにしました
- 140 名前:名前は開発中のものです。 [2016/06/22(水) 15:36:28.54 ID:BWHa/Zcd.net]
- スーファミのドラクエ3くらいのクオリティーの2Dゲームを作りたいんですが
unityでもできますでしょうか?もしくは2Dゲームに合ったエンジンってありますか? いろいろ調べたのですがスマホアプリレベルならunity一番良いのでしょうか? ツクール系はちょっと違う気がしまして・・・
- 141 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 15:54:11.57 ID:/IEZr9H6.net]
- むしろツクール系が違うならなんなんだ
- 142 名前:139 [2016/06/22(水) 15:57:42.96 ID:BWHa/Zcd.net]
- ツクール系はいじったことあるんですが
ツクール系ぽさ、戦闘の感じとかが安っぽすぎてなんというか・・・ 素人っぽさを脱してない気がしてしまいまして。
- 143 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 15:58:08.21 ID:v3OWsaDI.net]
- 2DでRPGならツクールお勧めするよ、マジで。
Unityはデータ管理用の便利ツールとか何もついてないからその辺全部自作になるので。 まぁアセット買ってもいいなら便利アセットはあると思うけど 2Dにあったエンジンはcocos2Dxというのがしばらく前までは通説だったんだけど 最近下火っぽいという話は前スレで上がってた気がする。 ただ描画パフォーマンスとかは圧倒的に良かったはず。
- 144 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 17:20:07.94 ID:sHaCizvW.net]
- ツクールよりworfRPGエディターの方をおすすめしたい
クオリティを求めるならほとんど要素を自作することになるけれども ツクールよりも自由度は高いと思う
- 145 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 17:21:10.15 ID:sHaCizvW.net]
- 後から気づいた
スマホアプリが目的なら無理か
- 146 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 17:34:08.57 ID:LB+KoAIF.net]
- >>132-135
こんなに必死に噛みついて来ちゃって…… 君たちみたいなできない男でも、利用価値はあるんだから 胸を張って生きなよ
- 147 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 17:57:15.77 ID:sHaCizvW.net]
- >>145こいつ間違いなく社会人じゃない
と思いたい
- 148 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 18:45:32.19 ID:L2JrI/u3.net]
- unity5で作業しております。
#pragma strict var spd:float = 1.0; function Start () { } function Update () { if (Input.GetKey("x")) { transform.position.z -= spd; } }
- 149 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 18:47:52.64 ID:L2JrI/u3.net]
- 147です。
失礼しました。 unity5で作業しておりまして、 下記の用に、"x"キーを押すとz方向に移動するようにしています。 これを移動距離を8まででストップさせるにはどのようにしたらよいでしょうか? #pragma strict var spd:float = 1.0; function Start () { } function Update () { if (Input.GetKey("x")) { transform.position.z -= spd; } }
- 150 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 19:04:07.00 ID:qLiii+6+.net]
- >>145
めっちゃ早口で言ってそう
- 151 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 19:34:15.88 ID:v3OWsaDI.net]
- >>148
例えば #pragma strict var spd:float = 1.0; var distance:float = 8.0; var startPos:Vector3; var readyFlg:boolean=true; function Start () { startPos=transform.position; } function Update () { if(readyFlg){ if (Input.GetKey("x")) { transform.position.z -= spd; if(Vector3.Distance(transform.position,startPos)>=distance){ readyFlg=false; } } } } 勿論色々やり方はある。UnityScriptとか普段書いてないので間違ってたらすまん
- 152 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 20:56:02.85
]
- [ここ壊れてます]
- 153 名前: ID:L2JrI/u3.net mailto: >>150
148です。 [] - [ここ壊れてます]
- 154 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 20:56:39.80 ID:L2JrI/u3.net]
- 148です。
ありがとうございます! 上手く行きました。 勉強させていただきます。
- 155 名前:名前は開発中のものです。 mailto:sage [2016/06/22(水) 21:06:44.19 ID:/IEZr9H6.net]
- 取り敢えずキミは落ち着いて書き込む事を覚えよう
- 156 名前:122 mailto:sage [2016/06/22(水) 23:25:52.03 ID:PsjLXF60.net]
- 属性相性について皆様ご回答有り難うございます。
switch文の中にswith文を作る等も考えたのですがちょうどCSVからデータの取り込み、というのをやってみようと思っていたのでそちらで実装してみようと思います。 >>127さんの回答を参考に打ってみようと思います、ありがとうございます。
- 157 名前:名前は開発中のものです。 mailto:sage [2016/06/23(木) 10:33:34.71 ID:nKsiL7rY.net]
- >>152
めっちゃ早口で言ってそう
- 158 名前:名前は開発中のものです。 mailto:sage [2016/06/23(木) 18:31:07.54 ID:ETqOjHm1.net]
- >>155
逝ってるのはお前だろうがよぉ
- 159 名前:名前は開発中のものです。 mailto:sage [2016/06/23(木) 20:12:19.53 ID:nKsiL7rY.net]
- >>156
は?
- 160 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 04:35:10.17 ID:zjvNbqb1.net]
- Unityで書いたゲームと.NETで書いたゲームサーバーをuNetで通信させることってできないんかな?
簡単なので通信にuNetを使いたいものの、サーバーもUnity製にするとリソースを無駄に食うだけだから悩んじゃう・・・・
- 161 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 15:44:00.96 ID:km5nvk1w.net]
- お世話になります。
javascriptで書いています。 下記のスクリプトのように"a"キーを押したら、z方向に進みます。 そこから"a"キーを放したら、オブジェクト"B"をオブジェクト"C"の位置に移動させたいのですが、 どのように書けばよいでしょうか。 宜しくお願いいたします。 function Update () { if(readyFlg){ if (Input.GetKey("x")) { transform.position.z -= spd; if(Vector3.Distance(transform.position,startPos)>=distance){ readyFlg=false; } } if (Input.GetKeyUp("x")) { } } }
- 162 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 16:24:14.48 ID:+ekiJfee.net]
- >>159
- 163 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 16:57:35.36 ID:PrPQXAe+.net]
- >>159
>>150が甘やかしたのが悪いんだと思うがそういう 「コピペすれば動くコードよこせ。自分では何も調べるつもりはない」 みたいなこと言われてもな〜。 そのコードではreadyFlgが立っていたら(一度距離がdistanceを超えたら) キーを押しても離してももう動かない。それでいいのか? Unityは見た目に反して言語ができなければ一切何もできないツールだ。 諦めてちゃんと言語の勉強をしろ。unityscriptは捨ててC#をやれ。
- 164 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 17:34:40.97 ID:77R0Gkt/.net]
- もしかして>>159は
"B"とか"C"のオブジェクトの座標の取得のやり方を質問してる…? キーを押した時のif文とかは普通に理解してるっぽいし 座標への数値の代入の方法も大丈夫だし BをCに向かってゆっくり移動させたいんなら (Cの座標 - Bの座標).normalizedでBからCへの方向を取得して それに速度を掛けてやった分をBに足してやればいいし パっと移動させたいならBの座標にCの座標を突っ込めばいいし
- 165 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 20:52:40.87 ID:KTZazvVz.net]
- >>161
くぢぐちいってねぇで162みたいに教えてやれよ。あ、もしかして分からなかったのかな?アホすぎて爆笑
- 166 名前:名前は開発中のものです。 mailto:sage [2016/06/24(金) 21:55:23.44 ID:P9rm8zhM.net]
- すみません初心者ですが、
オブジェクトの移動用の関数変数が複数種類あって混乱しそうです。 Rigidbodyでは ・変数 positionの変更 ・変数 velocityの変更 ・関数 MovePosition() ・関数 AddForce() Transformでは ・変数 positionの変更 ・関数 Translate() 等を目的の種類 や使われ方にまとめた 早見表の様な物を知ってったら教えて下さい。
- 167 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 00:01:56.60 ID:rggTdyht.net]
- docs.unity3d.com/ja/current/ScriptReference/
- 168 名前:名前は開発中のものです。 [2016/06/25(土) 00:21:37.97 ID:mkvNifZE.net]
- >>164
このスレの住人には早見表の存在を知らないor教える能力がないor作る能力はないそうです ごめんね(^^;
- 169 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 00:34:51.98 ID:7xHaKWMY.net]
- >>164
学校の先生が正解持ってるだろ
- 170 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 00:42:02.23 ID:8cUMi0Mr.net]
- AddForceに関してわかりやすい資料が見当たらなかったのでここに
第二引数に渡すForceModeの内容によって変わるんだけどもそれぞれの特徴について Force:第一引数を単位が[N](力の単位ニュートン)の数値として扱う かつその数値をTime.fixedDeltaTimeで割った値を用いてRigidbodyに力を加える 力[N] = 質量[kg] * 加速度[m/s^2]より加速度は力[N]/質量[kg]と表すことができる。よって 「現在速度 += 第一引数の値 / Rigidbodyの重量 / fixedDeltatime 」 みたいな処理 Acceleration:第一引数を単位が[m/s^2](加速度そのもの)の数値として扱うかつ、その数値をTime.fixedDeltaTimeで割った値を用いてRigidbodyを加速させる 例として重力の影響を受ける物体に Time.fixedDeltaTimeの時間ごとにAddForce(-Physics.gravity, ForceMode.Acceleration)を実行させると空中で静止したりする 「現在速度 += 第一引数の値 / fixedDeltaTime」 みたいな処理 あとの2つは上の2つのそれぞれをfixedDeltaTimeで割らずに処理するみたいな感じ 間違ってたらゴメン
- 171 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 00:50:34.46 ID:kDQCPRXf.net]
- つか>>165で言われてるけど
マニュアルとスクリプトリファレンスでちゃんと説明がされてるぞ 何で公式をきちんと見ないであやふやな説明すんのか意味不明
- 172 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:01:29.18 ID:XA8big+1.net]
- >>168
公式にも書いてあるけどForce唯のベクトルだろ ベクトル分かんねーの?
- 173 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:09:57.44 ID:B5mZ8jzM.net]
- こんな感じか
Transform.position = 指定座標に再配置 Transform.Translate() = 指定方向と距離に再配置 実行したタイミングで即ワープする なので移動先に壁があれば当然のように埋まる Updateに書いた場合、処理順の関係で描画後に押し戻しが発生するため壁に突っ込むとピストン運動が始まる(FixedUpdate内に書けば問題ない) Rigidbody.position = 指定座標に仮配置 即座に処理されず、次の物理判定を待ってワープする そのため壁に突っ込んでも壁の前でピタッと停止する Rigidbody.MovePosition = 指定座標に仮配置 上と同じだけど慣性や衝突判定を考慮した中間描画を行なってくれる 簡単に言うとぬるっと動いて壁でピストンしない Rigidbody.velocity = 指定方向と距離に継続移動 宇宙空間の挙動に似てる 衝突や摩擦や重力で減衰されない限りずっとここに入ってる方向にぶっ飛んで行く Rigidbody.AddForce() = 指定方向と距離の値をvelocityに与える 加速や質量を考慮してvelocityに値を加えられる >>169 公式リファレンスは説明と呼んではいけないレベルで言葉が足りてないけどな
- 174 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:13:35.30 ID:kDQCPRXf.net]
- ほんと意味不明なレスするな
リファレンスが説明レベルと呼べないと言いながら 何ページにも渡る公式を数行でまとめた気になってレスすんなよw
- 175 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:14:58.77 ID:8cUMi0Mr.net]
- >>170
上に書いた式はベクトルの各要素に当てはまると思ったんだけども 間違えたっぽいな申し訳ない
- 176 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:26:05.53 ID:8cUMi0Mr.net]
- >>172
公式の文章をまとめてるだけのようには見えないけども… 少なくとも壁につっこむかどうかとかの使用感とかはリファレンスには直接明記はされてないし >>171の文章は初心者にはわかりやすくていいと思うけどなあ
- 177 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:30:44.34 ID:kDQCPRXf.net]
- >>171で理解できて使えるなら初心者じゃねえだろw
初心者は公式のサンプルスクリプトをコピーじゃなくて自分で打ち込んで実際に動かしたほうがずっと理解できるぞ
- 178 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:34:49.50 ID:XuVvzfFd.net]
- >>175
公式のリファレンス読んで理解できないから質問してるんだろ? 答えられない低脳はいちいちレスするな迷惑だから 一生ろむってろ口だけのアホ
- 179 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:36:08.54 ID:kDQCPRXf.net]
- また基地外が涌いたか
おまえが説明したことも一度も見たことないぞ糞カス
- 180 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 01:59:30.10 ID:0QGMe3Te.net]
- チュートリアルやマニュアルで理解できない人は適正が無いから
早めに諦めたほうが本人のためだと別スレでエロい人がいってた
- 181 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 02:01:30.74 ID:XA8big+1.net]
- 理解出来ないから、無理やり何かに当て嵌めて、
とんでもない勘違いを始めるってのはよく分かった
- 182 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 02:21:47.78 ID:8cUMi0Mr.net]
- 自分の書いた奴だな
単位指定無いのに勝手に付け足したこととかその他諸々 でもその認識で挙動確認しても問題なく動いてるけども これは自分が差異を認識できてないだけということか 内部の処理についてもう少し詳しく調べてみる これもとんでもない勘違いの続きだとは思うが得る物もあるでしょ
- 183 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 02:23:54.14 ID:B5mZ8jzM.net]
- でも公式マニュアルは初心者脱出した辺りからファミ通の攻略本並みに信用度が落ちるっていう罠がある
例えばFixedUpdateに関しては物理判定前に実行されるから描画が安定するっていうのが真実だけど、 公式もハウツーもそれを鵜呑みにしたお前らも固定フレームガーとかトンチンカンなこと言ってるし
- 184 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 02:46:00.47 ID:B5mZ8jzM.net]
- Update内でTransformを移動させても次のフレームのPhysicsフェイズで再計算されるまでColliderの位置は変わらないとかそういうマニアックだけど重大な情報は自身で観測するまで分からないってところがマジでファミ通の攻略本
- 185 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 03:16:49.05 ID:RHkVxPiE.net]
- ゲームプログラミングの数学
ベクトル www.sousakuba.com/Programming/gs_vector.html
- 186 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 03:35:03.47 ID:8cUMi0Mr.net]
- 計測してきた
Vector3型の適当な値が入ったvecと Rigidbodyのrigと置いて AddForce(vec / mass / Time.fixedDeltaTime, ForceMode.Force) AddForce(vec / Time.fixedDeltaTime, ForceMode.Acceleration) AddForce(vec / mass, ForceMod.Impulse) AddForce(vec, ForceMode.VelocityChange) velocity = vec の5つを試したけどもどれも誤差なく全く同じ結果が帰ってきた。 さらに摩擦による速度の減衰を無い状態にして、元の速度を持たせた上で上記の式を使うと、元の速度にvecを加算した値が新しい速度として認識できた。 つまり>>168で書いた AddForceの挙動が、ForceMode.Forceにおいて 「現在速度 += 第一引数の値 / Rigidbodyの重量 / fixedDeltatime 」 と、 ForceMode.Accelerationにおいて 「現在速度 += 第一引数の値 / fixedDeltaTime」 となることの確認が取れたんだけども 結構ためになった。一応自分は間違ってなかったと思いたい
- 187 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 03:41:02.27 ID:8cUMi0Mr.net]
- >>184
って大間違いやん ゴメンもう寝る
- 188 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 03:54:38.24 ID:8cUMi0Mr.net]
- ForceMode.Forceにおいて
「現在速度 += 第一引数の値 * Rigidbodyの重量 * fixedDeltatime 」 と、 ForceMode.Accelerationにおいて 「現在速度 += 第一引数の値 * fixedDeltaTime」 となるのが正しいのね わかってたならあやふやとかベクトルについてとやかくとか言うんじゃなくて指摘して欲しかった… いじわる過ぎやしませんか
- 189 名前:名前は開発中のものです。 [2016/06/25(土) 10:52:11.68 ID:NStHBjqe.net]
- 現在rigidbodyで車を操作しているのですが,
道となるcubeをどれだけ正確に並べても 段差があるのか車が勝手にピョンピョンしてしまいます. ホイールコライダーは色々調べました
- 190 名前:が使い方がわかりませんでした.
どうすればいいでしょうか? [] - [ここ壊れてます]
- 191 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 11:34:56.67 ID:Jj1SZ5hZ.net]
- iTweenを使用して、移動制御しようとしています。
チュートリアルを見ながら、下記のように1秒かけて、現状のx座標から10動かすという式をつくったのですが、 こちらをオブジェクト"test"の位置に移動するという形にしたいのですが、出来ますでしょうか。 宜しくお願いします。 function Position () { iTween.MoveTo(gun_obj , iTween.Hash ("x", gun_obj.transform.position.x+10, "time", 1)); flag00 = 1; }
- 192 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 11:43:37.08 ID:ljh4S1VC.net]
- >>187
ホイールコライダーのサスペンション(Suspension Distance)に吸収したい段差の高さを入力すると現実の車っぽくなるよ 逆にサスペンションを無しにすると現実のラジコンみたいに少しの段差でぴょんぴょん跳ねるようになる あとはAddForceに入れる方向ベクトルを車のローカル軸でちゃんと決めて、空中では加速しないようにしていれば大体上手く行くはず スタンダードアセットのVehiclesが割りとよく出来てるからインポートして参考にすると良いんじゃないかな
- 193 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 11:51:50.00 ID:7xHaKWMY.net]
- >>188
Unityを起動してやってみればわかる
- 194 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 12:12:00.18 ID:XuVvzfFd.net]
- >>177
はい、ブーメラン 口の利き方に気をつけろよ低学歴不細工
- 195 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 13:29:26.02 ID:dv77amF2.net]
- >>187
物理エンジンというのは 力による移動を計算→めり込んだら戻す という仕組みなのでCubeをどれほど正確に並べようがそうなる。 一番楽なのはメッシュコライダを使うこと。 ホイールコライダーを理解できるまで調べて使えば >>189のいうようにサスペンションで軽減はできるが基本的な部分では同じこと。 GCや他の理由でFPSが一時的に落ちた場合そのフレームでの段差は 大きくなるので跳ねる可能性はある。 ホイールコライダー自体は「そういうためのもの」ではないので 勿論併用は可。 ドライビングゲームはサンプルプロジェクトをUnityで配っているので とりあえずそれを隅から隅まで眺めるといいよ https://www.assetstore.unity3d.com/jp/#!/content/10
- 196 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 13:31:27.29 ID:dv77amF2.net]
- >>188
iTween.MoveTo(gun_obj , iTween.Hash ("position", test.transform.position, "time", 1));
- 197 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 13:41:02.80 ID:V1uOwJ0q.net]
- >>187,192
もしかしてUpdateに移動処理書いてるの? だったら原因は>>181でFAだよ 移動処理だけFixedUpdateに書けば埋まりはしない
- 198 名前:名前は開発中のものです。 [2016/06/25(土) 13:49:49.92 ID:XuVvzfFd.net]
- てす
- 199 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 13:53:03.50 ID:ChaRzoo2.net]
- >>171
役に立ちそう、サンクス FPSコントローラー自作するなら最後のrb.AddForceが良さそうだな、素直に公式のを使えば良いんだけど
- 200 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 14:22:43.48 ID:Jj1SZ5hZ.net]
- >>193
ありがとうございます! 上手く行きました!
- 201 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 21:18:00.79 ID:mkvNifZE.net]
- >>ID:kDQCPRXf
痛々しいなこいつ 自分の意見が容れられないからってキレちゃだめですよ、みっともない(苦笑)
- 202 名前:名前は開発中のものです。 mailto:sage [2016/06/25(土) 22:32:08.06 ID:AWHmMd++.net]
- 3Dアクションゲームを作っているのですが、入力関係とアニメーションについて質問です。
現在は ↑を押すと前へ進むアニメーションを再生 シフトを押すと防御のアニメーションを再生 といった具合になっています。別々にif文で設定しています。 この状態で同時に押しても防御しながら前へ進むという形にはできないのですが、どうすればいいのでしょうか ちなみにメカニムでアニメーション遷移してます。
- 203 名前:164 [2016/06/25(土) 23:42:23.08 ID:7iAEmeeQ.net]
- >>171
解りやすい解説ありがとうございます。 早見表として活用させて頂きます。
- 204 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 05:29:39.32 ID:vpX+VtU1.net]
- 只今、javascriptからC#の移行を進めているのですが、
下記のようにjavascriptからC#にかえてみましたが、 スクリプト指定部分の"public GoalScript goalScript;"でエラーを起こし、 どのように変換すれば良いでしょうか。 <javascript> var goalObj:GameObject; var goalScript:GoalScript; function Start () { if(!goalObj){ goalObj=GameObject.FindGameObjectWithTag("Goal"); } goalScript=goalObj.GetComponent(GoalScript); <C#> using UnityEngine; using System.Collections; public class buki_animeE : MonoBehaviour { public GameObject goalObj; public GoalScript goalScript; if (!goalObj) { goalObj = GameObject.FindGameObjectWithTag("Goal"); } goalScript = goalObj.GetComponent<GoalScript>();
- 205 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 05:51:09.03 ID:vpX+VtU1.net]
- 201です
すいません、自己解決しました。
- 206 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 10:39:51.64 ID:cEzqWoGO.net]
- どう解決したのか書いてない場合は
「諦めたので解決にしました」てこと
- 207 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 11:03:52.69 ID:vpX+VtU1.net]
- >>203
201です unity初心者ですので、上手く説明出来るか自信がないのですが、 式は間違っておらず、 参照するGoalScriptの方でエラーが起きていました。 早とちりな質問でご迷惑をおかけしました。 宜しくお願いいたします。
- 208 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 11:25:12.86 ID:/JkUZWy3.net]
- エラー内容見て自分で解決するのが初歩のプログラム勉強
いちいち他人に聞いてたらずっと初心者のまま 会社だったら先輩に糞扱いされること間違いなし どうしても判らない場合はせめてエラーメッセージも原文のまま書け 時々出没する自演以外の普通の人はエスパーじゃない
- 209 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 12:55:01.83 ID:Ko8JXYk+.net]
- 上から目線のクズばかりなのか、このスレは(困惑)
- 210 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 15:25:41.91 ID:Bpm8xEfs.net]
- そんなこともないかと・・・(String.Concat)
- 211 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 15:46:09.74 ID:ZjyHBTM6.net]
- Debug.log(このスレ)
- 212 名前:名前は開発中のものです。 [2016/06/26(日) 15:53:40.90 ID:YWfwSVt5.net]
- 為になる内容が少しでもあるのなら上から目線で見下すようなこと言われたとしても感謝すべきだと思うけど。
- 213 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 17:11:03.89 ID:79QJxiWv.net]
- 俺も過去数回質問したけど返答毎回優しかったけどな。ありがたい
- 214 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 17:29:01.71 ID:jC4NoYfc.net]
- >>208
Debug.Log()
- 215 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 18:05:37.00 ID:dTbBNbAC.net]
- >>199
一番簡単かつ確実な方法は防御しながら前に進むというアニメーションを作って ↑とシフトが同時に押されていたらそれを再生する。 アニメーションをブレンドする方法はブレンドするアニメーションが 「そのブレンド方法に適合したものになっている」ことが前提だが アバターマスクとレイヤーを使って上半身で防御のアニメーションを再生する
- 216 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 18:28:48.77 ID:qgiOpzl+.net]
- アニメーションレイヤー使えばよいかと
- 217 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 18:35:59.49 ID:PBvQIaHO.net]
- センスある絵を描ける人やモデリングが出来る人は良いよな
ゲームの根はコードだけど、コードは勉強すりゃ出来る
- 218 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 18:50:21.94 ID:Bpm8xEfs.net]
- コードを極めてプロシージャる生成した奴が最終勝者という説も
- 219 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 19:25:29.01 ID:atWCalOc.net]
- >>214
じゃあスクリプト極めて神絵や可愛い女の子のモデル量産するコード作ればいいんじゃないかな?笑 お前なら出来る! 因みに作ったらオープンソースにしてな爆笑
- 220 名前:名前は開発中のものです。 mailto:sage [2016/06/26(日) 19:29:09.15 ID:cEzqWoGO.net]
- あのー……
今の面白いやつは どこが面白いんですか?
|

|