我每天都想去学习一些东西,但是每次做一半就坚持不下去,一方面的原因是:我的的确确遇到很多困难;另一方面的确是无从下手,不知道如何去学习;

我现在就是这样不断的摸索摸索,所以就写下我摸索的过程。一方面希望能通过博客这种东西记录我自己的每一天,就像网络日记一样,这样让我觉得我的每一天没有虚度。另一方面,我也希望对像我一样的初学着有所帮助。

—————————————————————————————————— 好了前言就写到这,今天的目标是:在Unity中实现一个画笔的功能。

先展示效果图:

过程:

1、Create Empty,命名为Player;

PS:命名技巧,首先点击需要重命名的对象,在Unity中等名字变蓝后,再按一次左键,就可以重命名了。

2、GameObject > 3D Object > Create Cube,放在Player的子类;

3、MainCamera的Projection改为orthographic直角的,Size变为10;

PS:小技巧,这时记得保存一下场景,无论是MonoDevelop,还是Unity,当你修改后没有保存,在最上方的文件名都会出现一个*号,来表示修改后未保存的状态,大家可以自己观察一下;

4、 新建两个Cube,在Scene视图中调试(如图),最后会在Game视角里的左下,另一个在右上(为了知道世界坐标),记得设置为4:3的固定尺寸。

5、新建C#脚本,命名为player;

6、打开脚本,在Update函数里先实现,Play中的Cube和鼠标同步移动;

this.transform.position = Input.mousePosition;

7、保存然后把脚本拖拽给Player,测试;

8、测试发现,存在问题,空间坐标和mousePosition的坐标不一致,现在就用到之前放的Cube了,记录Cube两个坐标,算出:原点差值,两个长方形的比值。

PS:小技巧,用Debug.Log (Input.mousePosition);来测试左下角和右下角的鼠标位置对应的世界坐标;

9、之后稍作计算,得出原点差值为:(21.33f,9.88f)。比例值为21.0f;所以函数改为:

this.transform.position = Input.mousePosition / 21.0f - new Vector3 (21.33f, 9.88f, 0);

10、删除之前的Debug函数,现在实例化Cube,在start函数之前输入:

public GameObject PrintPrefab;如图

11、保存脚本,回到hierarchy视图中,新建一个Sphere拖回到Project栏里,做成Prefab,意为:预制件;

PS:小技巧,如果在hierarchy视图中名字为蓝色意为该Gameobject是Prefab;

12、之后把蓝色Prefab设置到之前设置的Print Prefab中;

13、现在开始实例化,update中代码:

if(Input.GetMouseButton(0))

Instantiate (PrintPrefab,this.transform.position, this.transform.rotation);

14、最后自己测试;

——————————————————————————————————

OK,总结一下心得吧,对于一个刚入门的小白来说的的确确前面的可能有些地方看不懂,但对于我这样稍微会一点Unity的人,又是如此的简单。

但是麻雀虽小,五脏俱全,如果要扩充还是需要做很多很多的工作;

今天就先到这里:最后分享一下

1、Unity手册很有用,可以查询很多你想了解的函数和用法,比如说实例化的Instantiate函数,在百度上查例子还是不太会用,但用Unity手册很快就明白了;

PS:英文像我一样的不好的童鞋可以用Unity圣典,也就是汉译过得Unity手册;

圣典传送门:http://wiki.ceeger.com/start

2、第一次写文,有不好的地方请指出~~~;

3、最后希望和大家共同进步。

转载于:https://my.oschina.net/u/2501013/blog/735844

