2つのz軸ポイント間でunityでレルプし、それに応じてコンポーネントをスケーリングする方法

StackOverflow https://stackoverflow.com/questions/5324209

質問

私はUnity 3と協力していますが、私の合計レベルサイズは、両側に壁がある四辺形の領域にすぎません。これには、プレーヤーを徐々に拡張するレベルの一部に制限するエンクロージャーを作成する2つの追加の壁があります。

私はこれらの2つの壁をZboundaryとXboundaryと呼びますが、これまでのところ、プロトタイプのために、いくつかのキーボードキーへの動きをマッピングしました。私がやりたいのは、一方が動くと、もう一方が長さが成長するので、常に垂直角度で結合されるので、たとえば、ZboundaryのZ座標とZ座標の間を直線的に補間することができることです。 Xboundaryは、彼らが常に参加して結合を作成するようにします。ゲームコンポーネントのサイズをプログラムで変更する方法がわからず、エラーが発生し続けるため、これも問題を引き起こします。

知っている Vector3.lerp 助けになるかもしれませんが、私は変革とさまざまなスケールにownれているので、助けに感謝します。

役に立ちましたか?

解決

私は今、Xboundaryにその位置を調整して、90級のZboundaryに常にロックするようにしています

        ZBoundaryRef.transform.Translate((-1 * distancePerZMovement), 0, 0, Space.World);
        // using Space.World so transforms are using the global coordinate system!

        // what I've done here is say, move the XBoundary Z-CoOrd so that it aligns with the ZBoundary Z-CoOrd.
        // the origin of an object is at it's centre point so we need to take this in to account to ensure they join at the corners, not in a Tshape!
        float difference = (ZBoundaryRef.transform.position.x - XBoundaryRef.transform.position.x);
        float adjustment = difference + (ZBoundaryRef.transform.localScale.x/2);
        XBoundaryRef.transform.Translate(adjustment,0,0,Space.World);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top