【3Dゲームエンジン】Unity質問スレッド28 [無断転載禁止]©5ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。
2016/12/13(火) 22:34:52.47ID:X+rEJddk質問・回答・お礼以外はスレチなので総合スレでどうぞ
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総合スレッド29
http://echo.2ch.net/test/read.cgi/gamedev/1481616486/
■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質問スレッド27
http://echo.2ch.net/test/read.cgi/gamedev/1477131311/
0672名前は開発中のものです。
2017/05/05(金) 08:22:21.52ID:DbGMlKNsまあそこの記述もうちょっと別の言い方あるだろ感なくもない。
同じインスタンスを表していますが継承元のクラスの型のインスタンスとして返ってきます とか?
この言い方もあれだけど分かる人にはその辺の説明すらいらんだろし分からない人に向けてならちとわかりにくい感はある
0673名前は開発中のものです。
2017/05/05(金) 08:24:15.46ID:EIOVkM5L方法があるかと言うならある
やり方自体は無数に考えられるのでざっくりどんな方針で作るかを考える必要がある
・接合部が妥協出来るなら千切れる部分でモデルを分割しておくのが楽
・千切れる前のモデルと千切れた後のモデルを差し替える方法もあるし
・実行端末の処理能力に余裕があるなら動的にメッシュを切る事だって可能
0674名前は開発中のものです。
2017/05/05(金) 08:34:40.93ID:EIOVkM5L仕様変更されたと言っても、さすがに変数宣言でエラーを吐くというのはおかしい
貼ったコードが全文なのなら、おそらくusing UnityEngine.AI; がないのが原因な気がする
※エラーが出ている場合エラーメッセージを貼ってくれ
0675名前は開発中のものです。
2017/05/05(金) 09:07:27.29ID:EIOVkM5L作れるか?なら作れる
だがそれをやるメリットはない。他人が作ったものが使えるなら使う方が楽に決まってる
読むより自作した方が楽とかいう間抜けな発言を揶揄したいだけなんだろうからこれで充分だろ?
0676名前は開発中のものです。
2017/05/05(金) 11:07:48.05ID:+bjXTwY0そうですねー
オツムがある人も役たたないレスするんですね
>>670
ですね勉強しますねー
そんくらいのことは読めばわかるんですけどねw
>>671
丁寧な説明ありがとうございます
非常に腑に落ちました
ベースクラスを返すGetComponentが先にあって、その改良型?がジェネリック版という扱いなのですかね〜
>>672
そうなんですよね
曖昧な説明しかしないなら気になってしまうから触れないでほしい
0677名前は開発中のものです。
2017/05/05(金) 14:34:07.65ID:FCq9edHdバカだな
そんな姿勢ではこの先やっていけまい
0678名前は開発中のものです。
2017/05/05(金) 14:40:50.84ID:+bjXTwY0貴重なご意見ありがとうww
0679名前は開発中のものです。
2017/05/05(金) 16:14:40.69ID:RMWl1+tY教えなかったらその作者はクズだから拡散しまくれ
もう本が出せなくなるから
0680名前は開発中のものです。
2017/05/05(金) 18:09:30.47ID:AnaMeTgN言われたとおりusing UnityEngine.AI;を追加したところ、エラーが無くなりました。
ありがとうございます!
次からはエラーメッセージを貼るようにします。
0681名前は開発中のものです。
2017/05/05(金) 18:14:46.90ID:FX+F7YYo複数起動されないようにできなかったけ?
0682名前は開発中のものです。
2017/05/05(金) 18:38:21.38ID:FX+F7YYo0683名前は開発中のものです。
2017/05/05(金) 20:38:06.99ID:giehzT3Aまだ大学生でunityの知識は全くの0です
0684名前は開発中のものです。
2017/05/05(金) 20:39:35.72ID:giehzT3Aprintf("");とかfor文とかそのぐらいです
0685名前は開発中のものです。
2017/05/05(金) 21:30:27.26ID:yFsR8M1v初めてのunityとか言う本を読んでみてください。
0686名前は開発中のものです。
2017/05/05(金) 21:45:27.17ID:XZdGkeivpublic class Sample : MonoBehaviour
{
private int count;
//外部からプレファブを読み込む
public GameObject prefab;
void Start()
{
this.Fukusei()
}
private void Fukusei()
{
float y_float = 5.0f;
count = 3
//ループでプレファブを3体実体化
for(int i = 0; i < count; i++)
{
y_float = y_float + 2.0f;
Vector3 move = new Vector3(0f,y_float,0f);
GameObject c_prefab = Instantiate(prefab,move,Quaternion.identity)
as GameObject;
}
}
}
上記コードを実行させた所、1体しかオブジェクトが生成されませんでした。
ループ処理で複数オブジェクトを生成するにはどうすればよいのでしょうか?
知恵をお貸しください、よろしくお願いいたします。
0687名前は開発中のものです。
2017/05/05(金) 21:52:23.90ID:rv6i1zkKとりあえずC#の絵本
大学で体系立ててクラス、継承の概念を教えてくれてるなら公式のチュートリアルを進めるのが一番良い
0688名前は開発中のものです。
2017/05/05(金) 22:00:38.41ID:xxiP9vkKあっているかわからないけど
c_prefabに上書きされているからかな
なくすか、一つづつ代入
0689名前は開発中のものです。
2017/05/05(金) 22:29:40.41ID:3mck4Sa2セミコロンが2つ欠けてるからコンパイル通ってないと思われる
0690名無し@キムチ
2017/05/05(金) 23:50:12.90ID:AtSts0Wv今日は当方はヨナちゃんに3種類のキックをモーションをつけたのですが、1種類ごとにどこか間違っていて、ちゃんとつくのに随分時間がかかってしまいました。
まだモーションが足りないから、満足いく物語はつくれないなあ…
明日はどんなモーションをつけようかなあ?
0691名前は開発中のものです。
2017/05/06(土) 00:25:40.56ID:GohnxSff気持ち悪いキャラ付け含めてよそでやってろ
0692名前は開発中のものです。
2017/05/06(土) 07:09:35.34ID:0d99tECIヒエラルキーにオブジェクトは1つ?
かなり大きいオブジェクトで重なっててわからないとかは無いか。とりあえず。
0693名前は開発中のものです。
2017/05/06(土) 08:06:40.21ID:U+8B+lMFthis.transform.Rotate(vertical,holizontal,0);
下の文の処理を上の文で行おうと思ったのですが挙動がおかしいです
何が問題なのかわかりますか?
0694名前は開発中のものです。
2017/05/06(土) 09:09:35.52ID:aF88SVn+実は、上記のスクリプトコードは上手く動いていて
別オブジェクトにアタッチしているスクリプトコードが原因で
上手く動かなかっただけでした。
エラーは表示されず、1体だけ表示されていたので
上記コードが原因だと思い込んでいました。
現在、他のコードを修正して、思い通りの表示はできました。
みなさん、ご迷惑をお掛けしてすみません。
※補足
;抜けですが、コードをコピペした後に、コメントを消したり、改行したりしたので
一部;が抜けてしまいました。
ループしてc_prefabに3回GameObjectがコピーされますが
こちらは動作上では問題ありませんでした。
ヒエラルキーにオブジェクトは1つです
大きい場合は、重なってて気づかない時もあるので、注意します
0695名前は開発中のものです。
2017/05/06(土) 10:54:18.31ID:FLUPXrMJアセットを買えばわかると思うんですが
0696名無し@キムチ
2017/05/06(土) 20:39:09.54ID:Ixg0NR170697名前は開発中のものです。
2017/05/06(土) 20:54:44.75ID:f3wyd39v0698名前は開発中のものです。
2017/05/06(土) 21:51:45.59ID:8DQf0qQ80699名前は開発中のものです。
2017/05/07(日) 09:26:45.72ID:uJs6OOqI購入した他人のプレハブをシーンに配置すると複数のパーティクルを同時に再生しているのが判りますが、
これはどのようにしているのでしょうか?
0700名前は開発中のものです。
2017/05/07(日) 13:28:03.49ID:7oApjb+W0701名前は開発中のものです。
2017/05/07(日) 13:42:55.88ID:MlRUI8Ep0702名前は開発中のものです。
2017/05/07(日) 14:13:41.81ID:14rtgphlUnityをインストールして
後日Unityをインストールしたパソコンにグラボを増設しても
Unityを再インストールする必要ってないですよね?
Unityが保存されているのがHDDやSSDで
グラボは映像描写なので大丈夫だとは思うのですが
なにぶんパソコン関係に疎く自分の考えに自信が持てないので
教えていただければと思います
0703名前は開発中のものです。
2017/05/07(日) 14:33:22.97ID:Jjo3bxMR0704名前は開発中のものです。
2017/05/07(日) 15:32:50.53ID:eeWZXSFZ不安なら、まずはグラボのドライバをクリーンアンインストール&再インストールするといい
大体そのまま動くんじゃない?
それでトラブったら、グラボドライバのバージョン調整、Unity再インストール、OS再インストール試すべし
自分の運を呪え
0705名前は開発中のものです。
2017/05/07(日) 16:33:42.81ID:fxHQ1qjPこのゲームではスコアをネットにアップロードして他のプレイヤーと
競え合える機能をつけようと思っています
そのためのアセットでdreamloというものをインポートして使っています
dremloというのはdreamloのサイトurlに命令の文字列や数値などをつけて送ったら
dreamloのサイト上の自分のページにその数値が記録されるというサービスです
で、ビルドも成功してローカルでは完全な形で機能していてネットにも接続できてます
でもそれをunityroomというunityのwebglゲーム用のサイトにアップロードしたところ
ネット接続ができなくなりました
chromeとfirefoxで試したのですが両方エラーになりました
http://i.imgur.com/DsSeTQ2.png
これがchromeのブラウザ上でチェックした時のエラー部分です
http://i.imgur.com/1IM6dZi.png
こちらがfirefoxでネット接続を試みた時に出るダイアログです
firefoxの方はこのまま画面が止まってしまいました
私はネットの知識に疎いので何がどうダメなのかさっぱりわかりません
どういう問題があると予想されるのかヒントをいただけませんでしょうか?
0706名前は開発中のものです。
2017/05/07(日) 17:34:27.06ID:JQdRFx86エラーの英文ぐらいは読もうな
httpsのセキュリティ保護されたページからhttpでセキュリティ保護されていない通信をしようとしているため、このリクエストがセキュリティ的にNGであるとしてブラウザによってブロックされている
0707名前は開発中のものです。
2017/05/07(日) 17:42:28.74ID:fxHQ1qjPそれは読んだんですがそれがどういう意味なのかよくわからなくて。
untyroomのサーバはhttpsのurlなんですよね?
で、dreamloはhttpと
この場合unityroomからdreamloへアクセスするにはどういう方法が
あるのでしょうか?
0708名前は開発中のものです。
2017/05/07(日) 18:02:23.90ID:EjPgrCun0709名前は開発中のものです。
2017/05/07(日) 18:03:05.14ID:CJYUf01h他のアセットを買ってみましょう。
きっと道が拓けると思いますよ
0710名前は開発中のものです。
2017/05/07(日) 18:13:45.21ID:fxHQ1qjPそうなんですかね
困ったなぁ
自分でも調べてみます
0711名前は開発中のものです。
2017/05/07(日) 18:14:47.49ID:co61ccwl{
if(true){
Cube.renderer.material.SetColor ("_Color", Color.red);
}
if(true){
Cube.renderer.material.SetColor ("_Color", Color.white);
}
}
2つのtrueのコードで実行内容がぶつかった場合、
このupdate関数の中でも一瞬でも赤に変わることもなく
下の方に書かれたコードが優先されるのは何故でしょうか?
0712名前は開発中のものです。
2017/05/07(日) 18:19:09.79ID:Jjo3bxMR0713名前は開発中のものです。
2017/05/07(日) 18:25:13.30ID:L02Q1q1N0714名前は開発中のものです。
2017/05/07(日) 18:31:17.75ID:G1j9ioGVTwitterで有能なエンジニアと知り合いになって聞いて見たまえ
0715名前は開発中のものです。
2017/05/07(日) 19:19:56.92ID:LwPLrk9Lとりあえずブラウザのセキュリティレベルを落としてみれば?
例えばFirefoxなら、許可サイトに追加してみるとか。
>>713
とりあえず1行目の掛け算の前後を逆にしてみれば?
デバッグなんてとりあえずでやってみりゃいいんだよ!
0716名前は開発中のものです。
2017/05/07(日) 19:47:14.02ID:CJYUf01hアセットを買えばわかると思います
0717名前は開発中のものです。
2017/05/07(日) 20:19:44.18ID:nyIgqpMk知り合いのUnityユーザーに聞いてみます
0718名前は開発中のものです。
2017/05/07(日) 20:45:50.64ID:MGcd9AoN処理速度が速いので、切り替わってるのが認識できない。
whileで100回繰り返しても一瞬で最後の色が表示される。
スタートコルーチンと
yield return new WaitForSeconds(0.02f);
で処理を遅らせると、切り替わるように表示させることができます。
0719名前は開発中のものです。
2017/05/07(日) 21:09:57.21ID:baCk0ayQフレームバッファの描画が終わってから画面に反映されるから、反映途中は見えないようになってる。
0720名前は開発中のものです。
2017/05/07(日) 22:31:46.26ID:JQdRFx86後者が優先されているというわけではなくどちらのコードも実行されている
ただ赤くした直後に白くするコードが実行されているためレンダリングする時点では常に白くなっているというだけ
Updateやレンダリングの実行タイミングについては下のページのフローチャートを参照
https://docs.unity3d.com/ja/540/Manual/ExecutionOrder.html
0721名前は開発中のものです。
2017/05/07(日) 23:43:33.21ID:JQdRFx86現在の回転(transform.rotation)に、現在の回転の軸を基準にした回転(Quaternion.AngleAxis)をかけてるから現在の回転が2重に計算されてるんじゃない?
transform.Rotate(x,y,0);はtransform.rotation*=Quaternion Euler(x,y,0);と等価
Quaternion Euler(x,y,0);はQuaternion.AngleAxis(y, Vector3.up) * Quaternion.AngleAxis(0, Vector3.right);と等価
よってtransform.upとtransform.rightをVector3.upとVector3.rightに書き換えれば行ける…と思うが確認はしていない、多分いけると思う
0722名前は開発中のものです。
2017/05/07(日) 23:45:36.05ID:JQdRFx86Quaternion Euler(x,y,0);はQuaternion.AngleAxis(y, Vector3.up) * Quaternion.AngleAxis(0, Vector3.right);と等価
正:
Quaternion Euler(x,y,0);はQuaternion.AngleAxis(y, Vector3.up) * Quaternion.AngleAxis(x, Vector3.right);と等価
間違えたすまん
0723名前は開発中のものです。
2017/05/07(日) 23:52:38.95ID:JQdRFx86誤:Quaternion Euler(x,y,0);
正:Quaternion.Euler(x,y,0);
ゴロゴロしながらスマホでコード入力とかしちゃいかんね、テキトーですまん
0724名前は開発中のものです。
2017/05/08(月) 06:27:18.66ID:/rxlirAwXBOXコントローラの入力設定をしていたのですが
LTとRTが同じ値を扱うので「LT押して構えながらRTで攻撃」みたいな処理が出来なくて困ってます
具体的にはLTを押すと-1、RTを押すと1、どちらも押さないか両方押すと0になります
どうにかして先程のような処理が出来る方ご存じないですか?
0725名前は開発中のものです。
2017/05/08(月) 06:52:07.02ID:wuujaGy4丁寧な回答ありがとうございます!
0727名前は開発中のものです。
2017/05/08(月) 12:52:49.28ID:iZefHD7L結局webglビルドはネットランキング対応やめにしました
dreamloのサイトをよくみてみたら「httpsに対応できますよ。そのためには
5ドルの寄付が必要です」と書いてありました
で、寄付しようと思ったんですけどどうも日本からの寄付には対応してないようなのです
仕方ないのでそれは諦めました
それで質問なのですが皆さんはネットランキングに対応するのにどういう手法を使っていますか?
他の人のやり方がヒントになるかもしれないのでお教えいただけないでしょうか
0728名前は開発中のものです。
2017/05/08(月) 13:58:55.17ID:uP7SRH0d無料のレンタルサーバー借りて
PHP(言語、C#よりは楽だよ)で作った自作のランキングCGI(サーバー側で動くアプリみたいなもん)を設置して
Unityからその自作のランキングCGIへアクセスする
PHPはWebサイトに掲示板やアクセスカウンターを作る言語で
掲示板やアクセスカウンターの作り方の応用でランキングプログラムも作れる
dreamloとやらがやってることを全部自分で作ってしまう感じ
PHP使える人なら半日で出来るし
PHP使えなくてもUnityでC#をバリバリやってるのなら3日〜1週間くらいで出来るとは思う
0729名前は開発中のものです。
2017/05/08(月) 14:02:48.98ID:iZefHD7Lいえいえ
参考になりました
実はphpがいいんじゃないかとは最近調べ始めて考えてました
やっぱりサーバサイドの知識があれば自由度が増しますもんね
phpやってみようかな
0730名前は開発中のものです。
2017/05/08(月) 14:05:02.48ID:L2rmtk1s0731名前は開発中のものです。
2017/05/08(月) 14:16:03.74ID:e4WmfSW20732名前は開発中のものです。
2017/05/08(月) 14:40:28.43ID:t412r4No過疎っても空振りに終わってもゲーム本体とランキング機能が生きてる限り支出が発生してしまうのは避けたい
自前で作るより低コストで運用可能で、要件を満たすのであれば外部のサービス使う方がいいわ
0733名前は開発中のものです。
2017/05/08(月) 14:46:15.74ID:iZefHD7L外部のサービス色々探したんですけど
ほとんどある一定の通信料になると追加料金が発生したりするものとかばかりで
使いにくいんですよね
その点自前サーバではサーバの料金だけですし
0734名前は開発中のものです。
2017/05/08(月) 18:15:47.61ID:+HOnwGdiYOUTUBEで事足りる
0735名前は開発中のものです。
2017/05/08(月) 19:03:09.93ID:t412r4Noサービスによりけりだがサーバ維持コスト以上の課金が必要なほどのアクセスが発生するなら、自前サーバだって可用性の担保やら冗長化やらでそれなりにコストが増える
コスト増を嫌ってスケールアウトしないとサーバダウンしてランキングつかえない早く直せでレビュー炎上コース
0736名前は開発中のものです。
2017/05/08(月) 23:08:59.94ID:gjXXhm670737名前は開発中のものです。
2017/05/08(月) 23:19:08.86ID:KJyawaT70738名前は開発中のものです。
2017/05/09(火) 02:52:23.75ID:k0+dT0qzBlenderを使用して人型の3Dモデルを作成してRigifyでボーンを入れ
Humanoidのアニメーションタイプで再生させる所までは出来たのですが
Rigifyで生成されるボーン以外に新規にボーンを追加したいです
ですがアニメーションが崩れるなどで困っています
Humanoidのアニメーションタイプのボーン数は可変には出来ないのでしょうか?
Genericなど他のアニメーションを採用しないといけないのでしょうか?
0739名前は開発中のものです。
2017/05/09(火) 09:37:28.03ID:pBw3qVGDprivate float mouseX,mouseY;
public float mouseSpeed = 10f;
public float mouseYPosition = 1f;
private float moveFB,moveLR;
public float moveSpeed = 2f;
public float rotationSpeed = 5f;
private Vector3 move = Vector3.zero;
private float rotations = 180.0f;
void Update () {
Zoom ();
Move ();
}
void Zoom(){
カメラ操作なので省略
}
void Move (){
moveFB = Input.GetAxis ("Vertical") * mouseSpeed;
moveLR = Input.GetAxis ("Horizontal") * mouseSpeed;
move = new Vector3 (moveLR,0,moveFB);
player.GetComponent<CharacterController> ().Move (move*moveSpeed*Time.deltaTime);
centerPosition.position = new Vector3 (player.position.x,player.position.y + mouseYPosition,player.position.z);
Vector3 playerDir = move;
if(playerDir.magnitude > 0.1f){
Quaternion q = Quaternion.LookRotation(playerDir);
transform.rotation = Quaternion.RotateTowards(transform.rotation , q , rotationSpeed * Time.deltaTime);
}
スクリプトでやりたいことはカメラ、プレイヤー、プレイヤーの頭上を指定してカメラがプレイヤー周りを回転、ズーム。プレイヤーがダークソウル、PSO2のように方向キーで入力した方向に移動する、ということでした。
ですが実行したところカメラの操作は出来たのですがプレイヤーは方向キーの方向を向いて移動せず、その後も色々調べたのですが解決には至らずご質問させて頂きました。
もう一つ、方向キーの方向へ移動するスクリプトを探す時、主に「Unity 方向キー 移動」と検索していましたがこの操作を検索する時はどのような言葉で検索するべきでしょうか?
ゲームに関わる用語には疎く初歩的な質問で申し訳ありません。よろしくお願いいたします。
0740名前は開発中のものです。
2017/05/09(火) 10:26:02.69ID:jPne5KPuエンジニアと知り合いになって聞いて見たまえ
0741名前は開発中のものです。
2017/05/09(火) 11:39:51.32ID:N75Uh4KE私も初心者ですが、
ワールド座標ではなく現在のカメラの方向を移動の基準にしたいのであれば以下が参考になるかも
http://tech.pjin.jp/blog/2016/11/04/unity_skill_5/
0742名前は開発中のものです。
2017/05/09(火) 12:20:25.66ID:V6iBeyHhって表示されたんですがどういうことですか?
0743名前は開発中のものです。
2017/05/09(火) 12:34:03.57ID:Mbl8vaYChttps://forum.unity3d.com/threads/humanoid-rigs-and-extra-bones.360979/
同様の質問に公式の回答がついてるので読むべし
0744名前は開発中のものです。
2017/05/09(火) 12:44:59.60ID:hl5esBj9英語を勉強してください
0745名前は開発中のものです。
2017/05/09(火) 13:00:25.62ID:oS/HVu/Pkeycodeかな
0746名前は開発中のものです。
2017/05/09(火) 13:15:52.69ID:B5ZGB86Uワールド座標とローカル座標の勉強をする事。
それが腑に落ちれば、キャラの正面方向に加算するだけでどんな方向を見ていても、正面方向に進んでくよ。
transform.localPotision.z
0747名前は開発中のものです。
2017/05/09(火) 13:37:01.85ID:YlWa+vc7アセットを買えばわかると思います
0748名前は開発中のものです。
2017/05/09(火) 14:05:37.97ID:Mbl8vaYCCharacterController.Moveはキャラクターのローカル座標を基準にキャラクターを動かすよって入力をそのまま渡すとラジコン操作になる
カメラ=現在見ている画面 を基準に動かしたい場合
入力をカメラのローカル座標系におけるベクトルとし、これをキャラクターのローカル座標系におけるベクトルに変換する必要がある
よって、わかりやすくやるなら以下のような変換をすればCharacterController.Moveに渡せる形になる。
move=Camera.main.TransformDirection(move);//一旦ワールド座標系に変換
move=player.InverseTransformDirection(move);//プレイヤーのローカル座標系に変換
0749名前は開発中のものです。
2017/05/09(火) 15:00:45.17ID:k0+dT0qzありがとうございます
参考にさせて頂きます
0750名前は開発中のものです。
2017/05/09(火) 16:13:06.68ID:YVT3Yiln自身のオブジェクトのスクリプト操作で自身以外の二つのオブジェクトを衝突させたときの処理はどうすればいいのでしょうか?
OnCollisionEnterでやったら引数がよく分からないことになりました。
0751名前は開発中のものです。
2017/05/09(火) 16:16:26.65ID:hl5esBj90752名前は開発中のものです。
2017/05/09(火) 17:16:30.81ID:Mbl8vaYCごめんこれ間違い、下が正解
move=Camera.main.transform.TransformDirection(move);//一旦ワールド座標系に変換
move=player.transform.InverseTransformDirection(move);//プレイヤーのローカル座標系に変換
0753名前は開発中のものです。
2017/05/09(火) 19:07:59.68ID:e6cTPFg1Terrainを適当に生成して、その上にCharacter Controllerで管理したキャラを動かしてます
ほぼ垂直な地形に向かってジャンプすると↓のように壁の途中で引っかかります
http://f.xup.cc/xup8bxqhnlf.png
さらにジャンプを繰り返すと、このほぼ垂直な壁でも登れてしまいます
どうすれば壁に引っかからないか、ずり落ちるか出来るでしょうか?
0754名前は開発中のものです。
2017/05/09(火) 19:10:14.54ID:hl5esBj9連続ジャンプを防ぐにはジャンプの発動に条件を設ければよい
あと最初からCharacterControllerを使うのはオススメしない、フロントエンドの一番大事な場所をすっ飛ばすことになる
0755名前は開発中のものです。
2017/05/09(火) 20:39:01.40ID:e6cTPFg1回答ありがとうございます!
実はこれより前にRigidbodyとCapsuleColliderを使って動かしていて、>>753の問題はなかったのですが
↓の様に地形のちょっとした凹凸部分でめり込んだり出たりと繰り返して、挙動がおかしくなってしまいます
http://f.xup.cc/xup8crjizbd.gif
そこでCharacter Controllerに変更したのですが
アクションゲームならやっぱりRigidbodyにするべきですか?
0756名前は開発中のものです。
2017/05/09(火) 20:49:33.80ID:hl5esBj9そういう挙動の修正も仕事の内だし、キャラの移動系は一度は自分で一から組んでおくべき
CharactorControllerの中身がどういう処理をして自然な動きになっているのかを知らずに進むのは危険
ゲームデザイナーを目指していてレベルデザインだけをしたいというのなら大いに使えばいいと思う
0757名前は開発中のものです。
2017/05/09(火) 21:26:34.63ID:pBw3qVGD返信が遅れてしまい申し訳ありません。ありがとうございました。
少ししか出来てませんが助言通りに座標関連を見直して色々スクリプトを弄ったところキー方向を向いて移動させることができるようになりました。
修正後(centerPositionの移動を分けました)
void Update () {
Zoom ();//省略
Move ();
Center ();
}
void Move (){
moveFB = Input.GetAxis ("Vertical") * mouseSpeed; //@
moveLR = Input.GetAxis ("Horizontal") * mouseSpeed;//@
move = playerCamera.transform.TransformDirection(move);//A
move = player.transform.InverseTransformDirection(move);//A
move = new Vector3 (moveLR, 0, moveFB); //B
if (move != Vector3.zero) { //
player.transform.rotation = Quaternion.LookRotation(move);//キー方向を向く
}
}
void Center(){
player.GetComponent<CharacterController> ().Move (move * moveSpeed * Time.deltaTime);
centerPosition.position = new Vector3 (player.position.x, player.position.y + mouseYPosition, player.position.z);
}
カメラの正面=プレイヤーの正面は出来ておらず、実行するとワールド座標をベースに動いています。
まだ途中ですが、結果的にAで座標変換してもBが影響を受けていない@のみで動いているのでそこを上手くAと合わせるようにスクリプトを書くつもりです。ありがとうございました。
0758名前は開発中のものです。
2017/05/09(火) 21:40:16.71ID:E9gMEeC8OnTrrigerEnter2Dで当たったCollider2Dと当たられたCollider2Dのそれぞれpositionを求めたいのですが、どこを参照すればいいのでしょうか?
よろしくお願いします
0759名前は開発中のものです。
2017/05/09(火) 21:44:19.66ID:hl5esBj9検索はしましたか?検索してから質問してください
0760名前は開発中のものです。
2017/05/09(火) 21:54:32.51ID:E9gMEeC8検索はしましたがいまいち試してもうまくいきませんでした。
オブジェクトの子にCollider2Dがついていてそれが接触しているのですが、引数のcollision.transform.positionで取得しても親の座標が出てしまいます。
プレハブ化して同じオブジェクト同士を接触させています。
0761名前は開発中のものです。
2017/05/09(火) 21:57:39.39ID:YoMeUF+Aどう検索したか書いてください
0762名前は開発中のものです。
2017/05/09(火) 22:07:19.37ID:E9gMEeC8Collider2DやOnTrrigerEnter2Dなどのリファレンスやブログ等の解説記事を探しましたがそのCollider2Dの座標について記述しているものは見つけられませんでした。
引数のcollisionが当たられた方のCollider2Dだと認識していますが間違っていますか?
0763名前は開発中のものです。
2017/05/09(火) 22:07:41.06ID:EHqSe03G買ってみます
0764名前は開発中のものです。
2017/05/09(火) 22:07:45.79ID:BB63aHHh衝突した箇所の座標ではなく、衝突したオブジェクトの座標(中心点)なら、衝突でネーム取得してポジション取得するだけやん?
衝突箇所ならhitだっけ?で検出するのでは?
0765名前は開発中のものです。
2017/05/09(火) 22:11:16.22ID:E9gMEeC8同じオブジェクトをプレハブ化して複数出しているので同名のオブジェクトが複数存在してしまい正しいオブジェクトを取得できない状況です。
0766名前は開発中のものです。
2017/05/09(火) 22:14:34.39ID:e6cTPFg1まだまだ基礎を理解していなく調べ足りないようなので、少しずつ調べながらやってみます
ありがとうございました!
0767名前は開発中のものです。
2017/05/09(火) 22:20:03.58ID:YoMeUF+A検索ワードを書け
0768名前は開発中のものです。
2017/05/09(火) 23:52:40.09ID:k0+dT0qz対象のSkinned Mesh RendererのインスペクターにShape keyの配列が全く表示されません
ミラーなどは適用済みにしてシェイプキーを作成して、FBXでバイナリやASCIIでエクスポートしてみたのですが変化せず
UnityとBlenderで連携周りの仕様がネットの情報が錯綜しており、イマイチちんぷんかんぷんです
Unity5.5.2f1(バージョンで仕様が変化した?)
Blender2.77
不足している情報等あれば指摘していただければ回答致します
情報足らずかもしれませんが宜しくお願い致します
0769名前は開発中のものです。
2017/05/10(水) 08:00:29.27ID:XRNd4lXg他のフォーマットでエクスポートしてみたら?
AlembicやOSDとか…
0770名前は開発中のものです。
2017/05/10(水) 08:36:45.24ID:v3ig5uFNBlenderスレで聞いて見たまえ
0771名前は開発中のものです。
2017/05/10(水) 12:43:49.91ID:pZpc7fx0やればわかるはなしで
■ このスレッドは過去ログ倉庫に格納されています