unity3d菜鸟 - CSDN
精华内容
参与话题
  • Unity菜鸟级别入门操作手册大全,让你更速度的熟悉引擎的使用技巧
  • 前言:不得不自我批评一下,更新的速度有点慢,距离上一篇已经有2个月了。接下来要赶下进度了……这篇文章主要介绍,如何添加一个敌人角色,并自动跟踪Player对象。步骤一:之前系列一,忘记添加场景了。...

    前言:不得不自我批评一下,更新的速度有点慢,距离上一篇已经有2个月了。接下来要赶下进度了……


    这篇文章主要介绍,如何添加一个敌人角色,并自动跟踪Player对象。

    步骤一:之前系列一,忘记添加场景了。补上。即将预设体Environment拖拽到Hierarchy场景中。如下:

    这里写图片描述

    步骤二:将敌人zombunny对象拖拽到场景中。位置如下:

    这里写图片描述

    同时,把HitParticles预设体拖拽到zombunny对象上,使其成为zombunny的子物体。作用:Player对象击中敌人zombunny,产生粒子特效。位置如下:

    这里写图片描述

    步骤三:将zombunny的Layer层,设置为shootable层(后面代码控制, 只有这一层的对象才能被Player对象进行攻击),意味着它可以被主角Player进行攻击。如下:

    这里写图片描述

    步骤四:给zombunny添加一个胶囊碰撞组件: Add Component–>Physics–>Capsule Collider

    目的:用于碰撞。才不会使得zombunny直接穿透场景的物体。

    设置如下:

    Center : X :0 | Y:0.8 | Z:0

    Radius :0.5

    Height:1.5

    步骤五:给zombunny添加一个球型碰撞器组件:Add Component–>Physics–>Sphere Collider

    目的:用于与主角Player对象进行碰撞触发检测。注意:Is Trigger 必须勾选!!!

    设置如下:

    Is Trigger : √ ,必须勾选

    Center : X :0 | Y:0.8 | Z:0

    Radius :0.8

    步骤六:给zombunny添加一个Audio Source组件:Add Component –>Audio–>Audio Source

    目的:zombunny被主角攻击时,会出现受伤的声音片段。

    设置如下:

    AudioClip(声音片段):选中zombunny Hurt

    取消Play On Awake(开机自动播放)

    步骤七:给zombunny添加Nav Mesh Agen组件:Add Component –>Navigation–>Nav Mesh Agen

    目的:使zombunny角色能够自动寻径,跟踪Player对象

    设置如下:

    首先 window –>Navigation 打开Navigation面板,在Bake选项中设置: Agent Radius :0.75 | Agent Height:1.2 | Step Height :0.1

    设置完,点击Bake,进行路径烘焙,效果如下:

    这里写图片描述

    蓝色的区域,表示烘焙后的效果,这部分区域,zombunny角色可以进行走动。而黑色区域,zombunny会绕道而走。

    步骤八:为zombunny角色创建一个动画控制器,用于控制角色运动时的状态。

    在2016_my_survival_Shooter目录下,右键–>create–>Animator Controller –>命名为yzx_Enemy —>拖拽该控制器到场景中的zombunny对象上;

    打开Animator视窗,window–>Animator

    默认有3个状态 (Any State 、Entry 、Exit),右键空白处,分别创建三个状态(右击–>Create State–>Empty),并分别重命名为Move、Idle 和 Death;

    接下来,点击Parameters,点击“+”号,添加两个参数。两个参数均设置为Trigger(触发型): Dead 和 PlayerDead ,并记得勾选。

    最后,设置好整个控制器状态的逻辑。

    Entry—>Move; 默认状态

    Move–>Idel (右击–>Make Transition) 并选中过渡线,设置过渡条件,在Inspect视图中,找到Conditions,选中“+”,把刚才设置的参数添加进来(这里选择PlayerDead);

    Any State–>Death (过渡条件设置为 Dead);

    整体的效果如下:

    这里写图片描述

    步骤九:写一个zombunny的运动脚本。

    在2016_my_survival_Shooter下的子目录yzx_script下,新建一个C#脚本,并命名为EnemyMovement ,并将脚本拖拽到zombunny对象上。其中,EnemyMovement.cs脚本代码如下:

    using UnityEngine;
    using System.Collections;
    
    public class EvemyMovement : MonoBehaviour {
    
        Transform player;    //定义一个private变量,类型为Transform类型
        NavMeshAgent nav;   //定义一个private变量,类型为NavMeshAgent类型
        // Use this for initialization
    
        void Start () {
            player = GameObject.FindGameObjectWithTag ("Player").transform; //根据Tag标签找到Player对象,如果你有印象,你会发现上一篇系列一,Player角色的设置Tag设置为Player
            nav = GetComponent<NavMeshAgent> (); //由于该脚本是绑定在zombunny上的,而NavMeshAgent组件也在zombunny对象上,所以直接GetComponent就可以得到zombunny上的组件。
        }
    
        // Update is called once per frame
        void Update () {
    
            nav.SetDestination (player.position); //设置nav对象的最终目的地,也就是zombunny的最终位置,其位置为Player角色的实时位置,那么zombunny就会跟踪Player对象了。
        }
    }
    

    暂时就到这了……


    附上整个项目的工程。链接:http://pan.baidu.com/s/1dEESvXf 密码:4w2h

    本次场景存放的路径为:2016_yzx_survival_shooter\Assets\2016_my_survival_Shooter.unity

    展开全文
  • 每周更新unity3d视频教程,从入门到就业,官方unity3d培训,上千门实时更新课程,供学员在线观看学习,unity3d游戏开发,可以让学员随时随地学习!...unity3d菜鸟自学教程介绍 unity3d难学吗? unity3d自学教程目录 ...

    每周更新unity3d视频教程,从入门到就业,官方unity3d培训,上千门实时更新课程,供学员在线观看学习,unity3d游戏开发,可以让学员随时随地学习!
    免费网上学习unity3d自学教程,国内名师机构专业授课,O基础快速学习,1小时快速入门,7天unity3d自学教程学习,能力快速提升,优质作品随手呈现!

    unity3d菜鸟自学教程介绍

    unity3d难学吗?

    unity3d自学教程目录

    unity3d视频教程百度网盘下载

    unity3d难学吗?
    学习unity3d特效,多来学习路线网看教程,一线游戏特效老师,游戏特效就业安排!学习unity3d特效入门+进阶+精通选择专业才能学得专业!

    unity3d自学教程目录
    课程介绍:
    Unity3d史诗 MMO ARPG 课程《泰斗破坏神》,精心设计将包含200+课时,由视频课时+直播课时+测试课时混合组成。最重头unity3d ARGP课程,完整的 ARPG 网络游戏开发教学。包含多人合作,在线多人游戏开发,角色创建系统,作战系统,RPG系统,技能系统,任务系统,商店系统。

    课程大纲:

    单机版功能实现

    项目概要
    登录系统
    角色创建、选择、自定义系统
    场景加载与游戏存储记录
    角色控制
    聊天通讯
    游戏AI
    战斗系统
    游戏角色与玩家信息系统
    商店系统
    道具系统
    装备系统
    装备与道具掉落
    仓库与背包系统
    副本系统
    任务系统
    地图与寻路系统

    网络版功能实现

    服务端搭建
    登录系统
    角色选择
    游戏场景
    聊天功能
    角色具体信息
    商店系统
    道具系统
    装备系统
    仓库和背包
    副本系统
    任务系统

    unity3d视频教程百度网盘下载
    http://www.xuexiluxian.net/unity3d-cainiao-zixue.html

    展开全文
  • Unity3d菜鸟入门的学习路线--笔记1

    万次阅读 2018-05-23 16:17:39
    最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTC vive pro产品。初始学习,由于没有基础,因此一团乱,...

    最近刚刚开始接触unity3d,因此想把自己的学习路线记录下来,方便自己以后总结。

    由于毕业论文的关系,需要使用Unity3D开发,做虚拟现实的应用,使用的设备是HTC vive pro产品。

    初始学习,由于没有基础,因此一团乱,总结一下目前看过的教程和书籍。

    1、开始看的是b站上极客学院讲解的unity3d的入门课程,对操作的界面有了初步的了解,不需要看完,看到编程之前就可以。

    2、由于需要使用C#编程,因此需要一点C#的基础,看的是siki学院老师上传到百度云的视频资料,讲解的十分基础,适合我这种还没写过代码的小白。

    3、在有了一定的编程基础以后,就需要对Unity里的API接口有一定的了解,看的是SIKI学院的API入门教程,老师把一些基础的接口都进行了总结和讲解,免费的

    4、官网有较为详细的教程,siki学院没有讲解过的知识,而且自己需要的通过官方的教程进行了进一步的了解。

    5、并不是做广告,自己在图书馆找了很多的关于VR的书,感觉适合自己的是《HTC vive VR 游戏开发实战》,根据里边的例子做一下,可以有很好的提升,前边提到的siki学院就是通过这本书了解到的。

    6、对于自己想知道的模块,Unity的官方文档有很详细的介绍。但是如果没有老师带领入门的话,初始还是很难看懂的,因此需要前边的铺垫。注意的是:如果自己的英语水平还是可以的话,最好是看英文的介绍文档,不懂的用有道词典查一下,这样做的好处是看Unity软件的时候更加的方便,毕竟软件目前还是英文的,自己写代码也是用英文的,看翻译过来的就不太方便转换思维。

    总结,通过以上的尝试,有了一个对软件的基础的了解,接下来便是根据自己的项目进行进一步的针对性的尝试,后续会进行持续的记录。

    展开全文
  • 步骤一:准备素材先到Unity3d Asset store 下载survival shooter的素材 https://www.assetstore.unity3d.com/cn/#!/search/page=1/sortby=relevance/query=survival&shooter友情提醒:Asset store 资源包下载的默认...

    步骤一:准备素材

    先到Unity3d Asset store 下载survival shooter的素材
    https://www.assetstore.unity3d.com/cn/#!/search/page=1/sortby=relevance/query=survival&shooter

    这里写图片描述

    友情提醒:Asset store 资源包下载的默认路径是 C:\Users\你的用户名\AppData\Roaming\Unity\Asset Store-5.x

    你也可以偷懒,到我的网盘下载。默默感谢我的无私吧!
    链接:http://pan.baidu.com/s/1gfHdcSb 密码:pdum

    步骤二:设计主角player的运动逻辑 和 Camera跟踪player的逻辑

    导进来的survival shooter资源包,如下图:
    这里写图片描述

    友情提醒:

    第一个红圈显示的文件夹,是我自己创建的,以后把需要用到的资源都放在这个文件夹下,这样才不会乱套。

    第二个红圈显示的文件夹,是发布者已经完成的项目。

    1)创建一个地板物体,目的:自动寻径和射线碰撞检测

    GameObject–>3D object–>Quad

    在Inspect视图中,rename成Floor,并在Layer层中设置为Floor;

    2)创建一个空的GameObject,目的:放置背景音乐

    GameObject–>Create Empty

    在Inspect视图中,rename为BackgroundMusic,并为其添加Audio组件。

    Add Component –>Audio–>Audio Source

    然后,选中Audio Clip ,然后赋予Background Music.mp3

    3)添加一个player对象

    3-1、将Player对象拖拽到Hierarchy视图中,即场景中。

    这里写图片描述

    3-2、在Inspector视图中,将Tag标签设置为Player(目的,为了后面的脚本中通过Tag标签找到Player这个对象)

    3-3、创建一个动画控制器,用于控制角色运动时的状态。

    在2016_my_survival_Shooter目录下,右键–>create–>Animator Controller –>命名为yzx_PlayAC —>拖拽该控制器到场景中的Player对象上;

    3-4、打开Animator视窗,window–>Animator

    默认有3个状态 (Any State 、Entry 、Exit),右键空白处,分别创建三个状态(右击–>Create State–>Empty),并分别重命名为Move、Idle 和 Death;

    接下来,点击Parameters,点击“+”号,添加两个参数。一个设置为Bool(布尔型):IsWorking,一个设置为Trigger(触发型): Dead, 并记得勾选。
    这里写图片描述

    最后,设置好整个控制器状态的逻辑。

    Entry—>Idel;

    Idel–>Move (右击–>Make Transition) 并选中过渡线,设置过渡条件,在Inspect视图中,找到Conditions,选中“+”,把刚才设置的参数添加进来(这里选择IsWorking : true)

    Move–>Idel(类似上面操作,过渡条件设置为 IsWorking : false)

    Any State–>Death (过渡条件设置为 Dead)

    整体的效果如下:
    这里写图片描述

    3-5、为Player添加各种组件,目的:使得角色具有碰撞检测功能、刚体属性等

    添加一个刚体组件:Add Component–>Physics–>Rigidbody

    设置如下:

    Drag(阻力) : Infinity(无限大)

    Angular Drag(角阻力):Infinity(无限大)

    Constraints(限制)
    Freeze Position : Y (限制角色 Y 方向的平移)
    Freeze Position :X、Z (限制角色 X 方向和 Z 方向的旋转)

    添加一个胶囊碰撞组件: Add Component–>Physics–>Capsule Collider

    设置如下:

    Center : X :0.2 | Y:0.6 | Z:0

    Radius :0.5

    Height:1.2

    添加一个Audio Source 组件

    设置如下:

    Audio Clip : Player Hurt.MP3

    取消 play on Awake 选项 ,目的为了在脚本中,当敌人碰撞到Player对象时,动态打开Audio Clip的声音片段。

    3-6、新建一个C#脚本,并命名为PlayerMovement 将脚本拖拽到Player对象上。其中,PlayerMovement .cs脚本代码如下:

    using UnityEngine;
    using System.Collections;
    
    public class playerMovement : MonoBehaviour {
    
        public float speed = 6f;   //设置玩家的移动速度
        Vector3 movement;          // 存储玩家移动的方向,是个向量类型 
        Animator anim;             //定义一个动画器类型的变量
        Rigidbody playerRigidbody; //定义一个刚体类型的变量
        int floorMask;            //定义一个int型的变量,存储射线将要与其碰撞的地板层
        float camRayLength = 100f;  //定义摄像机射线的长度
    
        // Use this for initialization
        void Start () {
    
            floorMask = LayerMask.GetMask ("Floor"); //获取到地板层,射线只与这一层的物体碰撞
            anim = GetComponent <Animator> ();         //获取Player对象上的Animator组件
            playerRigidbody = GetComponent <Rigidbody> (); //获取Player对象上的刚体组件
        }
    
        //固定更新函数,默认设置每秒50帧,也就是每隔0.02s执行一次该函数
        void FixedUpdate ()
        {
    
            float h = Input.GetAxisRaw("Horizontal"); //获取用户键盘上的按键,对应水平按键 A,D (方向键的左右)
            float v = Input.GetAxisRaw("Vertical"); //获取用户键盘上的按键,对应垂直按键W,S (方向键的上下)
    
    
            Move (h, v);  //Player对象运动函数
    
    
            Turning (); //Player对象旋转函数,使得Player对象转向鼠标光标的方向
    
    
            Animating (h, v);  //Player对象状态逻辑
        }
    
    
        void Move (float h, float v)
        {
    
            movement.Set (h, 0f, v);  //获取按键的信息
    
    
            movement = movement.normalized * speed * Time.deltaTime; //normalizer单位化向量 *速度*时间= 位移
    
            playerRigidbody.MovePosition (transform.position + movement); //设置Player对象的位置
        }
    
    
        void Turning (){
    
            //根据用户鼠标的点击位置,计算出一条摄像机射线
            Ray camRay = Camera.main.ScreenPointToRay (Input.mousePosition); 
    
    
            RaycastHit floorHit;
    
            if(Physics.Raycast (camRay, out floorHit, camRayLength, floorMask))
            {
                //地板上的点击位置-角色当前的位置,向量的方向:Player对象指向鼠标的点击位置
                Vector3 playerToMouse = floorHit.point - transform.position; 
    
    
    
                playerToMouse.y = 0f;  //y方向为0
    
    
                Quaternion newRotatation = Quaternion.LookRotation (playerToMouse); //旋转四元素
    
    
                playerRigidbody.MoveRotation (newRotatation); //设置Player玩家的旋转信息
            }
        }
    
    
        void Animating (float h, float v)
        {
           //若用户按上了WSAD(即运动方向键),则角色状态为运动状态,否则为Idel状态
            bool walking = h != 0f || v != 0f;
    
    
            anim.SetBool ("IsWalking", walking); 
        }
    
    }
    
    
    

    3-7、创建一个摄像机跟随Player角色运动的C#脚本,并命名为CameraFollow,其中,CameraFollow.cs脚本代码如下:

    将CameraFollow.cs脚本拖拽到MainCamera对象上

    拖拽Player对象到CameraFollow.cs脚本的Target变量上

    using UnityEngine;
    using System.Collections;
    
    public class CameraFollow : MonoBehaviour {
    
        public Transform target;
        public float smoothing=5f;
        Vector3 offset;
    
        void Start () {
    
            offset = transform.position - target.position;
    
        }
    
    
        void FixedUpdate () {
            Vector3 targetCampos = target.position + offset;
            transform.position = Vector3.Lerp (transform.position, targetCampos, smoothing * Time.deltaTime);
        }
    }
    

    “`

    展开全文
  • Unity3D菜鸟教程

    2020-07-30 23:33:25
    Unity3D教程,菜鸟一样的例子,不妨碍参考,虽然日语版
  • 实战进阶学习Unity3d游戏开发

    万人学习 2019-04-23 13:29:26
    零起步,快进阶,基础+算法融汇到项目实战中,细节+核心直到上线,一步步引领菜鸟做出大虾级的开发。
  • unity 代码控制动画播放
  • Unity3D教程之Light光源

    万次阅读 2016-12-28 13:49:57
    如果大家对Unity3D感兴趣,就来菜鸟在线观看我们的Unity3D教程。  在Unity项目中,灯光和摄像机是非常重要的游戏组件。灯光可以提升游戏的画面质感,摄像机可以捕捉游戏的场景,并将其输出到屏幕上。如果...
  • unity3D鼠标点击获取地面坐标

    千次阅读 2015-11-19 10:51:28
    写在前面:本人初学unity3D,仅仅是菜鸟的一点小心得,想记录下来,欢迎大神来指导,也欢迎其他初学者同学来交流,互相勉励,共同进步 unity中有关于鼠标位置的函数,Input.mousePosition。但不得不说,这个函数不...
  • Unity3d源码项目,不断更新中......

    千次阅读 2014-01-02 16:13:24
    我感觉对于新手来说看Demo是提高的最快方式,下面我将贴上一些我研究过的一些Demo,希望和我一样的菜鸟分享。 1.官网上的Demo 从 官网Demo大全 可以下载到官网上的完整事例。 2.游戏蛮牛上的Demo 项目源码 ...
  • Unity发展历史及个人感慨

    千次阅读 2018-09-25 21:53:28
    unity3d发展历程  怀抱梦想,从热爱游戏,到制作游戏。虽然是一名菜鸟,但会一直走下去。加油。  怀抱梦想的青年,在追求梦想的道路上那些代价与收获。  愿怀抱着坚持,让梦想渐渐地发光,不管前方道路多么...
  • 本人菜鸟,对游戏开发比较感兴趣,想往这块发展,没什么经验,有几个问题想请教各位大神 本来是C++出身,因为我是搞asp.net,所以C#比较了解,也会一点JS 想问问: 1、unity3D支持什么语言的?C#?js?还是C++? ...
  • 大家好,我是菜鸟在线的小编。这篇短文将告诉大家如何用Unity3D开发VR版的Hello World,具体方法介绍如下。想获得更详细地SteamVR各个脚本的应用,请到菜鸟在线官网查看,或直接观看Unity3D开发视频教程学习,谢谢!
  • Unity】5分钟实现简单血条效果

    千次阅读 2018-12-07 10:12:29
    搜了大量制作血条的相关教程,发现大多都讲得深奥晦涩复杂,没几个看得下去的,于是我决定自己写一个简单浅显易懂,适合菜鸟的教程,造福广大人民群众。 1、首先 Hierarchy面板右击,UI--Image,重复三次,这样就...
  • 本文介绍了两种在Unity中获得相机图像的方法:1.使用image 类;2.使用图像作为OpenGL的纹理。更多相关内容请继续关注菜鸟在线官网,还有Unity3d游戏开发教程观看!
  • Unity3D: 做自己的卡牌游戏 (一)

    万次阅读 2013-11-23 00:28:55
    笔者其实也是小菜鸟一枚,对于开发什么的也不算很熟练,只不过Unity一直都很关注,现在也是刚刚入门,才看了一点点教程而已,在这里写下记录,记录自己的成长过程,也算是一个监督,也可以有效的监督自己去坚持做一...
  • Unity UGUI 利用Scroll View动态生成列表

    万次阅读 2017-07-18 22:02:59
    Unity UGUI 利用Scroll View动态生成列表 本人菜鸟一枚,通过博客记录自己踩过的坑,如果这篇文章有幸被您看到,并对您有所帮助,这将是我的荣幸。如果您有更好的想法,希望您不吝赐教,小弟感激不尽。 ...
  • Unity3D开发资料

    万次阅读 热门讨论 2013-10-13 21:43:33
    首先说一下啊,本人是个菜鸟,但自认是一个懂的上进的菜鸟,现在对游戏开发或多或少懂了一丁点吧。现在把我的资料全部上传,也许大家会觉得,资料有的网上都有吧,也许觉得资料没什么用吧,这个确实。但一个资料只要...
  • 使用MonoDevelop调试Unity3D的正确步骤

    千次阅读 2016-01-19 18:27:53
    Unity3D是一个基于Mono的跨平台游戏引擎,其3.0以后的版本支持用 MonoDevelop调试,很多人安装了之后发现MonoDevelop的调试按钮是灰色的,无法进行调试,正确的调试步骤如下。
1 2 3 4 5 ... 20
收藏数 845
精华内容 338
热门标签
关键字:

unity3d菜鸟