• 我的Unity3D学习日记-01

    2016-05-28 15:36:27
    从下定决心到开始了解并且学习UNITY3D已经大概有了2个星期了,今天决定开始在晚上敲敲键盘,写点东西,一方面是稍微记录一下学习的过程,方面日后查阅以及回顾,另一方面也是想要持续督促自己,更加有动力学习下去。...

    从下定决心到开始了解并且学习UNITY3D已经大概有了2个星期了,今天决定开始在晚上敲敲键盘,写点东西,一方面是稍微记录一下学习的过程,方面日后查阅以及回顾,另一方面也是想要持续督促自己,更加有动力学习下去。写的东西不免有流水账,不免十分幼稚,但仅仅是希望能够做个记录罢了。

    现在是大三的第二个学期,我最终还是决定进入游戏行业进行打拼。在刚开学时心存侥幸,希望能够通过成为游戏策划从而绕过编程这方面,前前后后忙活了一个月参与各种简历投递、笔试、面试,为的是获得一份暑期游戏策划的实习生名额。4月底的一个下午,我坐在从广州回西安的飞机上,回想早晨在网易大厦进行终面的全部过程,我才意识到,做策划真的很难,入行难、竞争难。3天之后不出意料,并没能获得offer。于是决定开始静下心来,学习一种游戏引擎的使用,脚踏实地,开始从自己手里做想要的游戏。

    决定开始学习Unity3d,毕竟这是目前最为火热的游戏引擎,不论独立游戏开发者或是网络手游公司都在用它,说明好用!

    回到学校用了3天晚上看了C#的基础内容,这3天煞有介事地用记事本做着笔记,照着视频敲着代码,但最终没看完。决定直接开始学习Unity软件本身。


    (煞有介事的C#知识笔记)

    大概用了4天,通过视频了解了unity的整个界面以及基本的用法。我找的这套视频节奏比较慢,刚开始时又讲的比较稀疏(大概只是为了介绍整个的概况吧),我大概全程是用1.5倍速看的。

    从第5天开始接触场景的搭建和一些最简单的脚本的写法,当然还了解了一点点关于GUI的知识。


    (照着视频试图搭建出一个海岛的效果,最终感觉还不如某些游戏随机生成的地图。。)


    (用3rd person controller视角看到的场景)

    接下来是一个简单的控制游戏对象移动的脚本,wsad前后左右移动,qe转向,再为该对象加上一个跟随镜头就可以实现一个基本的RPG游戏控制角色的效果。

    using UnityEngine;
    using System.Collections;
    
    public class MoveSrcipt : MonoBehaviour {
        GameObject go;
        public float speed = 0;
        float y=0;
        Quaternion rotateTo;
    	void Start () {
            go = this.gameObject;
    	}
    	
    	// Update is called once per frame
    	void Update () {
            if (Input.GetKey("w"))
            {
                go.transform.Translate(Vector3.forward*Time.deltaTime*speed);
            }
            if (Input.GetKey("s"))
            {
                go.transform.Translate(Vector3.back * Time.deltaTime * speed);
            }
            if (Input.GetKey("a"))
            {
                go.transform.Translate(Vector3.left * Time.deltaTime * speed);
            }
            if (Input.GetKey("d"))
            {
                go.transform.Translate(Vector3.right * Time.deltaTime * speed);
            }
            if (Input.GetKey("q"))
            {
                y = -Time.deltaTime * speed * 15;
            }
            else if (Input.GetKey("e"))
            {
                y = Time.deltaTime * speed * 15;
            }
            else y = 0;
            go.transform.Rotate(new Vector3(0,y,0));
            
            go.transform.rotation = Quaternion.Slerp(go.transform.rotation, rotateTo, Time.deltaTime);//使用插值实现平滑转动
    	}
    }

    展开全文
  • Unity3d学习日记(五)

    2019-08-14 19:47:07
      之前用3dsmax将模型转成FBX怎么也没有办法自动导入材质到Unity3d中(试过勾选了导出嵌入媒体,没用)。索性试了试c4d,发现是可行的,看来像我这种菜鸡还是更加适合用c4d。   拿zoe模型为例,该模型有两个材质...

      之前用3dsmax将模型转成FBX怎么也没有办法自动导入材质到Unity3d中(试过勾选了导出嵌入媒体,没用)。索性试了试c4d,发现是可行的,看来像我这种菜鸡还是更加适合用c4d。
      拿zoe模型为例,该模型有两个材质球,分别叫材质和材质1:
    1.png
      将其正常导出:
    2.png
      拖到unity3d的Asserts文件夹下,可以看到现在的模型是没有材质的:
    3.png
      再将应用于材质球上的两个材质文件拖到Asserts文件夹下(和模型是否同一文件夹都无所谓),点击模型,在inspector--Model中点击Apply按钮(如果Apply按钮是灰色的就随便改一下相同面板中的某个属性再改回来,比如去掉某个复选框的勾再将其勾上,Apply按钮就可以点击了),材质就被成功地自动赋予模型了!
    4.png
      导入动画也很简单,选中模型,打开Animation面板,点击Create按钮:
    5.png
      Unity会创建一个Animator和一个Animation:
    6.png
      在Animator中选中橘红色的框框,在Inspector面板里将Motion选为自己导入的FBX所包含的动画,该动画一般是导入对象的儿子:
    7.png
      想重复播放动画的话点击模型,在Inspector--Animation下将Loop Time复选框选中:
    8.png
      如果发现导入的模型需要镜面对称一下,就把对应的轴的scale置为-1即可。
      播放一下,大功告成!
    9.gif

    转载于:https://www.cnblogs.com/yaoling1997/p/10099551.html

    展开全文
  • Unity 3D学习日记(1)

    2017-09-06 23:29:00
    Unity 3D学习Day11.刚体(rigibody)对物体加物理性质(重力..)2.对game object 添加材质(颜色):新建材质(Material)-附加到物体(直接拖过去) 对材质球添加图片(albedo)3.按住alt 旋转查看4.制作预制...

    Unity 3D学习Day1

    1.刚体(rigibody)对物体加物理性质(重力..)

    2.对game object 添加材质(颜色):新建材质(Material)-附加到物体(直接拖过去)
    对材质球添加图片(albedo)

    3.按住alt 旋转查看

    4.制作预制(Prefabs)从Hierarchy直接拖动

    5.复制物体ctrl+d

    6.Javascript
    Start()当游戏加载时执行
    Update()每调用一帧执行
    var声明变量,:数据类型
    var speed:int=5;

    7.Unity 输入管理器 Edit-Project Settings-Input

    8.输入管理器= Input类
    Input.GetAxis(“Horizontal”) 检测输入”A”“D”返回值(float)
    Time.deltaTime 两帧之间的时间间隔

    9.transform.Translate(x,y,z);移动物体
    transform=摄像机
    print(x); 控制台输出x

    10.C# void:无返回值
    float n=20.8f;

    11.一个物体可接受多个脚本
    一个脚本可分配给多个物体
    先添加的脚本先执行

            //"Camera translate"
            float x = Input.GetAxis ("Horizontal") * Time.deltaTime * speed;
            float z= Input.GetAxis ("Vertical") * Time.deltaTime * speed;
            transform.Translate (x,0,z);
            //print (x);
            //Shoot bullet
            if (Input.GetButtonDown ("Fire1")) {
                Transform n = Instantiate (newobject,transform.position,transform.rotation);
                Vector3 fwd = transform.TransformDirection (Vector3.forward);
                n.GetComponent<Rigidbody>().AddForce (fwd*10000);
            }
    
    展开全文
  • 我的Unity3D学习日记-02

    2016-06-05 23:28:02
    最近的内容主要是关于脚本与其他组件的关系。 关于组件的生命周期: //出生时即执行,脚本被加载时调用一次 //在Awake中做一些初始化操作 void Awake(){ //初始化public成员}    //当对象开始时执行 ...//

    最近的内容主要是关于脚本与其他组件的关系。

    关于组件的生命周期:

    //出生时即执行,脚本被加载时调用一次

    //Awake中做一些初始化操作

    void Awake(){

    //初始化public成员

     

    //当对象开始时执行

    void Start () {}

    //每一帧都会执行

    void Update () {

    //一般每秒60帧,可以认为1秒调用60}

     

    //Update方法调用之后调用

    void LateUpdate(){

    }

     

    //在对象销毁时执行

    void OnDestroy(){}

     

    //在启用脚本时执行

    void OnEnable(){

    //可能需要在重新激活时重置的变量}

     

    //在被不启用时执行

    void Disable(){}

     

    //持续调用

    Void OnGUI(){

    //IMGUI代码需要写在OnGUI方法中}

     

    //以固定的频率调用,与图像的刷新帧速率无关

    Void FixedUpdate(){

    //处理物理的代码放在这里,放在update中可能因为卡顿导致问题}

     

    //这些方法并不是继承自MonoBehaviour,而是通过反射调用的一些事件

    //这些方法定义了一个脚本从被加载到被销毁的过程中脚本的生命周期

     

    当然这些都是比较常用的,在官方manual中还有一张更详细的生命周期图。

     

    以下是一部分关于脚本组件代码中的笔记:

    每一个脚本类都继承自MonoBehaviour类,这些类叫做运行时类,不能手动实例化(仅受到Unity的控制)

    gameObject //获取当前脚本挂载到的游戏对象

    Unity中就算使用了C#进行编写脚本,要输出时不能使用Console类,应当使用print();或者Debug.log();

    transform表示该脚本挂载的游戏对象身上的transform组件

    Transform.position //获取transform身上的各种属性,其他组件的其他属性同理

    使用public在类中定义变量可以在unity属性面板中调节

    GetComponent<>();//使用泛型的方法获取当前游戏对象上指定类型的组件对象

    AddComponent<>(); //为当前游戏对象添加指定组件

     

    随便写点:

    void Start () {
    print("print脚本挂载到了"+gameObject.name+"的身上");
            gameObject.AddComponent<ParticleSystem>();//为当前对象添加一个粒子系统
            ParticleSystem ps = gameObject.GetComponent<ParticleSystem>();//查询到这个粒子系统
            Destroy(ps);//删除该粒子系统
      
    	}
    
    using UnityEngine;
    using System.Collections;
    //使得一个对象的z轴看向目标lookat
    public class LookAt : MonoBehaviour {
    
        public Transform lookat;
    	// Use this for initialization
    	void Start () {
    	
    	}
    	
    	// Update is called once per frame
    	void Update () {
            gameObject.transform.LookAt(lookat);
    	}
    }


    展开全文
  • 自学unity3d日记

    2017-05-16 19:43:38
    开发android也快两三四年了,最近突然对3d有了兴趣,用一篇博客记录自己慢慢的学习历程。有兴趣的可以一起加好友,纯做日记 今天去官网随便安装了Unity5.5,还好不用像android一样配置环境,听说主要用c#听说不是...

    开发android也快两三四年了,最近突然对3d有了兴趣,用一篇博客记录自己慢慢的学习历程。有兴趣的可以一起加好友,纯做日记
    今天去官网随便安装了Unity5.5,还好不用像android一样配置环境,听说主要用c#听说不是很难,就开始学习花了半天做了自己的第一个demo

    2017 04/13

    我的第一个demo

    • 快捷键
    
     Q  Pan 平移  W   Move 移动  E  Rotate 旋转 R Scale 缩放
    
     shift +左键可以减少绘制的地方
    
     第一个人称 操作和cs类似
    
    
    
    
    • 今日涉及内容
      Terrain 地形 种树 画地 光线什么的,还没设计到代码层面。
      图形工具随便玩了玩
      地形 种树 画地

      2017 04 20今日涉及内容
      * 花了一下午 看完了c#基础 发现学过java上手很快 *

      2017 04 21今日涉及内容
      * 照着demo做了个宝石消除的游戏 目前还没加上声音动画 还差一些游戏规则逻辑*

      这里写图片描述

    然后补了下c# 委托内容

    后面看到unity经典的打飞机demo了。但我觉得不够cool.决定专门延伸出一个完整的游戏出来。
    另外再开一个博客。(其实我的业余只会这么点技术 哈哈)
    http://blog.csdn.net/qq_28844947/article/details/72330245

    雏形


    准备新增的东西
    1.子弹类型
    2.子弹发射方式
    3.boss 及其行为
    4.副武器
    5.关卡
    6.特殊状态

    目前还要做android相关的工作,最近又要忙产品走向的很多任务,进度较慢只能业余做做

    展开全文
  • Unity3d学习日记 1

    2018-05-30 16:55:17
    课时2搭建场景, 核心技术是创建地形, 在地形上涂纹理, 放模型(树\房子等)课时80 添加武器商人NPC存在的问题其中的Layer是什么 有什么作用如何让UI root显示在窗口中大概学到的技术copy 音频组件, 添加鼠标点击时有...
  • Unity3d学习日记(三)

    2019-08-14 19:46:37
      使用Application.LoadLevel(Application.loadedLevel);来重新加载游戏scene的方法已经过时了,我们可以使用SceneManager.LoadScene(SceneManager....是因为unity自带环境光材质!想要去掉就这样: 转载于...
  • 自从上次跟着敲了官方示例拾荒者之后,开始对Unity制作2D游戏感兴趣了起来,虽然本文标题叫做Unity3D学习日记。但是Unity其实本来名字里是没有3D这俩字的……很有名的雨血前传 蜃楼就是一个使用了Unity来开发的2D...
  • 学习Unity 3D第一周,完成的目标一是创建一个小场景,用角色控制器在场景里行走;二是编写一个简单的移动脚本。 一、创建一个小场景,用角色控制器在场景里行走 首先,先安装Unity 3D 5.3版本。然后新建一个Project...
  • Unity3D学习日记1

    2019-07-27 10:21:18
    1. Unity3D 解析:Unity3D可以让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。 2.Project[项目]视图 解析:Project...
  • 随心的笔记项目建立项目确立明确目标构思结构...建立一个项目后,至少要有个策划案,根据自己的策划案来决定这个游戏(拿游戏说话吧)是2d 还是 3d . 构思结构 任何项目如果没有架构,那么维护和开发的代价都是有点大的. ...
  • 第一步:登录unityads.unity3d.com,选择“立即盈利”——“添加新项目”——“创建新项目并开启Unity Ads”(并在输入框内为新项目命名)——选择平台(iOS和Android两个平台至少选一个)——是否专为13岁以下儿童...
  • Unity3D RPG游戏Demo开发日记(一) 一、场景布置 简单的场景布置: 1.创建terrain后将地形高度设置为100。 2.用笔刷将地面贴图铺满terrain。 3.在terrain上布置房子、树木、花草、山坡等环境。 场景布置中常用到...
  • Unity3D 为了游戏的效果或者游戏的美观性,常常需要一些UI的动画来美化游戏的界面。 那么UI常用到的动画制作方法有哪些呢?项目中常用到的ITween、DoTween这两个插件来制作补间动画,也有人会用Unity3D自带的动画...
  • Unity 3D学习日记(2)

    2017-09-06 23:32:36
    Day21.实例化用Instantiate(要生成的物体,生成的位置,旋转角度)2.检测鼠标左键并生成物体 If(Input.GetButtonDown(“Fire1”)){ Transform n = Instantiate(newobeject,transform.position,transform.rotation);...
  • 2015年做项目的需要用到这样的功能,不过当时太忙了没时间写博客,这个刚好这几天都有时间补回这个日记吧! 在这里要感谢lynnlin1122写的博客文章,《用C#生成不重复的随机数》大家有空去看看这篇文章,原文地址:...
  • 如今手机游戏玩法多种多样,尤其使用虚拟摇杆进行格斗类游戏开发或者是MMORPG成为了主流的开发方式,可能不少人都会为了制作一个完善的虚拟摇杆感到烦恼,一次又不少人选择使用插件来制作虚拟摇杆。...
  • 因为Unity3D可以用到移动端的视频插件在国内也就是那几个而已,其中有MMTexture、AVI Player、以及EasyMovieTexture。(PS:有钱的公司可以直接去买那个贵的离谱的视频插件,听说还不错)之前我在AVI Player的文章里...
  • 2019.7.8.周一 腾讯米大师: 腾讯推出的移动支付组件米大师,专注移动支付解决方案,实现移动终端的更大营收。目前已全面支持微信、手机QQ、手机Qzone等平台手游。 VR:虚拟现实技术(Virtual Reality,简称VR)...
  • 这个是我在公司项目里面发现的一个写的很不错的一个简单的围绕物品选择的一个摄像机控制方法,这个方法比我之前写方法好用而且修复我之前遇到的一个Bug问题,这里我就对这两个方法进行介绍
1 2 3 4 5 ... 12
收藏数 227
精华内容 90