আমি কীভাবে আমার অক্ষরটিকে উচ্চ-কোণযুক্ত opালুতে স্লাইড করব?


9

আমি বর্তমানে ইউনিটি 3 ডি- তে আমার চরিত্রের আন্দোলনে কাজ করছি । আমি তাকে মাউস কার্সারে তুলনামূলকভাবে সরানোতে সক্ষম হয়েছি। আমি 45 ° এর slাল সীমা নির্ধারণ করেছি, যা চরিত্রটিকে উচ্চতর ডিগ্রি সহ পাহাড়ের উপর দিয়ে চলতে দেয় না। তবে তিনি এখনও তাদের লাফিয়ে উঠতে পারেন।

যখন তিনি খুব উঁচু opeালু সহ স্থানে ঝাঁপিয়ে পড়লেন তখন আমি কীভাবে তাকে আবার স্লাইড করতে পারি?

আগাম ধন্যবাদ.

সম্পাদনা করুন: আমার বেসিক আন্দোলনের কোড স্নিপেট। ইউনিটিইজাইন ব্যবহার করে; সিস্টেম.কলেশন ব্যবহার করে;

public class BasicMovement : MonoBehaviour {
    private float speed;
    private float jumpSpeed;
    private float gravity;
    private float slopeLimit;
    private Vector3 moveDirection = Vector3.zero;

    void Start() 
    {
        PlayerSettings settings = GetComponent<PlayerSettings>();
        speed = settings.GetSpeed();
        jumpSpeed = settings.GetJumpSpeed();
        gravity = settings.GetGravity();
        slopeLimit = settings.GetSlopeLimit();
    }

    void Update() {
        CharacterController controller = GetComponent<CharacterController>();
        controller.slopeLimit = slopeLimit;

        if (controller.isGrounded) {
            moveDirection = new Vector3(Input.GetAxis("Horizontal"), 0, Input.GetAxis("Vertical"));
            moveDirection = transform.TransformDirection(moveDirection);
            moveDirection *= speed;

            if (Input.GetButton("Jump")) {
                moveDirection.y = jumpSpeed;
            }

        }
        moveDirection.y -= gravity * Time.deltaTime;
        controller.Move(moveDirection * Time.deltaTime);
    }
}

আরও তথ্যের প্রয়োজন: আপনি পদার্থবিজ্ঞান ব্যবহার করছেন? এই opালগুলি কি টেরিন সিস্টেম ব্যবহার করছে বা অন্য কিছু? কোন উপাদান বা উপাদানগুলি আপনার চরিত্রটি নিয়ন্ত্রণ করছে? এটি কি 2 ডি বা 3 ডি গেম?
কাইলোটন

প্লেয়ার যখন লাফানোর চেষ্টা করে, বা যখন একটি লাফ শেষ করে slালটিকে আঘাত করে তখন কী স্লাইডটি বোঝাতে চান?
tyjkenn

@tyjkenn আমার অর্থ তিনি যখন লাফ শেষ করেন। সুপার মারিও Like৪ এর মতো।
কেইনবেল

@ কাইলোটান ভাল, আমি Unক্যতে বেশ নবাগত। সুতরাং, আমি যতটা পারি উত্তর দেওয়ার চেষ্টা করি। আমি চরিত্র নিয়ামক দিয়ে একটি চরিত্র তৈরি করেছি - কোনও অনমনীয় শরীর নয়। কোনও কী চাপলে আমি তাকে সরিয়ে নিয়েছিলাম এবং আমি তাকে তুলনামূলকভাবে কার্সারে যেতে পারি। আমি একটি ভূখণ্ড তৈরি করেছি এবং কিছু পর্বত তৈরি করতে বোতামটি (ওহ আমার, এটি বোকামি লাগছে) ব্যবহার করেছি। এটি WarCraft III এর মতো চেহারা এবং ক্যামেরা স্টাইল সহ একটি 3 ডি গেম হবে।
কেইনবেল

উত্তর:


1

যখন গ্রাউন্ডটি আঘাত হানে তখন আপনার ব্রেকিংটি ভুল, আপনি কেবল উল্লম্ব আন্দোলন বন্ধ করেন, তবে স্থলটি যখন সমতল হয় তখন কেবল গ্রাউন্ড হিট কাজ করে।

আপনার যা করা উচিত তা হ'ল moveDirectionযে পৃষ্ঠে প্রস্থান করা হবে তা আপনাকে নতুন করে দেবে moveDirection। আপনার লাইব্রেরিতে যদি কোনও প্লেন বা পৃষ্ঠে ভেক্টর প্রজেক্ট করার কোনও ফাংশন থাকে যা আপনার ব্যবহার করা উচিত। যদি না হয় তবে আপনার নিজের থেকেই moveDirectionপৃষ্ঠের প্রজেকশনটি বিয়োগ করা উচিত moveDirection


গেমস রয়েছে যা একই আচরণ ব্যবহার করে, যেমন। স্কাইরিম, ব্রেক করার জন্য ঠিক একই পদ্ধতি ব্যবহার করুন। সমস্যা চরিত্র করতে যদিও তা একটি পতাকা মাটিতে নয় তিড়িং লাফ।
Ali1S232

0

চরিত্রটি কোনও মাটিতে দাঁড়িয়ে আছে কিনা লাফ দেওয়ার আগে পরীক্ষা করুন, আমি বোঝাতে চাইছি তিনি যদি উচ্চ কোণে slালুতে না থাকেন। এবং পদার্থবিজ্ঞানের ইঞ্জিনে অন্য কিছু ছেড়ে দিন।

আপনার প্রদত্ত কোডের ভিত্তিতে আমি দেখতে পাচ্ছি যে সমস্যাটি কোথায়:

ইউনিটির স্ক্রিপ্ট রেফারেন্স অনুসারে , CharacterController.isGroundedচরিত্রটি মাটিতে স্পর্শ করা থাকলে কেবল ফিরে আসবে। এটি opালু পরীক্ষা করে না। একটু অনুসন্ধানের পরে FPSWalkerEnhanced এমন কিছু মনে হচ্ছে যা আপনার সমস্যার সমাধান করে।


আচ্ছা, আমি কি পরীক্ষা চরিত্র প্রতি পদক্ষেপ সামনে গ্রাউন্ডেড করা আছে কিনা।
কেইনবেল

@ কেইনাবেল তখন সে লাফ দিতে সক্ষম হবে না। জাম্পিং ব্যবহার করে তিনি opালু পদক্ষেপের একমাত্র উপায়টি হ'ল যদি তিনি দৃ ground় মাটিতে নাও পারেন তবে লাফ দিতে পারেন। আমি বলতে চাইছি এটি ঠিক যেমন আপনি পরীক্ষা করে দেখেন যে সে heালু পথে হাঁটতে পারে না কিনা। slালের কারণে যদি সে কমপক্ষে এক দিকে হাঁটতে না পারে তবে সে মোটেও লাফিয়ে উঠতে সক্ষম হবে না।
Ali1S232

আমি কি আমার পোস্টের সাথে "মুভমেন্ট কোড" যুক্ত করব তা কি সহায়তা করবে?
কেইনবেল

আমি অনুমান করতে পারি যে সমস্যার দিকে সরাসরি ইঙ্গিত করতে পারে।
Ali1S232
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.