前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Unity3D 用对象创建对象

Unity3D 用对象创建对象

作者头像
林德熙
发布于 2020-03-22 02:37:34
发布于 2020-03-22 02:37:34
2.2K00
代码可运行
举报
文章被收录于专栏:林德熙的博客林德熙的博客
运行总次数:0
代码可运行

在 Unity3d 中会用到从一个游戏对象复制出一个新的游戏物体的方式,如制作射击游戏的子弹等。在 Unity3d 中可以使用 GameObject.Instantiate 的方式从一个 GameObject 里面创建一个和这个 GameObject 一样的对象

一般此时游戏对象都是使用模板对象,在 Unity3d 里面制作一个模板是十分简单的,只需要在 Hierarchy 里面的物体拖动放到 Assets 文件夹里面就可以了

拖放进去的模板对象推荐给他一个命名,这样才方便查找

先点击 Hierarchy 然后点击菜单的 GameObject 的创建,创建一个立方体。接下来将这个立方体拖动放到 Assets 文件夹,删除 Hierarchy 里面的立方体。等等,是不是有更加简洁的步骤?没错,在 Assets 文件夹里面右击也是可以创建的,只是在 Hierarchy 创建的时候可以方便看到对象在游戏中显示的好看还是不好看

新建一个 C# 代码,可以命名为 Create 在这个代码里面将会判断如果用户点击了按键,将会创建一个 Cube 立方体

在 Unity3d 中判断用户按键的方式请看 Unity3d 连续按键处理和单次按键处理

从 VisualStudio 打开代码,或者右击刚才创建出来的代码文件点击 Open 都可以

在 C# 代码里面添加一个公开的字段,这个字段叫 Cube 用来在 Unity3d 界面给他赋值

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    public GameObject Cube;

创建出来的代码还需要放在某个 GameObject 里面才能运行,本文将这个代码放在相机里面,放在相机可以通过拖动代码文件,放在相机对象上面,此时可以在相机里面看到如下图

可以在相机的 Component 看到有脚本代码,所以反过来点击 Add Component 添加代码也是可以的

在这个代码里面可以看到刚才定义的字段 Cube 在界面显示,将刚才放在 Assets 的 Cube 对象拖动放在这个字段上去,这样就在 Unity 上绑定了游戏对象了

也就是在脚本执行的时候,这个 Cube 字段就会被框架赋值,给的值就是在 Unity 界面拖动过去的对象

接下来就是编辑 Update 的方法了,在判断到用户点击了鼠标,就根据字段创建一个新的游戏对象,这里创建的游戏对象默认都会自动添加到游戏画面中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    void Update()
    {
        if (Input.GetButtonDown("Fire1"))
        {
            // 鼠标左键
            var cube = GameObject.Instantiate(Cube);
        }
    }

此时就完成了创建,保存代码,在 Unity3d 里面点击开始游戏,然后点击一下鼠标。此时可能还看不到这个 cube 对象,可能的原因就是这个 Cube 不在相机范围内。可以通过点击一下暂停按钮看看是不是 Cube 放在了相机范围外

如果想要设置这个 Cube 在相机可见范围里面,简单做法是放在相机前面,我的相机是面向 z 轴的,如下图我的相机设置如下,那么如何设置创建出来的物体的坐标在我的相机前面

可以通过物体的 transform 属性进行移动物体,可以先移动到相机所在的地方,然后再次移动到相机前面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
        if (Input.GetButtonDown("Fire1"))
        {
            // 鼠标左键
            var cube = GameObject.Instantiate(Cube);
            cube.transform.Translate(transform.position);
            cube.transform.Translate(0, 0, 10);
        }

这样就完成了代码啦

本文代码放在github欢迎小伙伴访问

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
程序员:听说你正在为天天写增删改查代码而烦恼
有相当多的一部分程序员一直都只接触业余应用的功能,天天写业务代码的程序员也被戏称为CURD程序员,CURD就是增(create)、改(update)、查(read)、删(delete)的意思。
用户4831957
2019/07/01
1K0
程序员、架构师、技术经理、技术总监和CTO都是干什么的?
程序员   程序员,英文名coder/programmer,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。   此职位为执行级别。另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。   此阶段大概要经历3年,程序员的职责如下:   1、负责公司运营系统的设计与开发工作   2、运营数据处理和分析 高级程序员   高级程序员学名工程师。到了这个level,英文名可改叫做engineer或developer。此时你的功力开始增强,这与你平时的
架构师小秘圈
2018/04/02
6.7K0
程序员也分三六九等?等级差异,一个看不起一个!
你知道程序员、高级程序员、架构师、技术经理、技术总监之间有什么区别吗?他们的工作职责又是什么?
一墨编程学习
2019/04/18
1.3K0
程序员也分三六九等?等级差异,一个看不起一个!
如何提高程序员的生产率(下)
目录 3. 开发过程... 12 4. 架构设计... 20 5. 管理激励... 23 三、 开发过程 沟通 软件通常都需要经过很多人和很多次的沟通才能生产出来,但是沟通本身又往往会影响软件的开发速度。这是一段很矛盾的关系。好的沟通方法能降低开发中因为信息不透明导致的开发资源浪费,而又尽量减少沟通所占用的精力。 需求沟通 在任何一个软件产品中,如何应对需求的变更,都是至关重要的。需求一直是软件工作得以成功或者失败的最重要因素。软件开发中很多技术和方法都是围绕着需求来设计的。 需求的沟通是需求工作的第一个环
韩伟
2018/03/05
8950
如何成为高级java程序员
给一个刚出社会的程序员新生一个建议,想成为一个优秀的程序员,高级程序员,不能眼高手低,不能认为开发新项目,技术研发才学到东西,不能看不起维护系统,不要以为自己懂的技术越多自认为自己很牛叉。假如你忽略了一个问题那么你永远成为不了优秀的程序员、高级程序员,那就是系统优化。
java架构师
2018/08/23
4250
一个十几年程序员给所有新老程序员的忠告
吉日噶拉(在外企、上市公司工作过,自己也创业失败过,遇到过很多失败挫折,甚至露宿街头,但是最后还是挺过来了),是一个十几年的程序员了,里面介绍了他的相关经历,以及他的一下经验,无论是对刚入门的程序员,还是工作了十年八年的程序员都有一些经验值得借鉴学习。这里我也把这本书中的部分精华分享给大家,希望对大家有帮助!
AWeiLoveAndroid
2018/09/03
1.8K1
一个十几年程序员给所有新老程序员的忠告
程序员的自我修养5️⃣—不至于代码
相比码农、程序猿、软件工程师、张江男、屌丝程序员等等这些网络词汇,当你把自己看作是一个屌丝程序员的话,那你也可能就是那个衣食不愁,但整天浑浑噩噩、无所追求的屌丝。我更愿意用技匠这个词来形容程序员,就像我给自己起的花名一样。
马拉松程序员
2022/04/26
3970
软技能:开启程序员的职场“破冰之旅”
在我们聊“软技能”之前,先来区分下“软技能”和“硬实力”。通常我们将自己专业方向的技能定义为 “硬技能”,以程序员为例的话,我们的算法、计算机知识和编程能力等就属于“硬技能”,是我们吃饭的家伙,大多数人等着靠他赚钱买车买房娶妻生子,但生活质量的好坏往往由“软技能”决定的,从两类技能的关系来看,“软技能”是“硬技能”的催化剂。
技术zhai
2018/06/09
6090
软技能:开启程序员的职场“破冰之旅”
Java程序员通往架构师的修炼之路
国内我们对架构师,项目经理,开发经理或者是技术总监这类职业定位普遍不都不清晰,很多的情况是“能者多劳”,一人身兼数职。达尔文的理论在我们的行业是绝对适用的,我从进入这个行业开始我就不甘于成为淘汰者,而我也由心地热爱着这个行业很年前我就立志要成为架构师(当年流行叫:系统分析员 )这目标进发。回首这10几年的磨练,我总结了一下一名合格的架构师应该具备哪一些方面的能力以及怎么才能得到这些能力 一、编码能力 架构师是一个职业,是一种经历了各种磨练与长年开发经验积累出来的。另外我一直认为:不会编码的架构师不是一个好的
Java架构
2018/07/06
3770
IT项目开发流程(一个完整的软件项目开发流程)
首先,开发者需要对软件系统进行概要设计,即系统设计。 概要设计需要对软件系统的设计进行考虑, 包括系统的基本处理流程(包括系统逻辑、业务逻辑)、系统的组织结构(一级功能、二级功能等)、模块划分(不同的功能模块分析)、功能分配、接口设计(公用接口、私有接口、类的继承等)、运行设计、数据结构设计(数据表的设计)和出错处理设计等,为软件的详细设计提供基础。
全栈程序员站长
2022/07/29
10.8K0
IT项目开发流程(一个完整的软件项目开发流程)
Java进阶之路——如何从程序员到架构师,从码农到专家Java进阶技术方面
怎样学习才能从一名Java初级程序员成长为一名合格的架构师,或者说一名合格的架构师应该有怎样的技术知识体系,这是不仅一个刚刚踏入职场的初级程序员也是工作三五年之后开始迷茫的老程序员经常会问到的问题。希望这篇文章会是你看到过的最全面最权威的回答。
美的让人心动
2018/07/30
8010
Java进阶之路——如何从程序员到架构师,从码农到专家Java进阶技术方面
技术变化那么快,程序员如何做到不被淘汰?
 中国有很多年轻人,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的Cfans,拿着吓人的工资,做着吓人的项目,项目的结局通常也很吓人。
