«یا اللهُ یا رَبِّ یا حَیُّ یا قَیّوم یا ذَالجَلالِ وَ الاکرام اَسئَلُکَ بِاسمِکَ اَلعَظیم اَلاَعظَم اَن تَرزُقَنی رِزقاً حَلالاً طَیِّباً بِرَحمَتِکَ الواسِعَه یا اَرحَمَ الرّاحِمِین.»
تابع Physics.SphereCast در یونیتی_برخورد ناحیه ی کره ای_سیستم بینایی ناحیه کره ای :: گیم اور _ بازیسازی با unity + مطالب متفرقه

گیم اور _ بازیسازی با unity + مطالب متفرقه

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

آموزش های علمی با اجازه ی خدا تقدیم به هرکس خدا بخواد

به نام خدا
--
گروه قدیم ما promakers.ir یا پرومیکرز بود که بالای هزار اموزش توش ساخته بودم به اسم sajjad3011 ولی حیف ادمین سایتش عوض کرد
حالا سوالی بود کاری بود این شمارمه

قدیمیا دلم براتون تنگ شده... فقط معرفی کنید توی پیامک یا تماس یاد بیارید.
اگه جواب ندادم شاید موقعیت نداشته باشم.
بگید توی پیام از بچه های پرومیکرز هستید.

---
سوالی بود بذارید
نظر خصوصی نذارید
پاسخش سخته
دوست داشتید شماره بذارید تو واتساپ یا ایتا یا .... گروه بزنیم.
09358077198

بایگانی
پیوندها

gameover.blog.ir

نویسنده:بیسواد



شکل کلی:


public static bool SphereCast(Vector3 origin, float radius, Vector3 direction, out RaycastHit hitInfo, float maxDistance = Mathf.Infinity, int layerMask = DefaultRaycastLayers, QueryTriggerInteraction queryTriggerInteraction = QueryTriggerInteraction.UseGlobal);



origin:مرکز کره در آغاز جارو کردن(اسکن)

radius:شعاع کره(محوطه ی جستجوی کروی)

direction:جهت جاور کردن (sweep ) کروی

hitInfo: اگر true باشد ، hitInfo  اطلاعات بیشتری از نقطه ی برخورد را برگشت می دهد.(RaycastHit رو هم ببینید)

maxDistance:حداکثر طول cast(پرتاب اشعه برای بررسی برخورد با اجسام دیگر)

layerMask : یک Layer mask برای نادیده گرفتن کلایدرهای انتخابی وقتی از یک کپسول cast می کنند.

queryTriggerInteraction:تعیین جایی که این دستور (SphereCast)  باید با  Triggerها برخورد(hit) کند.(تریگر به کلایدرهای قابل عبور می گیم)


خروجی: true  اگر برخوردی در ناحیه ی کره ای با هر کلایدری داشته باشیم، وگرنه false .


مثال :


using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour { CharacterController charCtrl;

void Start() { charCtrl = GetComponent<CharacterController>(); }

void Update() { RaycastHit hit;

Vector3 p1 = transform.position + charCtrl.center; float distanceToObstacle = 0;

// Cast a sphere wrapping character controller 10 meters forward // to see if it is about to hit anything. if (Physics.SphereCast(p1, charCtrl.height / 2, transform.forward, out hit, 10)) { distanceToObstacle = hit.distance; } } }


موافقین ۰ مخالفین ۰ ۹۶/۱۰/۱۲
مدیرکل

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی