记录下自己Unity学习经历,这次最终将实现一个类似微信跳小游戏。 Unity项目基本组成 在Unity物体一个场景中最基本组成部分,物体又由物体组件来实现不同功能,所以在Unity中,主要组成流程便是: ·项目-> 场景->游戏物体->组件->组件参数 脚本也属于组件种,而熟练使用
Ass_1 是 World_0物体 GameObject Ass_1 = new GameObject ("Desk"); GameObject World_0 = GameObject.Find ("World"); Ass_1.transform.parent = World_0.transform;
原创 2021-08-18 01:48:32
1765阅读
// Use this for initialization void Start() { GetAllChild(this.transform); } //使用队列实现 public void GetAllChild(Transform parent) { //队列存放需要被遍历节点 //加入逻辑为:当前节点节点,从第一个节点到最后一个节点顺序加入 Queue<Trans..
原创 2021-08-31 09:52:01
1909阅读
// Use this for initialization void Start() { GetAllChild(this.transform); } //使用队列实现 public void GetAllChild(Transform parent) {
原创 2022-01-11 13:59:37
284阅读
直接上代码,测试无误。bool Equal(float f1, float f2) { return (Math.Abs(f1 - f2) < 1f); } bool dayu(Point p1, Point p2)比较两点坐标大小,先比较x坐标,若相同则比较y坐标 { return (p1.X > p2.X || (Equal(p1.X , p2.X) && p1.Y
 写在前面:在做项目的时候,难免会碰到UI很多情况,而动态加载UI就是一个很重要问题。而动态加载UI就需要考虑到设置UI父子关系。通常我们会使用transform.setparent(transform)来设置父子关系。到这里都还是没毛病。但是偏偏UI在设置父子关系时候需要考虑到第二参数。对于初学者往往会遇到UI加载出来,设置物体后发现UI不见了,但是明明直接拖到UI层次中又
比如清除ARACP这个物体所有子物体。for (int i = 0; i < ARACP.transform.childCount; i++) { Destroy (ARACP.transform.GetChild (i).gameObject); } using System.Collections;using System.Col...
i++
原创 2021-08-17 17:43:16
2986阅读
协同程序(协同或者协程)线程、进程一个应用程序就是一个进程,笼统说就是一个.exe程序一个进程中至少一个线程叫主线程。一个或多个线程组合成了进程。协程在unity中为了在主线程中模拟多线程而出现辅助工具。协程不是多线程,还是单线程,是在操作系统中空间中模拟多线程。启动协程:StartCoroutine(返回IEnumerator类型返回值方法名);//开启协程,注意:返回IEnumerat
本节主要介绍如何在unity中实现玩家按E拾取物品操作,两种方式各有利弊,请按照对应环境来使用 可拾取物品构建我们先创建一个cube,作为可拾取物品,并将其名称更改为Item; 修改该物体tag为Item,为后续代码识别做准备为物体再添加一个球形碰撞箱,并设置该球形碰撞箱半径为4; 球形碰撞箱勾选 is trigger ,因为要检测玩家进入碰撞箱注意,此时应该存在两碰撞箱,一个是让物体
我觉得Unity里面的Transform 和 GameObject就像两双胞胎兄弟样,这俩哥们很要好,我能直接找到你,你也能直接找到我。我看很多人喜欢在类里面去保存GameObject对象。解决GameObject.Find()无法获取天生activie = false问题。private GameObject root ;我觉得你最好不要保存GameObject ,而是去保存Transfo
转载 6月前
23阅读
Unity简单物体运动物体运动包括位置坐标的改变和旋转。下面是几种运动常见手段实例。首先我们先new一个project,创建一个GameObject Cube然后开始编写脚本1. 平移1.1 Transform.positionpublic class 移动 : MonoBehaviour { // Use this for initialization void Star
using UnityEngine;using System.Collections;public class GiveParent : MonoBehaviour { public GameObject prefab; // Use this for initialization void Start () { GameObject container = GameObjec
原创 2021-12-08 17:31:27
2480阅读
最近看到有Unity项目有这样功能:按住鼠标左键拖动鼠标,屏幕会出现像Windows系统按住鼠标右键拖动鼠标样,会框选多个物体,然后我自己做了类似的Demo,看看效果: 鼠标框选多个物体功能录屏  主要逻辑是,鼠标按下时候记录鼠标屏幕坐标Point0(X0,Y0),当按住鼠标拖动时,每帧记录鼠标屏幕左边Point1(X1,Y1),然后根据这两点绘制矩形,看下面:然后
、成员变量position:在世界空间坐标transform位置。localPosition:相对于父级变换位置。如果该变换没有父级,那么等同于Transform.position。eulerAngles:世界坐标系中旋转(欧拉角)。localEulerAngles:相对于父级变换旋转角度。right:世界坐标系中右方向。(世界空间坐标变换红色轴。也就是x轴。)up:世界坐标系中
 using System.Collections;using System.Collections.Generic;using UnityEngine;public class Roation : MonoBehaviour { //要找子物体那个物体 private GameObject game; public Transform parent, tracker...
原创 2021-08-18 01:40:30
1962阅读
简介这篇博客主要介绍了怎么简单使用Unity3d来搭建一个简单太阳系,以及做一个学习记录,分享下学习Unity3d心得。 使用工具:Unity3d 5.5实现1.材料管理先是界面的选择吧,这里我选是“2 by 3”界面,我觉得这个界面的好处就是,能尽可能把所有的工作窗口显示出来吧。(其实是被同学安利= =),至于怎么调,下图已说明: 由于行星大多数都是属于球体,所以我们要新建
Unity中移动脚本在Unity3d中,有多种方式可以改变物体坐标,实现移动目的,其本质是每帧修改物体position,下面就给大家介绍下物体移动几种方法。1、 通过Transform组件移动物体通过Transform组件移动物体transform 组件用于描述物体在空间中状态,它包括 位置(position), 旋转(rotation)和 缩放(scale)。 其实所有的移动都会导致p
1 研究目的与意义Unity3D作为款跨平台游戏开发引擎,有着友好操作界面和强大性能,利用Unity3D模拟计算机硬件组装过程,认识该软件,学习它操作方法,熟悉基本控件,十分有效。同时对计算机硬件组装模拟,能更好地认识计算机硬件,掌握组装电脑些基本技能不仅能培养动手能力,同时也能巩固自己理论知识,之后加以运用。通过本次项目的研究,可以培养研究能力、创新能力、加强对所学知识运用
比如迫击炮发射子弹是抛物线运行,并且在垂直方向上子弹做自由落体运动,如果垂直方向上不做自由落体(仅仅是一个匀速抛物线),有很多简便方法可以实现,比如设置一个起始点,一个最高点,一个目标点,让物体按照这三点移动就可以,稍微复杂点用dotween,itween设置路径点,按照路径点移动. 下面开始逻辑: 迫击炮抛物线击中目标单位,需要参数是:1.目标单位; 2
写在前面的话,前两天有朋友在QQ上问我 如何获取主角面朝方向定区域中敌人对象。这个命题看似简单,其实里面蕴含了很多数学方面的东西。今天刚好有时间我就彻底把这个疑问写在博客中。希望可以帮助到他。在上代码之前请大家跟我先做几个简单练习题,角度向量计算定要学会,不然后面的东西会很难懂。1.已知3D坐标,和一个旋转角度,以及段距离,求目标点3D坐标。已知当前点为Target,目标点沿着T
  • 1
  • 2
  • 3
  • 4
  • 5