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

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

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

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

2回答

4133閲覧

Unityでの高さ判定

sena14

総合スコア109

C#

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

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

1グッド

0クリップ

投稿2018/04/26 02:46

編集2018/04/26 03:27

Unityでものを積み上げていく3Dゲームを作っています。
(5,5,5)のフィールドがありそこに(2,1,1)のようなCubeを落とすと新しいCubeが生成され、またそれを落として積み上げていく感じです。

その際にScoreを高さで管理したいのと、一番高いところよりもさらに上に次のCubeを生成しないと積み上げられないという点で高さが必要なのですが
高さの調べ方が分からず困っています。

透明なObjectを落としてぐらいしか思いつかず現実的ではないなと思うのですが

良い方法があれば教えていただきたいです。
よろしくお願いします。

pnp0a03👍を押しています

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

Physics.BoxCastを使用して上から下に向かってRayCastをし当たったポイントを現時点での最高高度として取得するのはどうでしょうか

参考URL
http://tsubakit1.hateblo.jp/entry/2016/02/25/025922

追記 : 公式リファレンスのページも置いておきます
https://docs.unity3d.com/ja/530/ScriptReference/Physics.BoxCast.html

投稿2018/04/26 03:14

編集2018/04/26 03:42
MMashiro

総合スコア2378

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sena14

2018/04/26 03:34

上から下というのは全てのCubeからRayCastをしてフィールドに当たり判定を行いすべての数値を比べるという認識でよいでしょうか? 参考サイトを見させていただいた感じObjectの中心から伸びているようで これもDo_you_1istenさんへの質問と同じようにCubeが立方体ではないのでObjectの中心ではなく最高点を最高高度としたいのですがそれは可能なのでしょうか?
MMashiro

2018/04/26 03:41 編集

Physics.BoxCastのリファレンスページを見たらわかると思いますが、 任意の座標からBoxの形で全てのColliderに対して一斉にRayCastを行います。 (特定のオブジェクトからRayが発生するわけではありません、また呼び出しは1回でOKです) その為当たる対象がCubeでもMeshでも正しい形のColliderさえついていれば その地点の情報を取得可能です。 高高度から下に向かってRayCastすれば最初に当たった箇所のY座標が現在積み上がってる最高点という事になりますのでそれをベースに得点計算をすれば問題なく行けると思います
MMashiro

2018/04/26 03:40

ちなみに参考サイト様は視覚的にわかりやすいように各オブジェクトからRayCastをしています
sena14

2018/04/26 03:46

なるほど。 参考サイトの分かりやすくするためが逆に混乱してしまいました。 その方法ならシンプルに実装できそうです! 親切にありがとうございます。
guest

0

gameObject.transform.posison.yとかでどうですか?

投稿2018/04/26 03:05

Do_you_1isten

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sena14

2018/04/26 03:18

すべてのObjectに対して調べなくてはいけないということですよね? Unity始めたばかりで無知なのですが、それで得られるyの値というのはObjectのどの部分のyに当たるのでしょうか? (2,1,1)が縦で置かれた場合、横で置かれた場合など全てにおいて最高点を返してくれるものなのでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問