![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
脚本
ysera_wang
这个作者很懒,什么都没留下…
展开
-
把string分成Vector3的x,y,z
string v = “0,2,3”;//用分隔符将string分割成数组string[] vs = v.Split(’,’);Vector3 v3 = new Vector3();//然后强制类型转换v3.x = int.Parse(vs[0]);v3.y = int.Parse(vs[1]);v3.z = int.Parse(vs[2]);...原创 2019-05-07 17:10:38 · 526 阅读 · 0 评论 -
动态加载本地图片
public class WWWTest : MonoBehaviour{ RawImage oldimg ; public Text _text; // Use this for initialization void Start() { oldimg = GetComponent<RawImage>(); ...转载 2019-04-27 14:38:21 · 381 阅读 · 0 评论 -
项目内相机截图
using UnityEngine;using System.IO;using UnityEngine.UI;public class Test : MonoBehaviour{ public Text _text; // Use this for initialization void Start() { } // Update is ...原创 2019-04-27 14:10:57 · 130 阅读 · 0 评论 -
相机不是你想要的主相机的时候
这个时候是因为depth高的相机把depth低的相机覆盖了,这个时候只要你把clear flag选成dont clear就可以了,因为这样时候其他相机渲染的内容你不清除,就可以看到depth低的相机的内容了。当只有一个摄像机的时候,depth这个值没有意义,clear flag中的depth only的意思是,当我们选择这个选项的时候我们意思是,我们depth高的相机的未渲染内容取决于深度,也...转载 2019-04-27 11:36:58 · 120 阅读 · 0 评论 -
unity相机渲染顺序
图形的渲染顺序就是先绘制depth低的相机下的物体,再绘制depth高的相机下的物体,也就是说,depth高的相机会覆盖depth低的相机(具体的覆盖关系有don’t clear, solid color等等几种)也就是说0层会覆盖-1层随便找一个可以设置sorting layer的地方,选择sorting layer,点添加按钮,就可以看到当前所有的sorting layer,并且可以更改s...转载 2019-04-27 11:24:49 · 2646 阅读 · 0 评论 -
小地图项目
首先Clear Flags 这个选项有每个相机在渲染时会存储颜色和深度信息。屏幕的未绘制部分是空的,默认情况下会显示天空盒。当你使用相机时,每一个都将自己的颜色和深度信息存储在缓冲区中,还将积累大量的每个相机的渲染数据。当场景中的任何特定相机进行渲染时,你可以设定清除标记以清除缓冲区信息的不同集合。可以通过下面四个四个选项之一来完成,这里的清除很多时候是为了处理,在当前Camera范围外的区域...转载 2019-04-27 10:58:22 · 412 阅读 · 0 评论 -
朝向look at和lookRotation
lookat(gameObject.transform.position||new Vector3(1,1,1))lookat的意思是使我们挂脚本的物体的z轴朝向那个点或者物体的位置为了看朝向我们可以写一个Debug.DrawLine(transform.position,other.position,Color.cyan);更直观的看出来LookRotation是使我们的物体朝向我们希望的...原创 2019-04-17 13:51:07 · 885 阅读 · 0 评论 -
实现反向跟随
public Transform greenBall;public Transform Target;void Update(){transform.position = new Vector3 (Target.position.x + (Point.position.x - Target.position.x)*2, Point.position.y, Target.position....原创 2019-04-22 10:29:40 · 1174 阅读 · 0 评论 -
Find的种种
1.如何找父物体下的子物体 GameObject a = GameObject.Find("A"); GameObject b = obj.transform.Find("B").gameObject; //GameObject.Find无法查找隐藏对象 (隐藏对象包括查找路径的任何一个父节点隐藏(active=false)) GameObject root = GameObj...原创 2019-04-17 09:26:19 · 98 阅读 · 0 评论 -
各种不同的旋转方式
transform.localEulerAngles = new Vector3(x, y,z); 其中,new Vector(x,y,z)为游戏物体最终旋转到的目标角度,最终的旋转角度是为了和transform.Rotate对比,如果我们在Update里面写transform.localEulerAngles = new Vector3(0f, 10f, 0f); 这个的意思是我们就转一次...原创 2019-04-17 09:14:09 · 521 阅读 · 0 评论 -
使生成的物体成为一个物体的子物体
private Transform _scoreDataParent;void Awake(){_scoreDataParent = GameObject.Find("/Canvas/ScoreRankList").transform;}void InstantiateGo(){for (int i = 0; i < _scoreDataList.Count; i++){...转载 2019-04-27 16:59:59 · 588 阅读 · 0 评论 -
计分排行榜
using System;using System.Collections.Generic;using System.IO;using UnityEngine;using UnityEngine.UI;namespace Assets.Scripts{ public class RankScore : MonoBehaviour { //如果我们想要清...转载 2019-04-29 13:11:18 · 130 阅读 · 0 评论 -
把数据写入本地
void JudgementOrCreate() { if (File.Exists(Application.persistentDataPath + "/RankingList.txt")) Debug.Log("已有文件"); else File.Open(Appli...转载 2019-04-29 13:24:57 · 257 阅读 · 0 评论 -
kinect清除用户列表
原创 2019-05-07 17:04:59 · 210 阅读 · 0 评论 -
枚举的使用
其实概念我都懂但是就是不知道咋用枚举我懂得用过一次就是在我想在inspector面板上的时候我如果想有下拉框,就需要[SerializeField]private DotweenType _dotweenType = DotweenType.MovementOneWay;private enum DotweenType{ MovementOneWay, Movement...原创 2019-05-09 13:34:32 · 94 阅读 · 0 评论 -
按钮增加点击事件
void Start() { //找到按钮,并且获取按钮的Button组件 Button btn = GetComponent<Button>(); //注册按钮的点击事件 btn.onClick.AddListener(delegate () { Ball(); }); ...转载 2019-05-06 17:26:11 · 932 阅读 · 0 评论 -
float.ToString()输出小数但不四舍五入
下面代码的输出竟然是2.0:float a=1.95f;Debug.Log(a.ToString(“0.0”));如果想截取一位小数,可以:float a=1.95f;float t_a=Mathf.Floor(a*10)*0.1f;Debug.Log(t_a.ToString(“0.0”));...转载 2019-05-06 15:57:40 · 2694 阅读 · 0 评论 -
倒计时
using UnityEngine;using UnityEngine.UI;using System.Collections;public class timer: MonoBehaviour{ public float timer = 3;//倒计时几秒 public GameObject t;//画布下的文本框 // Use this for initiali...转载 2019-05-06 15:49:47 · 201 阅读 · 0 评论 -
物体跟随鼠标位置
我一开始做的时候就是不跟随我也不知道哪里不对,后来发现原来是应该把相机的projection调为正交模式,在正交模式下物体没有远近之分,比较适合做2D游戏我们当然可以直接让物体的位置等于鼠标的位置但在这里有两点需要注意,第一点就是他们两个的坐标系不一样,鼠标的坐标是屏幕坐标,以左下角为原点,而世界坐标,以世界的中心为原点,因此我们将鼠标的位置转换为世界坐标的位置Input.mouseP...转载 2019-05-06 15:32:24 · 740 阅读 · 0 评论 -
最长距离限制
矢量和标量的限制private void DistanceRestrict() { if(Vector3.Distance(transform.position,lightPos.position)>maxDis)//maxDis是标量 { Vector3 pos = (transform.position - lightPo...转载 2019-05-06 14:35:06 · 192 阅读 · 0 评论 -
按钮点击的接口
using UnityEngine;using UnityEngine.EventSystems;using System.Collections;/// 脚本位置:UGUI按钮组件身上 /// 脚本功能:实现按钮长按状态的判断 /// 创建时间:2015年11月17日 /// // 继承:按下,抬起和离开的三个接口 public class OnButtonA :...原创 2019-05-08 17:13:16 · 1570 阅读 · 0 评论 -
数据存档
首先写一个脚本 GameData在内写数据的模板 ,因为数据不止一条 因此要写一个list来存这些模板 [Serialization] //这是自己定义的模板 public class GameData{ public string PeopleName; public List<Vector3> pos; } ...原创 2019-05-08 16:55:47 · 432 阅读 · 0 评论 -
随机寻路
public class RandomNav:MonoBehaviour{ private NavMeshAgent agent; public Transform point; private float RandomTime; void Start() { agent=GetComponent<NavMeshAgent>(); point.po...转载 2019-04-29 15:00:46 · 217 阅读 · 0 评论 -
static用在什么情况下
其实我也不知道我这叫什么?全局变量和局部变量我觉得可能应该重新看一下c#那本书今天我遇到什么情况呢?我一个脚本挂在了四个物体上,在开始写了一个变量public bool finish 然后我在脚本里面修改,修改的条件是四只天鹅中的一只到达一个目标点,我的想法是如果其中一只天鹅到达了目标点,就让其他天鹅停止 ,因此我在条件内将finish=true;但是我后来发现只有一只到达的天鹅上勾选了,其他的...原创 2019-04-13 15:49:23 · 384 阅读 · 0 评论 -
小鱼来回游动
我一开始写小鱼来回游动但是我触发条件不会写。。。后来是使用坐标来写的,就是写了一个transform.position.x<8||transform.position.x>12,就是取得两边不符合条件的就让他transform.Rotate(new Vector3(0, 180, 0), Space.World);但是这样有个缺点有时候会鬼畜,因此两个条件分开写,并且让他等于我们预...原创 2019-04-16 14:37:39 · 677 阅读 · 0 评论 -
kinect手丢失
这个问题其实很有意思,当时东哥让我看这个手丢失的问题时,我有点蒙???啥?手有时候丢不是kinect自己硬件的问题么???我们能怎么办???后来我才明白是啥意思在kinectManager脚本里面,我一开始其实是发现不是所有的方法都用到了,但是我读他这个逻辑我又读不懂,后来还是别人跟我说我们可以测试,在我们需要的地方打Debug,如果出现我们预期的Debug那么就是对了,如果没有出现预期的,那...原创 2019-04-08 17:03:04 · 215 阅读 · 0 评论 -
设置物体移动范围
我记得以前看过space shooter教程中看过设置飞船的移动距离的例子,我在我的项目里需要设置风筝飞的范围正好可以用上。[System.Serializable]public class Boundary{public float xMin,xMax,zMin,zMax;}public class PlayerController:MonoBehaviour{public Bou...原创 2019-03-14 17:57:01 · 547 阅读 · 0 评论 -
前进的时候写的Vector3.transform和transform.forward区别
Vector3中有6个变量分别对应着Scene视图右上角的坐标Vector3.forward Z轴(Z轴代表前后)Vector3.backVector3.up Y轴(Y轴代表着上下)Vector3.downVector3.right X轴(X轴代表着左右)Vector3.lefttransform中只有3个变量...转载 2019-03-07 13:56:11 · 916 阅读 · 0 评论 -
脚本的开启和禁用
我一开始为什么需要用到脚本的禁用?因为一开始我小动物的行为是由插件DoTween来控制的,但是因为我不知道怎么在插件控制的运动中改变动画状态,因此,我只能让插件来让小动物转一圈,然后再使用transform.position += transform.forward * Time.deltaTime * walkSpeed;来控制运动,但是这个时候我们不能在插件运行的时候让我控制运动的脚本开启,...原创 2019-03-04 18:24:56 · 740 阅读 · 0 评论 -
DoTween插件的使用心得
我在我的小羊路线中用到了DoTween这个插件,但是我只会一点他的inspector面板上的参数,对于在脚本中用到这个我还是不会。但是现在我在脚本中已经学会了怎么暂停DoTween中的动画我现在学会功能是暂停DoTweenPath的路径using UnityEngine;private DoTweenPath dp;public GameObject pos;void Start()...原创 2019-03-04 18:10:00 · 354 阅读 · 0 评论 -
Debug.log的输出
我今天想输出一下旋转的时间,但是我平时都是Debug.log(rotateTime)这样输出,但是这次因为我还有其他的时间输出,因此我就想输出“旋转时间为”:rotateTime这样,但是我使用了Console.writeLine的方法输出,但是不对,我就去网上搜了一下,原来可以用+号链接Debug.Log(“旋转时间为:”+rotateTime);...原创 2019-03-04 17:21:53 · 3346 阅读 · 0 评论 -
旋转
transform.RotateAround(Mark.transform.position, Vector3.up, walkSpeed * Time.deltaTime);我本来想写一个脚本让一只牛绕着一棵树转,可是这样转超搞笑的,因为牛是横着转的我的想法是让他这么转...原创 2019-03-07 09:43:01 · 125 阅读 · 0 评论 -
动画状态机切换状态
我一开始犯了两个错误我在一个parameter切换两种状态的时候右边的条件我是这么写的和这样写会造成一个问题就是在我没有输入条件触发 anim.SetFloat(“eat”,a);的时候他就会触发第二个状态,我是怎么发现的呢?是因为我一开始触发状态的脚本没有开启,我是在另一个脚本里写了延迟,5秒之后触发另一个脚本,但是我在动画状态机的时候看见他一开始就触发这个条件了,我认为他应该是一...原创 2019-03-04 10:14:23 · 1226 阅读 · 0 评论 -
修改shader中的颜色
material.SetColor("_TintColor", new Color(0.133333333f, 0.04313725f, 0, Mathf.Min(0.5f, fadeTime += Time.deltaTime / 10)));原创 2019-03-06 18:00:06 · 1739 阅读 · 0 评论 -
缓慢旋转
public void TurnAround(){transform.rotation = Quaternion.Slerp(transform.rotation, SheepPos.transform.rotation, Time.deltaTime * rotateSpeed);}写在Update里,在完全旋转完成之前不能有条件...原创 2019-03-04 10:58:11 · 206 阅读 · 0 评论 -
动画状态为walk时行走
public void WalkStatus(){AnimatorStateInfo stateInfo = animator.GetCurrentAnimatorStateInfo(0);if (stateInfo.IsName(“walk”)){transform.position += transform.forward * Time.deltaTime * walkSpeed;...原创 2019-03-04 10:58:31 · 258 阅读 · 0 评论 -
pico手柄功能
手柄震动:public void Vibate(){for (int i = 0; i < 3; i++){Pvr_ControllerManager.controllerlink.VibateController(0, 2);}}手柄按键停止:void Quit(){if (Pvr_UnitySDKAPI.Controller.UPvr_GetKeyDown(0, P...原创 2019-03-14 18:00:24 · 5454 阅读 · 4 评论 -
小鸟时不时的叫
void Start(){InvokeRepeating(“PlaySound”,30f,50f);}void PlaySound(){if(!audioSource.isPlaying)audioSource.Play();}原创 2019-03-14 18:02:18 · 94 阅读 · 0 评论 -
bool类型
bool类型的变量如果在变量声明的时候不定义他是true还是false那么他默认是false原创 2019-03-07 15:21:56 · 657 阅读 · 0 评论 -
场景来回切换的时候dontdestroy的物体
本来是个很简单的事情,是怎么回事呢???是因为我们在00场景里有两个物体需要dontdestroy过渡到01和02两个场景,但是00 01 02三个场景来回切换就造成了dontdestroy的物体不能及时释放的问题,这样dontdestroy物体就会累积。解决这件事情的方法是:我们新建一个场景叫000然后把我们需要dontdestroy的物体放在里面,里面什么也不放然后在其中一个物体的脚本上写...原创 2019-04-08 16:21:21 · 274 阅读 · 0 评论