【贪玩巴斯】Unity3D初学圣经 三—— unity中的基础概念——scene场景,component组件与assets文件夹和Material材质以及Mesh Renderer 和 shader 全解 「1-8 到 2-3」—— 2022年1月23日

  • 本文对应视频P8 1-8 到2-3
  • 对应视频1-8
  • unity中的基础概念
    • 1.坐标
    • 2.scene场景
    • 3.游戏对象 Gameobject
    • 4.组件 Component
    • 5.相应的练习
    • 6.小回顾
  • 对应视频2-1
    • 7. Assets文件夹
  • 对应视频2-2
    • 8.材质 Material
      • 1.Texture 纹理
      • 2. Materials材质详细讲解
      • 3.渲染模式
  • 对应视频 2-3
    • 11.小练习:让轮廓发红——自建shader以及shader的使用
    • 12.物理着色器 (在Material界面的最头上)

本文对应视频P8 1-8 到2-3

本博文为贪玩巴斯整理B站达内教育——Unity3D 2017版本 的 课堂笔记和PPT记录

欢迎关注我的微信公众号:
编程之蓁 ID:bianchengzhizhen
及时分享算法、计算机科学以及游戏编程内容

微信公众号同样也能查看学习笔记喔~

本人CSDN博客主页:
贪玩巴斯
欢迎互相交流学习

对应视频1-8

unity中的基础概念

2022年1月20日

1-8 基础知识

