使用Unity3D实现简单的RPG游戏(附源码)(一)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

前言

本教程教大家如何使用Unity创建一个RPG游戏,实现最基本的角色移动,战斗,背包管理,UI搭建,剧情和对话。


项目资源及源码:

链接:https://pan.baidu.com/s/101oY6xXZ1HUET7If2FD0gw?pwd=48q5 
提取码:48q5

项目中所用资源包均已添加

在此之前,在右上角中打开Unity用户手册,合理利用手册可以让学习更加轻松。

 

一、导入资源包

先在项目中创建一个文件夹Resources,用于存放下载的资源包,方便后期使用。

点击左上角Window->Package Manager

 此处可以查询到在商店订阅的包并下载

本项目大多使用了在网上下载的免费资源包,这里推荐一个下载站

 爱给网_音效配乐_3D模型_视频素材_免费下载 (aigei.com)

二、场景

1.在项目中创建文件夹Scenes

 在文件夹中右键->Create->Scene创建一个空场景

2、地形(Terrain)

在Hierarchy栏中右键新建地形Terrain

右侧中组件Terrain可以调整地形大小等信息

  

点击第二个图标,在选择栏中的六项分别为

 

 点击Paint Texture->Edit Terrain Layers->Create Layer

找到资源中的贴图并添加                    在Normal Map添加法线贴图

                              

Brusher中可调整画笔的大小和灵敏度

 在Scene中直接涂抹即可

第三栏Paint Trees同理,添加对象         

建议将画笔大小调整为1,密度调为最低,一颗颗种树,大区域种树可能导致卡顿

Tree Height中勾选Random可以达到随机树高的效果

在Scene中左键种树

 Paint Details同理,不再赘述。

三、游戏内的常用组件

1、Transform组件

在资源中找到需要的模型,直接拖入场景中

 

在游戏对象属性栏中的Transform组件 

Position:对象的坐标,Rotation:欧拉角,Scale:缩放

在场景中选中对象后,可以使用快捷键qwer分别为手、对象移动、角度调整、缩放调整

 2、碰撞体组件Collider

 新建文件夹Role,用于存放游戏角色资源                  导入资源包并将游戏角色添加到场景

                                          

右侧Collider为碰撞体组件,Capsule Collider为胶囊碰撞体 

Edit Collider可以调整碰撞体大小

 Is Trigger为触发器,勾选后刚体不会与碰撞体物体发生直接的碰撞,而是直接穿透碰撞体。

触发信息检测使用以下 3 个函数:

MonoBehaviour.OnTriggerEnter(Collider collider),当进入触发器时触发。

MonoBehaviour.OnTriggerExit(Collider collider),当退出触发器时触发。

MonoBehaviour.OnTriggerStay(Collider collider),当逗留在触发器中时触发

用途例如:在角色扮演游戏里,玩家走到一个地方会发生出现BOSS的事件,就可以用触发器来实现。

3、刚体组件(Rigidbody)

属性分别为

 Mass 重力
Drag 摩擦力
Angular Drag 角摩擦力(空气阻力)
Use Gravity 是否适用重力
Is Kinematic 是否具有物理引擎效果(自身属性失效)
Interpolate使运动轨迹变的平滑,由上到下性能开销递增
Collsion Detection :
1.Discrete 正常判断碰撞器
2.Continuous 判断快速移动的物体(性能开销大)
3.Contiuous Dynamic 动态判断快速移动物体 较为常用。
Constrints 锁定刚体位置和角度

4、碰撞

一:产生碰撞的条件
1:若要产生碰撞,必须双方都要有碰撞器。
2:运动的一方一定要有刚体,另一方有无刚体无所谓。
注:如果运动的一方无刚体,它去碰撞静止的刚体,相当于没有装上。

二:接触的两种方式
1:Collision碰撞,造成物理碰撞,可以在碰撞时执行OnCollision事件。
2:Trigger触发,取消所有的物理碰撞,可以在触发时执行OnTrigger事件。

四、脚本初识

在unity中,大多数操作都是由游戏对象身上所搭载的脚本来实现的。

1、给角色创建一个脚本

选中一个游戏对象后,在属性栏中可以为该角色添加脚本

点击Add Component

输入脚本名称后回车两次

打开脚本

Awake: 当物体载入时立即调用1次,常用于在游戏开始前进行初始化。

OnEnable:每当脚本对象启用时调用。

Start :脚本对象启用时被调用1次,执行晚于Awake。

Update:每帧调用一次。

2、简单的移动实现

(1)Vector

1. Vector 表示向量、矢量的意思,含有大小和方向;

Vector3 由名可得表示三维向量,包含 x, y, z 三个分量。一般在使用中transform下的position、scale、rotation等属性都可以通过设置Vector3的值来改变其相应的位置、大小。

(2)实现移动

思路:获取当前对象的transform脚本,向前移动即为让position中的X增加。

获取到键盘输入W后,X每帧增加0.01。

void Update()
    {
        if(Input.GetKey(KeyCode.W))//获取输入
        {
            transform.position += new Vector3(0.01f,0,0);//transform为当前脚本所搭载物体的transform组件,
        }
    }

总结

本章节介绍Unity引擎的基本操作以及脚本的初识,后续完整游戏的开发见下篇。

 

  • 24
    点赞
  • 181
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Unity3D脚本编程与游戏开发源码提供了一种有效的方式来创建令人兴奋的游戏Unity3D是一款功能强大的游戏引擎,它允许开发者使用C#或JavaScript等脚本语言来编写游戏逻辑。 Unity3D脚本编程基于组件的设计模式。开发者可以在场景中添加各种组件,并使用脚本来控制它们的行为。例如,可以创建一个脚本来控制玩家角色的移动,另一个脚本来控制敌人的行为。这种模块化的设计使得开发过程更加灵活和可维护。 脚本编程也提供了一种可视化的方式来操纵游戏对象。Unity3D提供了一个强大的编辑器,开发者可以使用脚本来创建自定义的编辑器工具,这使得设计人员可以更轻松地进行游戏开发和调试。脚本编程还可以与其他功能强大的开发工具相结合,如动画和物理引擎,以创建更加逼真和令人印象深刻的游戏体验。 对于游戏开发源码来说,它是一种可供开发者学习和参考的资源。通过研究和了解游戏开发源码,开发者可以深入了解游戏开发的各个方面,包括游戏逻辑、资源管理、碰撞检测等。源码还可以帮助开发者提高编程和设计技巧,并为他们提供创建自己游戏的灵感和指导。 总之,Unity3D脚本编程与游戏开发源码提供了一种强大的工具和资源,帮助开发者创建令人兴奋和吸引人的游戏。它们对于游戏开发者来说是宝贵的资产,可以帮助他们实现创意,并创造出独一无二的游戏体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值