質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

受付中

再度質問させていただきます。Unity 動く床について

van-0215
van-0215

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。

1回答

0評価

1クリップ

4554閲覧

投稿2016/03/25 01:48

編集2022/01/12 10:55

前回の質問に続きUnity5について質問させていただきます。

現在動く床を作成しています。 その際、プレイヤーが床に乗ったらともに動く。という使用にしているのですが、横方向での動作は確認できたのですが、縦方向では画像のようにキャラクターがたまに浮いてしまいます。
![浮いたキャラクター](4a91b0a503286bb62315403bc5a90875.png)

下記に動く床(床自体が上下に動く)のスクリプト。
そしてキャラクターを連動して動かすスクリプト。(こちらは、床の上にColliderを作り床の上にプレイヤーがきたら、床の子オブジェクトにキャラクターを入れる。という仕様です)
この2つを貼っておきます。どうすれば床の上で浮かないでいられるか教えてください。 お願いします。

**今色々試してみましたが、子の床に乗った後に↑を使っての移動時には浮かないことがわかりました。 十字キーの→↓←を押すと浮いてしまいます。 一度浮いたら基本的に浮きっぱなしです。**

C#

<動く床> using UnityEngine; using System\.Collections; public class MoveFloor_tate : MonoBehaviour { private Vector3 initialPosition; void Start\(\) { initialPosition = transform\.position; } void Update\(\) { transform\.position = new Vector3\(initialPosition\.x, initialPosition\.y \+ Mathf\.Sin\(Time\.time\) \* 2\.0f , initialPosition\.z\); } }

C#

<プレイヤーを連動させる> using UnityEngine; using System\.Collections; public class MoveFloor_player_tate : MonoBehaviour { void OnTriggerEnter\(Collider other\) { Debug\.Log\("TriggerEnter"\); if \(other\.gameObject\.tag == "Player"\)//プレイヤーが乗った { if \(other\.gameObject\.transform\.parent == null\)//親子設定がない { other\.gameObject\.transform\.parent = transform;//親子を設定 Debug\.Log\("parenting"\); } } } void OnTriggerStay\(Collider other\) { Debug\.Log\("TriggerStay"\); } void OnTriggerExit\(Collider other\) { Debug\.Log\("TriggerExit"\); if \(other\.gameObject\.tag == "Player"\) { if \(other\.gameObject\.transform\.parent != null\) { other\.gameObject\.transform\.parent = null; Debug\.Log\("unparenting"\); } } } }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

sakura_hana
sakura_hana

2016/03/25 02:11

1.Debug\.Logは想定通りのタイミングでTriggerEnterとTriggerExitが表示されていますか?  2.プレイヤーのオブジェクトにはRigidbodyコンポーネントが付いていると思いますが、「Use Gravity」と「Is Kinematic」の項目はどんな設定にしていますか?
van-0215
van-0215

2016/03/25 02:29

1.Debug\.Logは想定通りのタイミングでTriggerEnterとTriggerExitが表示されていますか? >>想定通りのタイミングかつ表示もしっかりされています。(浮いているときも表示はされている) 2.プレイヤーのオブジェクトにはRigidbodyコンポーネントが付いていると思いますが、「Use Gravity」と「Is Kinematic」の項目はどんな設定にしていますか? >>「Use Gravity」はON。「Is Kinematic」はOFFです。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Unity3D

Unity3Dは、ゲームや対話式の3Dアプリケーション、トレーニングシュミレーション、そして医学的・建築学的な技術を可視化する、商業用の開発プラットフォームです。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Unity

Unityは、ユニティテクノロジーが開発したゲームエンジンです。 主にモバイルやブラウザ向けのゲーム製作に利用されていましたが、3Dの重力付きゲームが簡単に作成できることから需要が増え、現在はマルチプラットフォームに対応しています。 言語はC言語/C++で書かれていますが、C#、JavaScript、Booで書かれたコードにも対応しています。