Unity3D也学学-L1

本文介绍了阿发老师的3D课程内容,涵盖了视图操作技巧、透视与正交切换、物体拖动与旋转、网格和材质使用、FBX模型导入、摄像机设置、帧更新和物体运动,以及资源管理和脚本调试的相关知识。

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

学完2D也学下3D
学习视频是阿发老师的课程
官方文档

视图

  • 默认视图为左手系 (y轴向上 x轴向右 z轴向里)
  • 默认约定坐标栅格的一格边为1米(仅仅是个约定)

视图操作

  • 旋转视图
    鼠标: ALT + 左键滑动
    触摸板:ALT + 选中滑动
  • 缩放视图
    鼠标:滚轮
    触摸板:双指滑动
  • 平移视图
    鼠标:鼠标中键滑动
    触摸板:变成小手图标后选中滑动

视野中心

  • 如果想调整视野将某一个物体放到视野中心
    - 在场景窗口选中物体后,按F键
    - 直接双击层级窗口中的物体
  • 添加物体时出生点为视野中心,并不是原点

透视和正交

  • 透视persp:就是近大远小
  • 正交Iso:远近一样大
    - 作用:想将物体摆齐排列时

场景右上角默认为透视 点击就可以切换为正交(有点像跳一跳的感觉)
在这里插入图片描述

透视广角

当物体在视野边缘时就会发生畸变
在这里插入图片描述
想要解决的话需要调整摄像机广角,设置成35就基本没有畸变情况了
在这里插入图片描述

物体

  • 一般原生模型应用与练习,真正的模型应在建模软件中制作
    CG建模软件:3Dmax、Maya、Blender(主流?)、Cinema4D、ZBrush。。。
  • 平面有长款,没有高度
  • 平面正面有渲染效果,背面看是透明的,其他物体也是内部是透明的
  • 一般要求模型正面与z轴方向一致 z:forward
  • 复制物体快捷键:选中物体后Ctrl+D

拖动物体

  • 可以只沿某一个轴进行拖动
    在这里插入图片描述
  • 也可以沿某一个平面进行拖动
    在这里插入图片描述

旋转

  • 逆时针为正 顺时针为负
  • 按住Ctrl键进行旋转,增量默认是15度
    也可以设置默认增量
  • 还是直接设值最方便
    在这里插入图片描述

轴心和中心点

  • 轴心默认几何中心的位置
  • 轴心点模式Pivot 点击后切换为中心点模式Center
  • 旋转,移动和缩放都是依照基准点进行操作的

坐标系

  • 局部坐标系Local 点击后切换为世界坐标系Global
    Local:本地坐标系,以物体自身为轴
    Global:世界坐标系,以世界中心为轴
    在这里插入图片描述

网格 Mesh

存储了模型的形状数据

  • 模型的形状,由若干个下面围合而成,面数越多越精细GPU负担越大
  • 模型是中空的
  • Mesh中包含了面、定点坐标、面的法向等数据

可以切换查看模式
在这里插入图片描述

材质

通过新建添加两个材质,右侧有属性值可以设置
为啥我这界面都这么暗呢,一点也不清新,明明设置的是这个颜色这个颜色
使用方法就是将材质球拖动到物体上
在这里插入图片描述

物体很暗的解决方法找到了Windows-Rendering-Lighting
打开自动光照烘焙

  • 物体添加时会有一个默认的材质,没有材质的物体如下图
    在这里插入图片描述

贴图

是建模师的工作范围
在Unity里也是可以进行贴图的
将贴图图片资源拖动到材质球上
在这里插入图片描述

效果就是这样的
在这里插入图片描述

外部模型FBX

Unity支持的标准模型格式为FBX
这个网站随便找了个资源
一个模型包含了材质和网格
而贴图是外部一个独立的PSD文件,这里没有是不是已经贴好了
贴图文件与PSD文件名相同,可放到同一目录或所在目录的Textures目录下,都是约定好可直接找到的
在这里插入图片描述
直接拖到场景里就可以用了,还挺Q的
在这里插入图片描述

材质替换

FBX中的材质是不可修改的

  • 重映射
    可以把想要的材质直接拖到物体中如下图位置,并点击Apply
    在这里插入图片描述
  • 使用外部材质
    1.在物体如下图属性里选择Legacy,并点击Apply
    这个操作会将材质解压缩到Textures目录下称为外部独立文件
    在这里插入图片描述
    2.修改文件下的材质球就可以了
    在这里插入图片描述

其他使用方法

也可以将FBX下的网格拖到场景里,再将想要的材质放上去

资源文件

在这里插入图片描述

  • 模型文件Model (*.fbx)
  • 图片文件Texture (*.jpg/png/psd/tif)
  • 音频文件AudioClip(*.mp3/wav/aiff)
  • 脚本文件Script(*.cs)
  • 材质文件 Material(*.mat)
  • 场景文件Scene(*.unity)
    。。。。。。

资源

资源包

  • 导出
    目录或文件右键-Export Package
    就会生成unitypackage文件
  • 导入
    直接将unitypackage文件拖入到Unity内Project窗口的Assets下就行了

资源商店

Unity-Window-Asset Store

摄像机

如果想将相机视角调整到当前开发视角
选中相机后进行如下操作
其他节点也可以这么操作
快捷键:Ctrl+Shift+f
在这里插入图片描述

帧更新

  • Time.time 获取游戏时间
  • Time.detalTime 获取距上次刷新间隔时间
  • Unity不支持固定帧率,但可以设定一个近似帧率
    Application.targetFrameRate = 60就是设定Unity以FPS=60的帧率更新游戏(60帧率≈16.7ms)但并不是严格按照这个帧率更新,会有误差

物体运动

  • 相对运动
    transform.Translate(dx, dy, dz, space)

dx,dy,dz:各坐标轴的偏移量
space:Space.World 相对于世界坐标系 Space.Self 相对于本地坐标系

  • 让物体向着另一个物体运动
GameObject flag = GameObject.Find("红旗"); // 获取目标物体
this.transform.LookAt(flag.transform); // 转向目标
this.transform.Translate(0,0,dz,Space.Self); // 向前运动

物体旋转

  • transform.rotation是Quaternion类型,官方不建议使用
  • 建议使用欧拉角 transform.eulerAngles transform.localEulerAngles 是Vector3类型
  • 也可以使用transform.Rotate(dx,dy,dz,space)

脚本

消息函数(声明周期)

  • Awake 初始化 仅执行一次
    节点挂载的脚本被禁用时也会执行Awake
  • Start 初始化 仅执行一次
  • Update 帧更新 每帧调用一次
  • OnEnable 每当组件启用时调用
  • OnDisable 每当组件禁用时调用

执行顺序

  • 脚本的执行顺序是不确定的,可以设定优先级(但没必要也不建议)
    Edit-Project Settings-Script Execution Order 右下角‘+’按钮添加想设置的脚本 值越小优先级越高
    在这里插入图片描述

脚本参数

  • 参数必须为public
  • 工具提示[Tooltip(''注解")]
  • 参数赋值顺序
    1. 初始化
    2. 属性窗口赋值
    3. Awake()
    4. Start()

运行时调试

当我们在运行状态时改变属性值,运行结束后会还原,保存不了我们改变后的值
怎么办呢?
运行时我们可以暂停下去复制组件信息
在这里插入图片描述
结束后直接粘贴组件信息
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值