[過去ログ] 【3Dゲームエンジン】Unity質問スレッド29 [無断転載禁止]©2ch.net (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
869(1): 名無し@キムチ [] 2017/07/02(日) 23:32:49.84 ID:zf8u775w(3/3) AAS
>>865865(6): 名前は開発中のものです。 [sage] 2017/07/02(日) 23:08:49.31 ID:dVwEafn/(1) AAS
Cubeで作った床の上をSphereを回転させて移動させたいと考えています。
Spehgeにtransform.Rotateを使用して回転させているのですが、
床の上を空回りするだけで移動してくれません
おそらくRotateはオブジェクトの角度を変えるだけで
物理的に回転をしているわけではないのかなと考えています
もしSphereのような球体を回転させながら摩擦によって床の上を転がしたい場合は
どのような方法が可能でしょうか
もし何かアドバイスありましたら教えてください、、
キャラが目障りな場合には透明なCubeをつくってコライダーをつけて、transform.positionで球体にぶつけてやればいいです。
そうすれば球体は自動的に転がっているように見えます。
これなら当方にも解答できました!!!
951: 865 [sage] 2017/07/11(火) 23:34:28.69 ID:JL7CFnqY(1) AAS
遅くなりましたが回答ありがとうございました。
無事解決しました。
>>867>>869
透明な物体で押す発想は目からうろこでした、ありがとうございます。
>>868868(1): 名前は開発中のものです。 [sage] 2017/07/02(日) 23:31:33.98 ID:uNLX2KlV(13/15) AAS
>>865
摩擦まで意識してるなら
物理で動かすのが簡単なので
英語がわかるなら詳しくはこの辺みてもらうとして
外部リンク:unity3d.com
簡単にいうとボールにrigidbodyと
下みたいなスクリプトつけてやると
物理でころころと転がる
using UnityEngine;
using System.Collections;
public class ball : MonoBehaviour {
private Rigidbody rb;
void Start ()
{
rb = GetComponent<Rigidbody>();
Vector3 movement = new Vector3 (0.0f, 0.0f, 100.0f);
rb.AddForce (movement);
}
}
urlにコードまで用意してくださりありがとうございます。
>>874874(1): 名前は開発中のものです。 [sage] 2017/07/03(月) 08:25:22.72 ID:hWs8TYNO(1) AAS
>>865
AddForceは移動が先に与えられて地面との摩擦で回転が生じる
AddTorqueはまず回転トルクがかかってその回転と地面との摩擦によって移動が生じる
例えるなら前者はビリヤードの玉、後者は車の動輪だが、質問を見る限り>>865がイメージしてるのは後者だろう
まあ制御が面倒だからAddForceで妥協してしまうと言うのも手ではあるので好きな方を選ぶといい
詳しい解説ありがとうございます。
おっしゃる通り後者のイメージでした。
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.037s