UNet系统初次使用——联网Boxing游戏(1)
来源:互联网 发布:免费家长控制软件 编辑:程序博客网 时间:2024/06/09 16:47
这篇博客算是对一个unet小游戏的记录,不过是游戏已经完成之后才写的,所以有些在比较错误的做法我会提出来的。
一、场景搭建
拳击游戏最主要的场景部件就是擂台和灯光。
(1)
导入一个擂台模型,稍微调整其大小和角度。(一般静止的场景模型大部分直接使用就可以,而如果是动态模型则需要别的设定)
为了防止人物移动会穿过擂台边缘,我们给擂台加上四周和底部的5个方形碰撞体。(一般为了减少运算量不使用模型自带的mesh collider)
(2)
将scene默认的的Directional Light绕x轴旋转270度,造成黑夜效果。
创建5个SoptLight,调整其position和rotation,制造出射灯的效果。
最终场景效果如图。
二、人物模型和FPS摄像机
场景构建完毕后就到了人物模型构建。
(1)首先我们导入人物模型。
对于带有动画系统的人物模型,导入之后要注意animation type的选项
animation type 分4个类型
- None
- Legacy
- Generic
- Humanoid
这四个类型的介绍可以参考官方文档
简略的说就是,Legacy使用的是4.0之前的动画系统,Generic使用的是新动画系统,而humanoid则是专门用于人体模型的带化身的新动画系统。
我当时对这个分类还没有了解,所以直接使用了下载的模型默认的Legacy动画系统,后续遇上了比较多的坑,还是推荐使用Generic动画系统。
(2)FirstPlayer摄像机
先放张成品图片
FP摄像机主要的问题是穿模,如果摄像机的near距离太近的话,则会看到人体模型的内部,而如果太远的话则会截断拳套或者手持道具的模型。
我的解决方式是采用两个摄像机的叠加。
首先,将拳套和人物模型的layer分别设定成Guante和Player。
然后创建两个摄像机,一个用于拍摄场景,一个用于拍摄拳套
场景摄像机的CullingMask勾选了除了Guante和Player以外所有的layer。
depth为-1。
这个摄像机不会拍摄玩家人物。
拳套摄像机的Clear Flags选择DepthOnly。
Cullintg Mask只选择Guante。
depth为0。
near一直调整到最小。
这个摄像机只会拍摄拳套,并且不会发生拳套穿模的现象。
各个参数的作用可以参考官方文档。
这里给出一个博客来学习下。
Unity 3D– 摄像机Clear Flags和Culling Mask属性用途详解
最后将两个的camera都作为一个空对象的子节点,并且归零position和rotation,就完成了FP摄像机。
最后我们将FP相机和player人物和场景保存成prefab。
- UNet系统初次使用——联网Boxing游戏(1)
- UNet系统初次使用——联网Boxing游戏(2)
- UNet系统初次使用——联网Boxing游戏(3)
- UNet系统初次使用——联网Boxing游戏(4)
- Unity5.1 新的网络引擎UNET(八) UNET 系统概括
- unity之使用unet创建局域网游戏
- Unity3D UNET 模仿局域网游戏(一)
- Unity3D UNET 模仿局域网游戏(二)
- Unity3D UNET 模仿局域网游戏(三)
- C#—装箱(boxing)与拆箱(unboxing)
- Unet在线游戏框架
- Unity模拟弹幕(二)——Unet
- Kali初次使用(1)
- Git 初次使用(1)
- 网络游戏——强联网游戏
- Java游戏服务器成长之路——弱联网游戏篇(源码分析)
- 初次接触OpenCV 笔记(程序综合设计课程——贪吃蛇游戏)
- github使用笔记(1)——初次向仓库提交代码
- Unity如何在VS中做代码格式化
- 343. Integer Break
- 表空间数据文件移动操作
- JAVA——计算器
- sublime——各类插件
- UNet系统初次使用——联网Boxing游戏(1)
- fasterrrrrrrrrr
- bean生命周期
- 交换法排序——————将班级学生人数少于40的成绩0---100分进行从高到低排序
- pinpoint 介绍
- sql
- 【STM32新手问题】编译报错
- 【php基础班】第4天 map图像映射、frame框架、<iframe>内嵌框架
- FragmentTabHost实现底部菜单栏效果~~