皮肤长斑是什么原因引起的| 狡黠什么意思| 脚底板痒是什么原因| 为什么太阳会发光| 氨咖黄敏胶囊是什么药| 迅速的反义词是什么| 什么千里| 甘油三酯高是指什么| 吃完饭就想睡觉是什么原因| 肝肿瘤吃什么食物好| 司长什么级别| 1909年属什么生肖| 深蓝色是什么颜色| 面包是什么意思| 莲子不能和什么一起吃| 什么叫做洗钱| 宫腔积液排出什么颜色| 为什么肾阳虚很难恢复| 鲣鱼是什么鱼| 做彩超为什么要憋尿| 阁是什么意思| 问羊知马是什么生肖| 秋天穿什么衣服| 阿华田是什么| 痂是什么意思| 青春永驻什么意思| 鸟是什么生肖| 追悔莫及什么意思| 胸口堵是什么原因| 腊月二十三是什么星座| 大云是什么烟| 什么季节掉头发最厉害| 唐筛都检查什么| 鼻烟是什么| 打玻尿酸有什么危害| 茯苓不能和什么一起吃| pc是什么材质| 窦道是什么意思| 不思量 自难忘什么意思| 什么叫个人修养| crp是什么意思| mac代表什么| 纹银是什么意思| 梦见杀人什么意思| 财不外露什么意思| 为什么养鱼养单不养双| kids是什么意思| 喝酒后吃什么解酒最快| 二代试管是什么意思| 早上9点半是什么时辰| 林黛玉和贾宝玉是什么关系| 急性肾炎什么症状| 大三阳吃什么药好| cdc是什么意思| vinegar是什么意思| 血压不稳定是什么原因| 盆腔炎有什么明显症状| 炖牛肉放什么调料好吃| 血漏是什么病| 什么叫稽留流产| 猫能吃什么| 半套什么意思| 孩子老打嗝是什么原因| 刚刚怀孕有什么症状| 梗阻是什么意思| 检测怀孕最准确的方法是什么| 腹部ct挂什么科| 小孩风寒感冒吃什么药| 壬寅年五行属什么| 面藕是什么做的| 海里有什么鱼| 低蛋白血症吃什么最快| 降血糖喝什么茶好| 为什么胸会痛| 马步鱼是什么鱼| 二级警监是什么级别| 什么叫伴手礼| 臭虫怕什么| 担是什么意思| 夏天吃什么水果最好| 胎儿永久性右脐静脉是什么意思| 血流信号是什么意思| 弥漫性肝病是什么意思| 媱五行属什么| 支气管炎吃什么好| 夕火念什么| pgi是什么意思| 什么什么言什么| 碧根果和核桃有什么区别| 硬下疳是什么意思| 令羽读什么| 稷是什么作物| 空调自动关机是什么原因| 荨麻疹涂什么药膏| 经期便秘是什么原因| 头顶秃了一小块是什么原因怎么办| 陌路人是什么意思| 什么叫血氧| 克隆是什么意思| 小孩病毒性感冒吃什么药效果好| 虫草花是什么| 水落石出开过什么生肖| 写意是什么意思| 七月十号是什么日子| 头晕做什么检查| 打酱油是什么意思| bayer是什么药| 尿囊素是什么| 池字五行属什么| 岔气吃什么药| rag什么意思| paris什么意思| 2008年是属什么| 鸽子吃什么| 什么叫色弱| 肝火郁结是什么症状| 知青是什么意思| 城投公司是干什么的| 日落胭脂红的下一句是什么| 晚上夜尿多吃什么药| 月亏念什么| 女人小便出血是什么原因| 1991年什么命| 祸不及家人前一句是什么| ibs是什么意思| 鼻腔干燥是什么原因| 虚岁30岁属什么生肖| 壁虎吃什么| 春节是什么时候| 烧心吃什么食物好得快| 杏黄是什么颜色| 什么情况做肠镜| 慢性荨麻疹是什么原因引起的| 驾驶证照片是什么底色| 脖子上长癣是什么原因| 梦见黄金是什么意思| 仓鼠不能吃什么| 鼻后滴漏吃什么药| 田七配什么煲汤最好| 鼻子痒用什么药好| 里急后重吃什么药| 冠状沟有白色分泌物是什么原因| 犬子是什么意思| 脱髓鞘病变是什么意思| 心脏房颤是什么症状| 口水为什么是臭的| 代谢慢的人吃什么有助于新陈代谢| 相对湿度是什么意思| 泡脚有什么好处和坏处| 听佛歌有什么好处| 卧蚕和眼袋有什么区别| yxh是什么意思| 什么水果吃了对皮肤好| 夏至为什么吃馄饨| 黑色上衣搭配什么颜色裤子好看| 11月29号什么星座| 脂肪肝吃什么中药| 梦见手机失而复得是什么意思| 打狂犬疫苗挂什么科| 北芪煲汤加什么药材好| au990是什么金| 妈祖是什么| 软组织挫伤用什么药| 什么的教学楼| 猪脆肠是什么器官| 什么叫五行| 血清胰岛素测定查什么| 六月初七是什么星座| 腿膝盖后面的窝窝疼是什么原因| 明年是什么年| 钦字五行属什么| 浆水是什么| 凌五行属性是什么| pro是什么意思| 什么奶不能喝| 用牙膏洗脸有什么好处和坏处| 恶魔是什么意思| rap是什么意思| 贫血吃什么可以补血| 怀孕吃什么水果| 缺少雌激素的女性会有什么症状| 11月17日是什么星座| 弥散是什么意思| 腐是什么意思| 血糖高吃什么肉最好| 背胀是什么原因| 家里为什么突然有床虱| 右侧肋骨下方是什么器官| 文胸36码是什么尺寸| 为什么尿是黄的| 日本什么时候开始侵略中国| 推拿和按摩有什么区别| 胎儿双顶径偏大是什么原因| 为什么得甲亢| 玫瑰和月季有什么区别| 认生是什么意思| 病案号是什么意思| 衣服36码相当于什么码| gmp认证是什么意思| kenwood是什么牌子| 对公转账是什么意思| 办香港通行证要准备什么材料| 非甾体是什么意思| 飞机不能带什么| utc是什么| 大肝功能是检查什么| 什么是钓鱼网站| 灵芝什么人不能吃| zing是什么意思| 4月23日什么星座| 血清铁蛋白高说明什么| 胎位loa是什么位置| 脚转筋是什么原因引起的| 吃栗子有什么好处| 妈妈生日送什么礼物好| 京东plus是什么意思| 嗜是什么意思| 男人为什么喜欢舔女人下面| 合子是什么| pg是什么意思| spf50是什么意思| 咳嗽呕吐是什么原因| 血热皮肤瘙痒吃什么药| 做试管前需要检查什么项目| 胆固醇高不能吃什么食物| 气短心悸是什么意思| 成年人改名字需要什么手续| 泡沫尿是什么原因| 教研是什么意思| 胃肠道功能紊乱吃什么药| 玉米什么时候打药| chanel是什么牌子| 肌无力是什么原因引起的| 手经常抽筋是什么原因| 喝中药尿黄是什么原因| 梦见吃粉条是什么预兆| 莜面是什么面| 头颅mri是什么检查| 吃维生素b12有什么好处和副作用| 彩超无回声是什么意思| 血糖高吃什么水果最好| 头发长的快是什么原因| 七月十六是什么星座| 什么什么迷人的成语| 芒果不能和什么一起吃| 懿字五行属什么| 咳嗽肺疼是什么原因| pmid是什么意思| 封豕长蛇是什么意思| 富二代是什么意思| 此贝是什么字| 字形是什么意思| 勤对什么| 薄荷叶泡水喝有什么功效和作用| 股癣用什么药膏效果最好| 城隍是什么意思| 乙肝e抗体阴性是什么意思| 九牧王男装是什么档次| 口力念什么| 胆囊炎有什么症状表现| 一个h是什么牌子| 甲状腺有什么作用| 褐色是什么颜色| 螃蟹吃什么东西| 百度

