Beginner Blender 4.0 Tutorial - Part 3: Modelling the Icing

本文围绕Blender软件展开,介绍了甜甜圈建模的基本操作。包括复制、重命名物体,切换透视模式,添加实体化、表面细分等修改器,以及贴面移动顶点、隐藏顶点、折痕内层加厚和挤出操作等,为Blender建模初学者提供了实用的操作方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

0:00 Duplicating an object

复制物体,快捷键shift + D

1:55 Naming objects

选中物体,按下 F2,快速重命名
在这里插入图片描述

2:27 Deleting the bottom half of the mesh

需要切换透视模式才可以选中物体背面的节点
在这里插入图片描述
在这里插入图片描述

5:06 The solidify modifier

通过添加修改器的方式加厚表面,方式:选中附着层,添加修改器-生成-实体化
在这里插入图片描述

6:29 Hiding a modifier from edit mode

在物体模式时显示实体化结果,但在编辑模式时隐藏效果,这样能够在编辑模式更加专注于节点
在这里插入图片描述

6:56 Snap to Face

将节点沿着物体表面移动
在这里插入图片描述

8:28 Snap to Face Project

在甜甜圈这个案例中,选择 面投影
在这里插入图片描述

8:46 Applying the subsurf modifier

应用表面细分
在这里插入图片描述

10:30 Fixing backface projection

因为移动顶点时的影响范围过大,将物体背面的顶点也影响到了,而且又开着表面吸附,因此会造成混乱,此时需要将背面的一些可能选中的顶点隐藏。
在这里插入图片描述

11:51 Select More/Less

扩展选择,方便一层一层选择物体上的面
快捷键cmd+数字键盘+/-(大键盘上的±是没有用的,如果没有数字键盘,只能手动选择,方式:选择-扩展/缩减选择-扩展选区)
在这里插入图片描述

12:26 Hiding/Unhiding

选中面后,使用H快捷键,快速隐藏
也可以通过网格-显示/隐藏中的选项来操作
在这里插入图片描述

13:05 Making the edge wavy

使用移动工具构建甜甜圈附着层的上下轮廓

15:25 Rounding the edge

当出现较生硬的直线棱角时,可以在添加一次修改器,将表面细分在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

16:19 Making the inner edge hug the donut

解决甜甜圈糖双层边缘尖锐的问题,需要修改实体化参数,方法:修改器-边数据-折痕内侧:1
在这里插入图片描述

在这里插入图片描述

17:21 Extrusion

Extrusion(挤出)是3D建模中常用的一个技术,尤其在软件如Blender中应用广泛。挤出操作允许你从已有的面或边沿创建新的几何体。简单来说,就是在现有的形状基础上,沿某个方向“拉伸”出新的形状来。

基本操作

  • 选择:首先,你需要选择一个或多个面、边或顶点,这取决于你想要挤出的对象类型。
  • 挤出:使用挤出工具(快捷键 E)开始挤出操作。一旦激活挤出,你可以移动鼠标来控制挤出的方向和距离。
  • 定位:在达到期望的位置后,点击鼠标确定挤出的最终位置。
    在这里插入图片描述

总结

复制物体
重命名
透视模式
实体化加厚表面
贴面移动顶点
隐藏顶点
折痕内层加厚
挤出操作

