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

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

新規登録して質問してみよう
ただいま回答率
85.46%
Unity

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

Q&A

1回答

2553閲覧

Unity Gameの解像度を変えると、DOTweenの移動距離が変わってしまう原因が分かりません

niwa2019

総合スコア12

Unity

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

0グッド

0クリップ

投稿2021/06/05 06:13

編集2021/06/05 06:18

下記で2Dオブジェクトを移動をします
transform.DOMove(new Vector3(10, 0, 0), 1)

イメージ説明

この場合、どう設定を変更したらいいのでしょうか?

添付画像の赤枠も、青枠も、Game画面での見た目のレイアウトは変わりません。
オブジェクトの移動距離だけ変わってしまいます。

アスペクト比が同じで、「画面サイズに拡大」なら、
比例して、移動すると思っていたのですが

カメラの設定は、添付画像の初期値のままです
イメージ説明

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

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

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

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

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

guest

回答1

0

ご提示のスクリーンショットやCanvas Scalerについての言及から想像しますに、移動したいオブジェクトはUI用オブジェクトであり、480×270のCanvas空間上の座標を指定して移動したいのだろうかと見受けられます。一方DOMoveはワールド座標系での移動を想定したもののはずですので、座標系の不一致があるんじゃないかと思いました。

下記のように、入力座標の(10, 0, 0)をワールド座標に直してDOMoveを行ってみてはいかがでしょうか?

lang

1var rootCanvas = GetComponentInParent<Canvas>().rootCanvas; 2transform.DOMove(rootCanvas.transform.TransformPoint(new Vector3(10, 0, 0)), 1);

あるいは、移動対象のオブジェクトのインスペクター上に表示されているRect TransformのPos X、Pos Yを目標座標へトゥイーンさせることを意図していらっしゃるのでしたら、下記のようにしてもいいかと思います。

lang

1(transform as RectTransform).DOAnchorPos(new Vector2(10, 0), 1);

投稿2021/06/06 04:26

Bongo

総合スコア10807

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

アカウントをお持ちの方は

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問