java架构师
2018/08/23
4110
程序员高手和菜鸟的区别是什么?
程序员的价值绝对不在于技术本身,而在于做出好用且好看程序的能力,这是一个开放性的话题,每一个人都是菜鸟过来的,老九君希望每一个做技术的小伙伴都能尽快成为高手。 1 命名 从程序代码的命名,我们就可以看出一个人的水平。最差的命名就是使用中文、拼音、拼音缩写、中英混搭,接下来要么是模仿式命名,要么干脆就随意命名。 模仿式命名典型的就是“××DAL”,说实话,我觉得类似于“UserDAL”这样的名字,我觉得太不美观了,一般这我就知道这是典型分层架构的模仿者,说明他是有些经验的人了。 随意命名,就是写代码的时候,名
老九君
2018/03/06
9310
程序员高手和菜鸟的区别是什么?
一个工作三年左右的Java程序员跟大家谈谈从业心得
貌似这一点适应的行业最广,但是我可以很肯定的说:当你从事web开发一年后,重新找工作时,才会真实的感受到这句话。 工作第一年,往往是什么都充满新鲜感,什么都学习,冲劲十足的一年;WEB行业知识更新特别快,今天一个框架的新版本,明天又是另一个新框架,有时往往根据项目的需要来不断学习新东西;所有,很多时候感觉,自己用过的东西真多呀!但是真正深入研究的东西却不多。 面试,是跳槽后第一个需要面对的问题;而且不同公司面试的着重点不同;但是却有一个共同点:Java基础是必考的。 工作第一年,可能问你String对象创建
Java高级架构
2018/04/19
1.1K0
【转载】java架构师进阶之路
Java架构师,应该算是一些Java程序员们的一个职业目标了吧。很多码农码了五六年的代码也没能成为架构师。那成为Java架构师要掌握哪些技术呢,总体来说呢,有两方面,一个是基础技术,另一个就是组织能力和提出解决方案能力了。
小勇DW3
2018/08/30
1.8K0
【转载】java架构师进阶之路
程序员的职业方向: 技术?管理?
  程序员职业生涯发展到一定程度都会面临一个选择,是走“管理 + 技术”方向,还是选择纯钻研技术走“技术 + CTO”路线。程序员职业生涯发展的问题,这是所有程序员都在关心的问题,未来究竟要怎么走,30岁之后还能不能再做程序员.......
阳光岛主
2019/02/19
7260
程序员 面试如何介绍自己
面试进行曲之技术面试(项目经验) 在前期已经讲过怎样分析自己,对自己进行一个准确的定位,选择一个合适的求职方向!并 结合自己的实际个人情况来写一份针对性很强的个人简历! 个人简历就是个人的广告! 好的 简历可以更受到用人需求单位青睐!好的简历才能让你获得面试的机会!我们还针对面试列 出了 j2ee 方面的知识点!不管是笔试还是面试都是会考到这些非常重要的知识点!面试的 技术内容并不会有想象中的那么难,主要注重基础和细节!细节决定一切!所以列罗的那些 知识点是需要下功夫去准备的! 当然列罗的那些知识点只是一
爱明依
2022/04/01
4770
做为一名java高级程序员,这些IT岗位你都了解么?
程序员   程序员,英文名coder/programmer,大家常自嘲叫码农的阶段。这个角色职责是把需求或产品实现为用户可用的软件产品。   此职位为执行级别。另外因为经验较少,一般需要求助别人,或与别人一起完(ban)成(zhuan)一个任务。   此阶段大概要经历3年,程序员的职责如下:   1、负责公司运营系统的设计与开发工作   2、运营数据处理和分析 高级程序员   高级程序员学名工程师。到了这个level,英文名可改叫做engineer或developer。此时你的功力开始增强,这与你平时的积累
三哥
2018/06/15
7040
很认真的聊一聊程序员的自我修养
程序员提高自我修养是为了什么? 程序写的好有人崇拜,有妹子喜欢?还是到博客、论坛、社区发表文章进行分享获得就?我想这是少数人的追求,也是更高的追求,在这之前 我认为 在中国,程序员提高自我修养目的 是为了 1、更好的融入工作,减少困难,增加成就 2、稳步的提升能力,提高收入,达成财务自由 2、站在更高的层面看待自己的学习和工作,树立更加适合的人生观价值观,家庭幸福,生活愉快 说的更通俗一点,就是用更加合理的方式和方法,赚取到更多的收入 何为程序员的自我修养? 正面论述很难说清楚,反向描述可能更通俗易懂
用户1667431
2018/04/18
7390
这个时代,写给我们这些浮躁的程序员
2010 年初写过一篇博客(我们是一群和平年代充满浮躁与抱怨的程序员),一年过去了,社会好像更浮躁,也有网友问我这方面的问题,于是有了下面这篇文章,再次写 给我们这些刚入行浮躁的程序员,如何成长,以下
春哥大魔王
2018/04/16
9150
这个时代,写给我们这些浮躁的程序员
推荐阅读
相关推荐
程序员:听说你正在为天天写增删改查代码而烦恼
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档