View in English

  • Global Nav Open Menu Global Nav Close Menu
  • Apple Developer
Search
Cancel
  • Apple Developer
  • News
  • Discover
  • Design
  • Develop
  • Distribute
  • Support
  • Account
Only search within “”

Quick Links

5 Quick Links

Videos

Open Menu Close Menu
  • Collections
  • Topics
  • All Videos
  • About

More Videos

  • About
  • Transcript
  • 【个性】浪漫唯美的水中婚紗摄影,你想大胆尝试么?

    百度 什么是皮炎

    Discover best practices when creating 3D content for Quick Look on visionOS. We'll explore a few different ways to prepare your models for Quick Look, cover important considerations for 3D quality and performance, and show you how to use Reality Composer Pro and Reality Trace to inspect and fine-tune your content.

    Resources

      • HD Video
      • SD Video

    Related Videos

    WWDC23

    • Discover Quick Look for spatial computing
    • Explore the USD ecosystem
    • Optimize app power and performance for spatial computing
  • Search this video…

    ? Mellow instrumental hip-hop ? ? Hi, my name is Shuai Song, and I'm an engineer of AR Quick Look team.

    Today, I will walk you through how to create the 3D models for Quick Look spatial experiences.

    Before we get into that, let's first go over what Quick Look is and how you can use it to present 3D content on our new platform.

    In another session, "Discover Quick Look for spatial computing," we have shown you this lovely 3D model of a room that we have created using our new Room Plan API.

    We brought this model into Quick Look by just dragging a USDZ file out from our application window, which opens up a Quick Look preview right where we dropped it.

    From here, you can start to interact with Quick Look and my content by using familiar gestures.

    Before we dive deeper into the story behind this model, let's talk a bit more about how the system presents 3D content in Quick Look.

    On this platform, Quick Look displays a 3D model in a volume window.

    Volume windows have defined bounds to allow sharing them alongside with other apps.

    People can reposition volumes in space and they can view it from different angles.

    3D models are always placed at the center of the volume.

    When the model first appears, Quick Look will orient the volume window so that the content is directly facing you.

    From here, you can use the volume window bar below the 3D model to reposition content freely in your space.

    Quick Look will automatically adjust the size of the volume based on how people scale the model when they are in a preview session.

    It's important to note that if your content is using animations, we suggest keeping all animations to be inside the defined bounds of the Quick Look volume.

    We just covered the basics of how Quick Look presents your 3D content.

    There are additional considerations when it comes to how Quick Look is using model size and scale.

    Let's take a look.

    When loading the 3D model, Quick Look will respect the metersPerUnit defined in the USDZ's metadata to determine the scale unit with respect to the real world.

    In order to help people visualize the scale of the assets, Quick Look will try to present the model initially at a 100 percent scale if it is authored to be within a certain size range.

    Let's see an example.

    Quick Look imposes a minimum scale to ensure that you can enjoy all content, even when it came at a tiny scale, such as this tin car.

    Quick Look is also using an upper bound limit in case you are viewing very large objects to ensure they are not occupying too much space alongside your other apps.

    For any objects with a size in between, such as this teapot, Quick Look will use a model's real-world size when initially launched in space.

    Remember, you can always view models at their real-world size by tapping on the button below your volume window.

    Now that we know how Quick Look handles the size of your model, let's look at two more things that Quick Look adds when it presents your content: ground plane and shadows.

    Quick Look will automatically show a ground plane and shadow below your model to give you a better understanding of the model's size and its position relative to the ground.

    Because Quick Look is doing this work for you, we suggest that you do not add your own ground plane and shadows for your model.

    So far, we covered the basics of how Quick Look will show your 3D content.

    Let's walk you through the agenda for the remainder of this session.

    First, we will look into a few ways to create 3D models.

    Next, we will talk about how you can inspect the visual quality of your content and make adjustments as needed.

    Lastly, we will cover how to make sure your 3D content can render and run with great performance.

    Let's get started with preparing your 3D content.

    Quick Look accepts USDZ as its primary format to handle 3D models.

    USDZ is at the heart of 3D content for Apple platforms and designed to be lightweight and optimized for shade.

    Let's take a look at how you can create USDZ files.

    There are many ways to create a USDZ file.

    First, if you have previously created a USDZ file for iOS, you can use the same file for Quick Look on this new platform.

    In case you want to create a new USDZ file from scratch, you can use professional digital content creation tools to create 3D content and then export out as a USDZ file.

    You can also scan 3D models and create a USDZ file of real-world objects by using our RealityKit Object Capture API.

    Object Capture provides you with an end-to-end photogrammetry solution along with sample apps to help you create 3D models at different detail levels.

    Object Capture is supported on both iOS and macOS devices.

    Finally, if you're looking for a way to create a 2D or 3D floor plan over your house, we have you covered with our RoomPlan API.

    Remember how I mentioned there is a backstory to the 3D room model I showed you earlier? Let's dive into the workflow that our 3D designer, Jerry, has used to create this 3D model.

    First, Jerry starts to scan his room by using RoomPlan sample application.

    After only a short time, he can preview the 3D layout of his room, or export and drop a USDZ file right to his Mac.

    Next, Jerry imports the 3D model into a 3D content creation tool to bring his design concepts to life.

    Here is the result of that work.

    This model looks great.

    You can see some materials and textures got added to walls, floor, and some other room elements.

    Now, the room model that Jerry created is almost ready to preview in Quick Look.

    Luckily, there is a new tool called Reality Composer Pro that makes this next step really easy.

    Previewing your 3D models for Quick Look is a really important step in your content creation workflow to inspect the real-world quality of your model and make adjustments as needed.

    Let's take a closer look.

    Here is the Reality Composer Pro with our 3D model loaded in the main view.

    By simply clicking on this button located at the top-right corner in Reality Composer Pro, you can easily preview your 3D model in Quick Look right on your device.

    And here is the same 3D model running in Quick Look.

    One thing we can notice now is that the initial model orientation does not look right.

    As previously discussed, it is important to ensure that the most interesting part of the 3D model is presented facing towards you to create an engaging experience.

    Let's see how we can fix this.

    Quick Look is using a right-hand coordinate system.

    Knowing this, we can easily fix the orientation of our 3D model in our content creation tool, or right here in Reality Composer Pro.

    In our case, we need to rotate the model on the vertical axis so that the living room in our model comes into view.

    You can fix this by putting 90 degrees around y-axis here, just like this.

    Let's again use device preview from Reality Composer Pro to check out the changes to our model.

    Now the orientation is fixed, and we have a much better view on this great looking model.

    OK, let's explore this asset even further, and get a different perspective and see a few more details here.

    To do so, you can use a pinch and drag gesture to rotate the 3D model and view it from different sides.

    This gives me a really good view on the different parts of our room.

    You can also use a two-hand pinch gesture to scale the model and see more details.

    Now that we have seen how to inspect your 3D model in Quick Look on device, let's talk about a few considerations for enhancing the visual quality of your content.

    When multiple objects are rendered in same location, they can overlap and appear as a single flickering object.

    To reduce this problem, you can use 3D creation tools to optimize the mesh geometry either by removing the overlap or increasing the distance between the flickering objects.

    Try to avoid using high-frequency normal maps, since they remain results in aliasing issues that can create unwanted visual artifacts, especially in situations where you are in motion or up close to the 3D model.

    When rendering a small or thin object such as leaves, the system may not be consistently sampled over time under variable rasterization rates, which may cause flickering in the periphery.

    To minimize this issue, you can try storing the fine geometry details into an opacity texture and then render it by using a geometry with a larger triangle grid instead.

    To learn more about variable rasterization rates check out our session, "Explore rendering for spatial computing." Next, let's turn our attention to performance.

    Here, we will look into the anatomy of Quick Look 3D content and what you can do to ensure a smooth and seamless QuickLook spatial experience.

    Let's get started.

    There are many factors that determine the 3D performance of your content that gets rendered in Quick Look.

    Things like what's the file size of your 3D model, or the count and resolution of textures, or even the complexity of materials that you are using for your model.

    In order to know where to start optimizing your 3D model for performance, you need to first identify potential limitations that might exist with your asset.

    To help simplify this task, we have introduced some helpful new tools this year, which can significantly improve your workflow.

    Let's take a look.

    Here, we are back in Reality Composer Pro to show you the Statistics panel.

    This panel provides you with a lot of helpful information about your 3D model characteristics, such as the number of triangles and the amount of texture memory being used with your content.

    Another great tool at your disposal is RealityKit Trace.

    This tool allows for even more advanced runtime profiling.

    RealityKit Trace provides insights into specific rendering pipeline.

    It allows you to get more information into the individual rendering frames with your 3D content.

    By analyzing several captured frames, RealityKit Trace can be used to identify and diagnose potential performance issues or limitations, and give you recommendations.

    RealityKit Trace keeps building with Xcode.

    To use it for profiling your content in Quick Look, you need to attach it to the Quick Look process.

    For more details on Reality Composer Pro and RealityKit Trace, please check out the sessions below.

    Now that we have looked at some of the tools to help you do profiling for potential performance limitations, let's go over some of the best practices to help you optimize 3D content for performance.

    Earlier, I mentioned the different factors that determines the performance of Quick Look's 3D content.

    Now, let's look at those one by one from the perspective of what you can do to optimize content accordingly.

    First up is optimizing your model for file size.

    Smaller file size usually results in quicker downloads and faster loading time, as you don't want the user to wait a long time before interacting with your content.

    The trick here is try to find an optimized balance between asset quality and file size.

    For instance, you could use less detailed textures or lower-quality audio sources.

    Sometimes, assets are developed over several iteration cycles.

    Oftentimes, this includes changes to underlying audio, animations, and textures linked to your assets.

    To keep file size to a minimum, make sure to only include what's really used in the final package that gets distributed.

    For example, older versions of audio files that are no longer being used for your scene should be removed from final assets before distribution.

    Lastly, to ensure a better sharing experience, we recommend you keep your file size less than 25 megabytes.

    Next, let's look into how to optimize your 3D content geometry for performance.

    Again, the trick is to find the right balance between showing great level of details and achieving great performance.

    In case your model is using parts that are hidden or fully covered by another geometry, meaning they are never shown on the screen, it's OK to remove them to save on your performance budget.

    Also, consider merging small meshes into a single larger one to reduce system loads.

    For a single model, we recommend that you keep it under 200 mesh parts and fewer than 100k vertices.

    Always keep in mind to balance your mesh detail with another asset in the scene.

    Next, let's look at textures.

    Texture can contribute to a lot of memory usage.

    Automized textures consume less memory, which allows more assets to be loaded at the same time and helps complex scenes run smoothly.

    One way to save on texture budget is by using grayscale for your noncolor inputs.

    In some cases, you can even pack your grayscale images into individual channels over a color texture, allowing you to store multiple grayscale maps into a single texture.

    When possible, use constant values in your materials instead of loading them from texture.

    If your model is only using a single PBR material, we recommend a maximum texture size of 2K by 2K and using 8-bit instead of 16-bit per channel textures.

    Finally, be sure to always spend your texture budget in areas that add most value and realism for your 3D model.

    Next up is materials.

    Materials define the surface properties of a 3D model.

    They specify how the system renders the model, including its color and whether your object appears with a shiny or reflective look.

    When it comes to optimizing your materials for 3D models, you can reduce your loading time by combining mesh parts to share with the same material.

    The reason this helps is because when your 3D model has custom materials, the system has to compile them when it loads for the first time.

    Be sure to balance your material's complexity against the screen size.

    For example, if you just need a tiny part of the screen to be transparent or have clear coat, it's more efficient to use a separate material just for that small area.

    You always need to be mindful of overlapping transparency.

    Rendering transparent objects in real time typically requires more calculations compared to the opaque ones, so only have overlapping transparency when you really need it.

    Also, if you have baked lighting or some parts of your mesh do not even need lighting, we recommend using MaterialX Unlit surface to save real-time lighting computation.

    Next, let's look into physics.

    Physics simulation sometimes can be computationally expensive, especially in cases where the physics system performs collision detection and simulates realistic effects, like gravity and springs.

    To maximize your content performance by using physics, you can try to reduce the total number of colliders being used.

    Sometimes you want your content to participate in physics simulation, but then your content includes entities that are not supposed to move or be affected by another object -- for example, a wall that will make a virtual ball bounce off.

    In this case, we recommend using static colliders to reduce physics computations.

    Next, let's talk about animation.

    Adding animations to your 3D models is a great way to bring your content to life.

    Sometimes, all you need is just an idle animation.

    In this case, limit the number of weight per vertex for your animation to help create efficient and realistic animations.

    When you are trying to optimize geometry of your deformations or skinned animations, remember to follow the same geometry guidelines I provided previously.

    Next up is using particle systems with your content.

    This is one of the most powerful tools for building sophisticated visual effects such such as realistic fire with smoke or exhaust from a rocket.

    If used incorrectly, particles can be a bottleneck in your Quick Look 3D experience.

    For this reason, we suggest you limit your usage of particle emitters and keep the number of onscreen particles to a minimum.

    Often, you can create similar visual effects with fewer particles.

    Experiment with simpler or smaller shapes and styles to achieve a similar effect, which will help reduce overdraw on the system.

    That was quite a number of things we just went through.

    Let's summarize those recommendations for you.

    There are many factors that count into performance of your Quicklook 3D content.

    This new platform has been designed to let people engage with multiple apps and pieces of content that are running alongside each other.

    This means that the performance of your content may even be impacted by other apps or scenes that people are doing.

    For this reason, it's good practice to test your 3D model across different scenarios.

    As I have shared in this session, there are a number of tools available at your disposal, whether you want to check the visual quality of your content or find limitations that could impact your 3D performance.

    The sweet spot here is to find the right balance between having greater visuals and ensuring a smooth Quick Look viewing experience at the same time.

    To learn more about Quick Look and how to make your 3D content available for viewing from apps and websites, please check out our other talk, "Discover Quick Look for spatial computing." Thanks for watching! ?

