راهنماهای مخصوص پلتفرم
Android (Kotlin/Java)
Android NDK (C)
یونیتی (بنیاد AR)
محتوای AR باید به درستی قرار داده شود و اندازه آن در یک صحنه ترکیب شود. مانند اشیاء دنیای واقعی، اشیای مجازی که دورتر هستند باید کوچکتر به نظر برسند. شما می توانید یک تست ضربه (یا یک raycast در AR Foundation for Unity) برای تعیین قرارگیری صحیح یک شی سه بعدی در صحنه خود انجام دهید. قرارگیری صحیح تضمین می کند که محتوای AR در اندازه مناسب (ظاهری) ارائه می شود.
تستهای آماری تقاطعهایی بین هندسه سهبعدی دنیای واقعی و یک پرتو مجازی متشکل از مبدأ و جهت پیدا میکنند. پرتوهایی با دوربین دستگاه به عنوان مبدأ بیشتر مورد استفاده قرار می گیرند، اگرچه ARCore شامل یک API برای انجام تست ضربه با یک پرتو دلخواه در مختصات فضای جهان است.
تصور کنید که یک پرتو از دوربین دستگاه کاربر نشات میگیرد که به جلو امتداد مییابد تا زمانی که به هندسه سهبعدی صحنه، مانند کف، دیوار یا شیء برخورد کند. هنگامی که این اتفاق می افتد، لیستی از نتایج ضربه یا تقاطع هایی با هندسه صحنه شناسایی شده دریافت می کنید. فهرست بر اساس فاصله از دستگاه، با نزدیکترین تقاطع ابتدا مرتب شده است. این مهم است زیرا به طور کلی نمی توانید اشیاء را در پشت اشیاء دیگر مسدود کنید، بنابراین در بیشتر مواقع اولین نتیجه مهم ترین است.
محتویات یک نتیجه ضربه
یک نتیجه ضربه فردی به صورت لیستی با اطلاعات زیر برای هر نتیجه برگردانده می شود:
- فاصله از مبدأ پرتو، بر حسب متر
- پوز (موقعیت و جهت) نتیجه ضربه
- هندسه سه بعدی که به آن ضربه زدید، به شکل Trackable
سپس می توانید از نتیجه ضربه مورد نظر برای قرار دادن واقعی محتوای سه بعدی خود با استفاده از Anchor استفاده کنید.
انواع نتیجه را بزنید
چهار نوع نتیجه ضربه وجود دارد: نتایج عمق، صفحه، نقطه مشخصه و نتایج قرار دادن فوری. همانطور که در جدول زیر نشان داده شده است، هر کدام موارد استفاده و معاوضه خاص خود را دارند.
نوع نتیجه را بزنید | شرح | گرایش | مورد استفاده |
---|---|---|---|
عمق | از اطلاعات عمق کل صحنه برای تعیین عمق و جهت صحیح یک نقطه استفاده می کند | عمود بر سطح سه بعدی | یک شی مجازی را روی یک سطح دلخواه (نه فقط روی زمین و دیوار) قرار دهید. |
سطح | برای تعیین عمق و جهت صحیح نقطه، به سطوح افقی و/یا عمودی برخورد می کند | عمود بر سطح سه بعدی | یک شی را با استفاده از هندسه کامل هواپیما روی یک صفحه (کف یا دیوار) قرار دهید. فوراً به مقیاس صحیح نیاز دارید. جایگزینی برای آزمون ضربه عمق |
نقطه ویژگی | برای تعیین موقعیت و جهت گیری صحیح یک نقطه، به ویژگی های بصری در اطراف نقطه ضربه کاربر متکی است | عمود بر سطح سه بعدی | یک شی را روی یک سطح دلخواه (نه فقط روی زمین و دیوار) قرار دهید. |
قرار دادن فوری (رایکست مداوم) | از فضای صفحه برای قرار دادن محتوا استفاده می کند. در ابتدا از عمق تخمینی ارائه شده توسط برنامه استفاده می کند. فورا کار می کند، اما زمانی که ARCore بتواند هندسه صحنه واقعی را تعیین کند ژست و عمق واقعی تغییر می کند. | +Y به سمت بالا، مخالف گرانش | یک شی را بر روی یک صفحه (کف یا دیوار) با استفاده از هندسه کامل هواپیما قرار دهید، جایی که قرارگیری سریع بسیار مهم است، و تجربه می تواند عمق و مقیاس اولیه ناشناخته را تحمل کند. |
سازگاری دستگاه
تستهای ضربه روی همه دستگاههای پشتیبانیشده ARCore کار میکنند، اما آزمایشهای ضربه عمقی به دستگاههای پشتیبانیشده از عمق نیاز دارند.
از نتایج ضربه برای قرار دادن محتوای AR استفاده کنید
هنگامی که یک نتیجه موفق به دست آوردید، می توانید از حالت آن به عنوان ورودی برای قرار دادن محتوای AR در صحنه خود استفاده کنید.