【Unity】开发日志1——画笔 The Printer相关推荐

  1. **Unity开发日志——使用 LineRenderer 绘制虚线**

    1.准备图片 png图片,WrapMode为Repeat 2.制作材质球 3D世界里Shader为Legacy Shaders/Particles/Addtive; 平面UI上Shader为GUI/T ...

  2. Unity开发《一起来捉妖》教程 | 4.抛掷封妖灵珠

    洪流学堂,让你快人几步.你好,我是郑洪智. 洪流学堂公众号回复捉妖,可以获取本教程的源码工程. 小新:"智哥,今天咱们来开发封妖灵珠?" 大智:"好啊,你觉得实现封妖灵珠 ...

  3. Unity开发《一起来捉妖》教程 | 3.随机妖怪位置及旋转提示

    洪流学堂,让你快人几步.你好,我是郑洪智. 洪流学堂公众号回复捉妖,可以获取本教程的源码工程. 小新:"智哥,我找了个小精灵的模型,嘿嘿,不过我经常运行的时候找不到模型在哪,怎么办?&quo ...

  4. Unity开发《一起来捉妖》教程 | 2.用摄像头图像做背景

    洪流学堂,让你快人几步.你好,我是郑洪智. 洪流学堂公众号回复捉妖,可以获取本教程的源码工程. 小新:"我们接下来是不是需要将显示融合到屏幕上,才能称得上是AR呢?" 大智:&qu ...

  5. Unity开发《一起来捉妖》教程 | 1.陀螺仪控制相机

    洪流学堂,让你快人几步.你好,我是郑洪智. 洪流学堂公众号回复捉妖,可以获取本教程的源码工程. 大智:"小新,你小子最近是不是谈恋爱了,怎么天天往外跑?" 小新:"嘿嘿& ...

  6. 勇者与羁绊 游戏开发日志(一)

    勇者与羁绊 游戏开发日志(一) 游戏介绍 开发进度 一.事先调查 二.进行设定 寻找合作 游戏介绍 勇者与羁绊是我想用构筑式卡牌战斗与自走棋的羁绊玩法融合的一次尝试. 以下是游戏中的一些核心玩法 牌库 ...

  7. 用Unity开发一款2D横版游戏demo

    # LanW Game Project 目录 (一) 介绍 (二) 安装教程 (三) 开发流程 1.  新建工程 2.  设置人物 3.  控制主角的移动 4.   添加切换动作的动画 5.   镜头 ...

  8. 《黑头人》(暂定)开发日志

    <黑头人>(暂定)开发日志 您好,我正在制作一款独立游戏,期间我会经常发布一些游戏开发日志,一起多多探讨游戏开发! 请多多关照. 开发近况 我今日做了啥新功能? 制作了方便与可以重复利用的 ...

  9. 勇者与羁绊 游戏开发日志(八)

    勇者与羁绊 游戏开发日志(八) 开发进度 流程图 流程叙述 PlayMaker的坑 测试用例 寻找合作 开发进度 完成了使用卡牌选择目标的功能 流程图 流程叙述 该状态机主要负责控制敌人目标的选择. ...

最新文章

  1. linux 查看硬件信息
  2. leetcode算法题--两数之和
  3. 为什么我们需要Maven
  4. 惯量匹配和最佳传动比
  5. 值类型、引用类型和泛型的前世今生
  6. 在用c语言写代码是这么找出错误,写代码(C语言)常见粗心小错误
  7. SPH(光滑粒子流体动力学)流体模拟实现三:Marching Cube算法(1)
  8. python如何安装wordcloud_基于python的wordcloud库的安装方法
  9. CV学习笔记-Alexnet
  10. python public_python中private、protectedamp;public
  11. android中函数的直接使用用import就可以了吗各种类不用创建对象吗_React Hooks 如何安全地使用state...
  12. Pickpocketing.Mifare.pdf
  13. hadoop component summary
  14. CNVD 与 CNNVD 的区别
  15. 腾讯视频怎么获得html代码,如何获取腾讯视频等九大视频网站的视频分享代码...
  16. 综述---图像处理中的注意力机制
  17. 集成测试的策略详解:
  18. 阿里云企业实名认证教程
  19. SparkStreaming编程
  20. 科林明伦杯哈尔滨理工大学第九届程序设计竞赛

热门文章

  1. GAN—为百年旧照上色
  2. 关于企业战略管理的书,这些经典教材值得推荐
  3. 14(高级)CSS动画之:旋转星球
  4. 实例:原型链继承及问题
  5. 设计模式:装饰器模式
  6. linux mysql flush_innodb_flush_method 与 Linux File I/O
  7. 高中计算机课主要学什么好处,高中信息技术课程中深度学习的重要性
  8. MATLABsimulink对于软件无线电设计的支持
  9. qt判断用户是否正在使用当前应用程序
  10. 跑在树莓派上智能家居雏形(三)