Developer Footer

  • Videos
  • WWDC23
  • Create 3D models for Quick Look spatial experiences
  • Open Menu Close Menu
    • iOS
    • iPadOS
    • macOS
    • tvOS
    • visionOS
    • watchOS
    Open Menu Close Menu
    • Swift
    • SwiftUI
    • Swift Playground
    • TestFlight
    • Xcode
    • Xcode Cloud
    • SF Symbols
    Open Menu Close Menu
    • Accessibility
    • Accessories
    • App Extensions
    • App Store
    • Audio & Video
    • Augmented Reality
    • Design
    • Distribution
    • Education
    • Fonts
    • Games
    • Health & Fitness
    • In-App Purchase
    • Localization
    • Maps & Location
    • Machine Learning
    • Open Source
    • Security
    • Safari & Web
    Open Menu Close Menu
    • Documentation
    • Tutorials
    • Downloads
    • Forums
    • Videos
    Open Menu Close Menu
    • Support Articles
    • Contact Us
    • Bug Reporting
    • System Status
    Open Menu Close Menu
    • Apple Developer
    • App Store Connect
    • Certificates, IDs, & Profiles
    • Feedback Assistant
    Open Menu Close Menu
    • Apple Developer Program
    • Apple Developer Enterprise Program
    • App Store Small Business Program
    • MFi Program
    • News Partner Program
    • Video Partner Program
    • Security Bounty Program
    • Security Research Device Program
    Open Menu Close Menu
    • Meet with Apple
    • Apple Developer Centers
    • App Store Awards
    • Apple Design Awards
    • Apple Developer Academies
    • WWDC
    Get the Apple Developer app.
    Copyright ? 2025 Apple Inc. All rights reserved.
    Terms of Use Privacy Policy Agreements and Guidelines
    第二性征是什么意思 员外是什么生肖 agoni什么意思 吃什么对前列腺有好处 近视是什么
    动物的尾巴有什么作用 牙龈肿吃什么药 猫三联什么时候打 化疗是什么样的过程 翌是什么意思
    栀子花开有什么寓意 双肺结节是什么病 生姜和红糖熬水有什么作用 资产负债率高说明什么 心肌病是什么病
    绝经有什么症状 什么是脂肪肝 碘伏和碘酒有什么区别 菊花和枸杞泡水喝有什么功效 为什么七星瓢虫是益虫
    鱼能吃什么hcv8jop9ns9r.cn 什么是尿素hcv7jop7ns0r.cn 95年属什么的生肖hcv8jop3ns7r.cn 步履维艰是什么意思hcv9jop0ns3r.cn 脑供血不足头晕吃什么药hcv9jop1ns9r.cn
    四月27日是什么星座hcv9jop6ns3r.cn 为什么右眼一直跳hcv8jop3ns1r.cn 急性胰腺炎是什么病qingzhougame.com 梦见别人开车翻车是什么预兆bfb118.com 什么是邮箱地址hcv8jop7ns2r.cn
    胃寒可以吃什么水果96micro.com 尿道口长肉芽是什么hcv9jop5ns9r.cn 佟丽娅什么民族hcv7jop7ns2r.cn 白球比偏低是什么意思hcv7jop9ns4r.cn 宫后积液是什么意思hcv9jop2ns5r.cn
    变色龙指什么样的人jinxinzhichuang.com 银五行属性是什么hcv9jop3ns0r.cn 怀孕吃什么好hcv7jop4ns6r.cn 缺氧是什么症状hcv9jop6ns5r.cn 与狼共舞男装什么档次hcv8jop9ns7r.cn
    百度