1.坐标

  • 坐标
  • x红色,y绿色,z蓝色
  • 世界坐标:整个场景的固定坐标,不随物体旋转而改变
  • 本地坐标:物体自身坐标,随旋转而改变(旋转后 会改变

2.scene场景

  • 场景scene
  • 一组相关联的游戏对象的集合,通常游戏中每个关卡就是一个场景,用于展现当前关卡中的所有物体。
  • 后缀名 unity
  • File——>save scene 或者 ctrl s 保存场景,最好先自创一个文件夹
  • 场景——游戏对象的集合,关卡

3.游戏对象 Gameobject

  • 游戏对象 gameobject
  • 运行时出现在场景中的游戏物体。 如:人物 地形 树木 等
  • 是一种容器,可以挂载组件(功能属性)
  • 具有 父 子物体
  • 在hierarchy面板中,将一个物体拖拽到另外一个物体中。子物体将继承父物体的移动,旋转和缩放属性(即transform),但子物体不影响父物体。

4.组件 Component

  • 组件component
  • 是游戏对象的物能模块
  • 每个组件都是一个类的实例
  • Transform 变换组件/決定物体位置、旋转、 缩放比
  • Mesh Filter 网格过滤器:用于从资源中获取网格信息。 —— 任何模型都是由三个点三角形构成的。不同的网格指的是不同的形状。
  • 决定物体的形状。mesh filter。
  • Mesh Renderer 网格渲染器:从网格过滤器中获得几何形状,再根据变化组件定义的位置进行渲染。
  • 网格过滤器 与 网格渲染器 联合使用,使模型显示到屏幕上。

5.相应的练习

  • 小练习:创建立方体
    1.创建空物体:GameObject–Create Empty
    2.创建网格过滤器:Component—Mesh-Mesh Filter设置Mesh属性
    3.创建网格渲染器:Gomponent—Mesh-MeshRenderer 设置材质Materials属性

  • 练习2:创建子弹

  • 2个capsule 胶囊 和 1 个cylinder 圆柱体 组成。

6.小回顾

  • 回顾:项目project(场景),包含scene场景(游戏对象的集合),包含游戏对象gameobject(容器),包含组件component。

对应视频2-1

7. Assets文件夹

  • 最重要的是Assets文件夹

  • 讲解子弹的创建实例

  • 直接把子物体拖拽到父物体下就行

  • 只操作父物体才一起动,子物体不会。

  • 一般创建一个空物体当做父物体。

  • 子物体中的position等transform中的功能,都是指的和父物体的相对位置、旋转和缩放大小。

  • 先自己(子物体)reset之后再进行修改。

  • 小技巧,别往模型身上挂东西,往其父物体上挂物体。然后对父物体进行操作。

对应视频2-2

8.材质 Material

  • 材质 material
  • 简介和属性
  • 材质:物体的质地 ,指色彩、纹理、光滑度、透明度、反射率、折射率、发光度等。实际就是Shader的实例。
  • ==Shader 着色器:==专门用来渲染3D图形的技术,可以使纹理以某种方式展现。实际就是一段嵌入到渲染管线中的程序,可以控制GPU运算图像效果的算法。shader决定了材质的属性选项

1.Texture 纹理

  • Texture 纹理:附加到物体表面的贴图(一张图片,有时候也叫做贴图

  • 纹理、着色器与材质的关系,一切最根本的是shader

  • 材质是给到-mesh renderer - materials - element。

  • 材质必须要给到 mesh renderer组件 。

  • 修改可以直接找到创建的材质进行修改。

  • 纹理:png psd 一般使用png

2. Materials材质详细讲解

  • 材质在Assets文件夹下——Materials文件中——有个蓝色小球为图标的就是

  • 属性为:
    Albedo 基础贴图:决定物体表面纹理与颜色。
    Metallic 金属:使用金属特性模拟外观。
    Specular 镜面反射:使用镜面特性模拟外观
    Smoothness 光滑度:设置物体表面光滑程度
    Normal Map 法线贴图:描述物体表面凹凸程度。
    Emission 自发光:控制物体表面自发光颜色和贴图。

    • None 不影响环境
    • Realtime 实时动态改变
    • Backed 烘焙生效
      Tiling 平铺:沿着不同的轴,纹理平铺个数。
      Offset 偏移:滑动纹理

3.渲染模式

  • 材质里面有一个叫渲染模式的选项 在第一排,
  • opaque不透明的,
  • cutout把透明通道去掉(不显示),
  • transparent 透明 还要设置透明度。
  • PGBA中的A为透明度的调整值。只有设置为transparent才能调整透明度。
  • fade,淡入淡出(配合美工进行,一样的要去调整A的透明度)。

Opaque 不透明,默认选项.
Transparent 透明,用于半透明和全透明物体 ,如玻璃。
Cutout 镂空,用于完全透明或完全不透明物体,如栅栏
Fade 渐变,用于需要淡入淡出的物体。

  • 一般这些都是美工来做。

  • 材质的本质就是shader的实例。

对应视频 2-3

11.小练习:让轮廓发红——自建shader以及shader的使用

  • 让轮廓发红,显眼的功能,我们必须使用shader来完成。会有一个人专门处理shader的。
  • shader的文件:结尾为.shader
  • 物体轮廓的制作过程
  • 1.创建材质 outline
  • 2.指定着色器 basicoutline
  • 3.指定纹理 texture
  • 4.设置到物体中。

12.物理着色器 (在Material界面的最头上)

  • 物理着色器
  • 基于物理特性的Shader是Uniny 5.x的重大革新之一,所谓的物理着色器(Physically Based Shading.PBS)就是遵从物理学的能量守恒定律,可以创建出在不同光照环境下都接近真实的效果。
  • 一般用standard的标准着色器shader就行了

【贪玩巴斯】Unity3D初学圣经(三)—— unity中的基础概念——scene场景,component组件,assets文件夹和Material材质,Mesh Renderer与shader相关推荐

  1. 【贪玩巴斯】Unity3D初学圣经(二)—— unity界面布局介绍 unity常用面板介绍 「1-5 到 1-7」—— 2022年1月20日

    [贪玩巴斯]Unity3D初学圣经 二-- unity界面布局介绍 & unity常用面板介绍 「1-5 到 1-7」-- 2022年1月20日 本文对应视频P5 1-5 到P7 1-7 un ...

  2. 【贪玩巴斯】Unity3D初学圣经(一)——学习要求 Unity简单介绍 游戏引擎介绍 课程体系介绍 「1-1 到 1-4 」—— 2021年12月9日

    Unity3D初学圣经 一 --学习要求 & Unity简单介绍 & 游戏引擎介绍 & 课程体系介绍 本文对应视频P1 1-1 到P2 1-4 1.学习要求 2.Unity简单 ...

  3. 【Unity3D日常开发】Unity中的资源加载与文件路径

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有 ...

  4. Unity中如何给你的场景模型mesh减面——【一】

    一.前言 甲方给你一大场景,光fbx文件就4个G,导入Unity后,发现全部卡帧,变成动画片,发布成webGL足足有500多M.要使帧率至少达到60以上吧,发布成webGL不能超过500M,如何拯救呢 ...

  5. AndroidStudio_android中实现对properties文件的读写操作_不把properties文件放在assets文件夹中_支持读写---Android原生开发工作笔记238

    这个东西还挺麻烦,因为是android中,我们一般把文件放到assets文件夹中去,但是实际上,这个raw文件夹和assets文件夹 是只读的,对,就是只读的只能读取,不能写入,所以一定要把文件写入到 ...

  6. Linux中使用du -d n 显示当前文件目录下文件夹的大小

    Linux中使用du -d n 显示当前文件目录下文件夹的大小 du -d n 其中 du 代表disk usage 硬盘使用 d 代表directory n 代表显示当前目录下文件夹的层数 root ...

  7. win7文件夹图标中多了一把小锁打不开文件夹怎么办?

    win7文件夹图标中多了一把小锁打不开文件夹怎么办? 解决办法一:右击目录→取得管理员权限!该方法适用于win7旗舰版. 解决办法二:右击目录→属性→安全→高级→选择everyone→更改权限→勾上完 ...

  8. android+assets+在哪,我在哪里将’assets’文件夹放在Android Studio中?

    我对assets文件夹感到困惑. 它不是在Android Studio中自动创建的,几乎所有论坛都讨论了Eclipse. 如何在Android Studio中配置Assets目录? 由于Android ...

  9. android raw文件作用,Android 中raw和assets文件夹的区别

    Android 中raw和assets文件夹的区别 发布时间:2020-09-25 08:40:41 来源:脚本之家 阅读:103 作者:lqh Android 中raw和assets文件夹的区别 以 ...

最新文章

  1. vue样式 引入图片_详解Vue.js中引入图片路径的几种方式
  2. centos7 cacti php7,Centos7 cacti 使用笔记
  3. scrapy的name变量_python-将file_name参数传递给管道以在scrapy中...
  4. Spring2 Hibernate3 Junit 应用示例1
  5. 计算机专业和学历的关系!!重要!!
  6. 《大道至简》的幕后故事
  7. Java基础知识强化26:Object类之hashCode()方法、getClass()方法
  8. day01 js三种导入html的方法、js书写规范、变量的基本使用、变量提升
  9. 【Python】蟒蛇绘制(三种方式+import用法)
  10. php里= 啥意思,PHP natcasesort() 函数 | 菜鸟教程
  11. win10 配置flashbuilder debug
  12. wireshark显示过滤器和捕获过滤器
  13. 苹果iOS捷径(快捷指令)自动填写表单
  14. 服务器管理系统架构,统一管理 统一IT管理系统架构设计思路与实践
  15. python画图星空_编程从绘画开始:用Python画一幅《月夜星空》图
  16. 皮卡丘(pikachu)暴力破解
  17. YYC优雅草松鼠聚合直播系统·前端视频模块显示空白-解决办法-视频上传处理方法
  18. 图像和音频格式解析一览
  19. AMD GPU驱动,ROCM,Pytorch安装教程(A卡6700xt)
  20. HDOJ--1052--Tian Ji -- The Horse Racing

热门文章

  1. VUE Route之params
  2. 拼音字典(Maxthon插件)
  3. mailto web弹出outlook发送邮件
  4. python微信定时发消息_Python开发企业微信机器人每天定时发消息实例
  5. #pragma warning disable的用法
  6. liquibase扫描包时出现DefaultPackageScanClassResolver …… invalid code lengths set
  7. 模拟人生3 for Mac原版(经营模拟类游戏)
  8. 35岁程序员:熬夜整理小米Android面试题,系列教学
  9. python计算面积代码_利用Python求阴影部分的面积实例代码
  10. 在后台控制一个a标签或者button(控件)的显示与否,或者禁用与否