{ "id": 4, "title": "React前端开发入门", "description": "从零开始学习React前端开发", "objective": "掌握React框架及相关生态", "difficultyLevel": "BEGINNER", "estimatedDuration": 1500, "isPublished": true, "createdById": 13, "createdByUsername": "teacher2", "createdForId": null, "createdForUsername": null, "createdAt": "2025-05-23T23:00:00", "updatedAt": "2025-05-23T23:00:00", "activitiesCount": 7 } zzz [ { "id": 9, "title": "JavaScript ES6+基础", "description": "JavaScript ES6+基础", "activityType": "LEARNING", "resourceId": 1, "resourceTitle": "JavaScript基础教程", "sequenceOrder": 1, "estimatedTime": 120, "isRequired": true, "createdAt": "2025-05-24T00:00:00", "updatedAt": "2025-05-24T00:00:00" }, { "id": 10, "title": "React基础入门", "description": "React基础概念和组件", "activityType": "LEARNING", "resourceId": 6, "resourceTitle": "React实战教程", "sequenceOrder": 2, "estimatedTime": 150, "isRequired": true, "createdAt": "2025-05-24T00:01:00", "updatedAt": "2025-05-24T00:01:00" }, { "id": 11, "title": "React实战练习", "description": "创建一个简单的React应用", "activityType": "PRACTICE", "resourceId": null, "resourceTitle": null, "sequenceOrder": 3, "estimatedTime": 180, "isRequired": true, "createdAt": "2025-05-24T00:02:00", "updatedAt": "2025-05-24T00:02:00" }, { "id": 12, "title": "React Router", "description": "React Router路由管理", "activityType": "LEARNING", "resourceId": null, "resourceTitle": null, "sequenceOrder": 4, "estimatedTime": 120, "isRequired": true, "createdAt": "2025-05-24T00:03:00", "updatedAt": "2025-05-24T00:03:00" }, { "id": 13, "title": "Redux状态管理", "description": "Redux状态管理", "activityType": "LEARNING", "resourceId": null, "resourceTitle": null, "sequenceOrder": 5, "estimatedTime": 150, "isRequired": true, "createdAt": "2025-05-24T00:04:00", "updatedAt": "2025-05-24T00:04:00" }, { "id": 14, "title": "React项目实战", "description": "开发一个完整的React应用", "activityType": "PROJECT", "resourceId": null, "resourceTitle": null, "sequenceOrder": 6, "estimatedTime": 240, "isRequired": true, "createdAt": "2025-05-24T00:05:00", "updatedAt": "2025-05-24T00:05:00" }, { "id": 15, "title": "React技能评估", "description": "React开发技能测评", "activityType": "ASSESSMENT", "resourceId": null, "resourceTitle": null, "sequenceOrder": 7, "estimatedTime": 60, "isRequired": true, "createdAt": "2025-05-24T00:06:00", "updatedAt": "2025-05-24T00:06:00" } ]页面设计并美化
05-24
根据你的描述,你希望设计一个展示React课程的页面,并且需要对页面进行美化。以下是一个基于Vue的实现方案,包含数据渲染和基本的样式美化。 ### Vue代码实现 ```vue <template> <div class="course-container"> <h1 class="course-title">{{ course.title }}</h1> <p class="course-description">{{ course.description }}</p> <p><strong>目标:</strong>{{ course.objective }}</p> <p><strong>难度级别:</strong>{{ course.difficultyLevel }}</p> <p><strong>预计时长:</strong>{{ course.estimatedDuration }} 分钟</p> <p><strong>创建者:</strong>{{ course.createdByUsername }}</p> <h2 class="activities-title">课程活动</h2> <ul class="activities-list"> <li v-for="(activity, index) in activities" :key="activity.id" class="activity-item"> <div class="activity-header"> <span class="activity-order">{{ index + 1 }}.</span> <span class="activity-title">{{ activity.title }}</span> </div> <p class="activity-description">{{ activity.description }}</p> <p><strong>类型:</strong>{{ activity.activityType }}</p> <p v-if="activity.resourceTitle"><strong>资源:</strong>{{ activity.resourceTitle }}</p> <p><strong>预计时间:</strong>{{ activity.estimatedTime }} 分钟</p> <p><strong>是否必修:</strong>{{ activity.isRequired ? &#39;是&#39; : &#39;否&#39; }}</p> </li> </ul> </div> </template> <script> export default { data() { return { course: { id: 4, title: "React前端开发入门", description: "从零开始学习React前端开发", objective: "掌握React框架及相关生态", difficultyLevel: "BEGINNER", estimatedDuration: 1500, isPublished: true, createdById: 13, createdByUsername: "teacher2", createdAt: "2025-05-23T23:00:00", updatedAt: "2025-05-23T23:00:00", activitiesCount: 7 }, activities: [ { id: 9, title: "JavaScript ES6+基础", description: "JavaScript ES6+基础", activityType: "LEARNING", resourceId: 1, resourceTitle: "JavaScript基础教程", sequenceOrder: 1, estimatedTime: 120, isRequired: true, createdAt: "2025-05-24T00:00:00", updatedAt: "2025-05-24T00:00:00" }, { id: 10, title: "React基础入门", description: "React基础概念和组件", activityType: "LEARNING", resourceId: 6, resourceTitle: "React实战教程", sequenceOrder: 2, estimatedTime: 150, isRequired: true, createdAt: "2025-05-24T00:01:00", updatedAt: "2025-05-24T00:01:00" }, { id: 11, title: "React实战练习", description: "创建一个简单的React应用", activityType: "PRACTICE", resourceId: null, resourceTitle: null, sequenceOrder: 3, estimatedTime: 180, isRequired: true, createdAt: "2025-05-24T00:02:00", updatedAt: "2025-05-24T00:02:00" }, { id: 12, title: "React Router", description: "React Router路由管理", activityType: "LEARNING", resourceId: null, resourceTitle: null, sequenceOrder: 4, estimatedTime: 120, isRequired: true, createdAt: "2025-05-24T00:03:00", updatedAt: "2025-05-24T00:03:00" }, { id: 13, title: "Redux状态管理", description: "Redux状态管理", activityType: "LEARNING", resourceId: null, resourceTitle: null, sequenceOrder: 5, estimatedTime: 150, isRequired: true, createdAt: "2025-05-24T00:04:00", updatedAt: "2025-05-24T00:04:00" }, { id: 14, title: "React项目实战", description: "开发一个完整的React应用", activityType: "PROJECT", resourceId: null, resourceTitle: null, sequenceOrder: 6, estimatedTime: 240, isRequired: true, createdAt: "2025-05-24T00:05:00", updatedAt: "2025-05-24T00:05:00" }, { id: 15, title: "React技能评估", description: "React开发技能测评", activityType: "ASSESSMENT", resourceId: null, resourceTitle: null, sequenceOrder: 7, estimatedTime: 60, isRequired: true, createdAt: "2025-05-24T00:06:00", updatedAt: "2025-05-24T00:06:00" } ] }; } }; </script> <style scoped> .course-container { max-width: 800px; margin: 0 auto; padding: 20px; font-family: Arial, sans-serif; } .course-title { font-size: 28px; color: #333; margin-bottom: 10px; } .course-description { font-size: 16px; color: #666; margin-bottom: 20px; } .activities-title { font-size: 24px; margin-top: 30px; margin-bottom: 10px; } .activities-list { list-style: none; padding: 0; } .activity-item { border: 1px solid #ddd; border-radius: 5px; padding: 15px; margin-bottom: 15px; background-color: #f9f9f9; } .activity-header { display: flex; align-items: center; margin-bottom: 10px; } .activity-order { font-size: 18px; font-weight: bold; color: #007bff; margin-right: 10px; } .activity-title { font-size: 18px; font-weight: bold; color: #333; } .activity-description { font-size: 14px; color: #666; margin-bottom: 10px; } </style> ``` ### 解释 1. **数据绑定**:通过`v-for`指令遍历`activities`数组,将每个活动的详细信息展示出来。 2. **样式美化**:使用CSS对页面进行了布局和颜色调整,使其更加美观。 3. **响应式设计**:设置了`max-width`和居中对齐,确保在不同设备上都能正常显示。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值