找回密码
 立即注册
查看: 290|回复: 0

Unity3D新手教学,让你十二小时,从入门到掌握!(一)

[复制链接]
发表于 2021-8-12 15:07 | 显示全部楼层 |阅读模式
(日期2021.3.6)声明!


此系列文章是我多年前自学时写的几篇随笔,漏洞百出,承蒙大家的厚爱!
即日起,最新**《Aries-Unity入门》**系列课程开始更新,欢迎大家关注赏脸,也请大家多多指教
本站:https://blog.csdn.net/aries_h/category_10841366.html
B站:https://space.bilibili.com/818634/video
QQ交流群:794690306
以下为2015年原文


首先声明一下,我用的Unity版本是4.6.6,编译环境是VS2010,其余的我会慢慢介绍,安装的过程这里我就不做讲解了,度娘那会做的比我详细。安装包可以在最下面的联系方式找我要,现在开始进入主题。
打开Unity以后,我们先新建工程,这里要注意,一定要一个汉字都不能有,**一定!**避免出现不必要的Bug。



打开工程以后,就可以看到我们的Unity的操作界面。


这个我用着不方便,按照我个人的习惯,变成了这样的布局,当然这是个人喜好,可以不用模仿我。


那么这里每个模块的每个功能我就不一一介绍了,具体功能介绍我推荐给大家几本书,以供参考。




首先看这里


快捷键从左至右为QWERT,功能为
Q:调整视图
W:移动工具
E:旋转工具
R:缩放工具
T:选择工具
鼠标右键为旋转视图,鼠标中键等于按下Q的左键操作。
现在,我们来创建一个GameObject来练习如何操作Unity3D。
首先,创建一个Cube。


然后调整到MainCamera能观看到的范围内。


在这里我要介绍一下MainCamera,这个是游戏的主摄像机,也就是说我们玩游戏的视图都是这个东西拍摄下来的游戏引擎里的游戏对象。因为,场景没有光源,所以MainCamera看到的东西比较暗,那么我们为场景添加光源,然后选中这个Cube按F2重命名为Floor,并将Floor通过缩放工具变成我们需要用的地板。




下面我们在Floor的上方再新建一个Cube,作为我们的主角,命名为Player。


现在我们点击Unity上方像播放似的那个按钮,就是运行游戏,可以法线并没有什么变化,现在我们给主角添加刚体。----Rigidbody
并运行游戏。




可以看到我们的Player掉到了Floor上,因为我们添加了物理引擎。他可以模拟重力,模拟碰撞、、、等等。
下面开始用代码让我们的Player动起来吧!
首先先创建C#脚本文件。
创建脚本前以防我们的工程文件会很乱,所以我们要新建一些文件夹,为我们的资源分类,我分了这些类,并且创建了一个PlayerMove的C#脚本。




双击用VS2010打开脚本。


下面我们开始写移动的代码。
  1. public class PlayerMove : MonoBehaviour {
  2.     //定义移动的速度
  3.     public float MoveSpeed = 2f;
  4.     //定义旋转的速度
  5.     public float RotateSpeed = 0.01f;
  6.         void Start () {
  7.         }
  8.        
  9.         void Update () {
  10.         //如果按下W或上方向键
  11.         if(Input.GetKey(KeyCode.W)||Input.GetKey(KeyCode.UpArrow))
  12.         {
  13.             //以MoveSpeed的速度向正前方移动
  14.             this.transform.Translate(Vector3.forward*MoveSpeed*Time.deltaTime);
  15.         }
  16.         if (Input.GetKey(KeyCode.S) || Input.GetKey(KeyCode.DownArrow))
  17.         {
  18.             this.transform.Translate(Vector3.back * MoveSpeed*Time.deltaTime);
  19.         }
  20.         //如果按下A或左方向键
  21.         if (Input.GetKey(KeyCode.A) || Input.GetKey(KeyCode.LeftArrow))
  22.         {
  23.             //以RotateSpeed为速度向左旋转
  24.             this.transform.Rotate(Vector3.down * RotateSpeed);
  25.         }
  26.         if (Input.GetKey(KeyCode.D) || Input.GetKey(KeyCode.RightArrow))
  27.         {
  28.             this.transform.Rotate(Vector3.up * RotateSpeed);
  29.         }
  30.        
  31.         }
  32. }
复制代码
把这个代码托给Player。


好了,运行游戏,你的Player已经可以移动了。


按下Ctrl+S保存场景,第一讲到此结束,未完待续。。。 。。。
联系方式
QQ交流群:794690306

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-24 09:50 , Processed in 0.064668 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表