- 博客(24)
- 收藏
- 关注
原创 Zbrush的基本使用
ZBrush是一款数字雕刻和绘画软件,在影视,游戏,动漫等领域有着广泛应用以下为你介绍其基本使用方法:界面的基础操作:以上只是 ZBrush 的基础使用方法,该软件功能强大且复杂,你还需通过不断练习和学习来掌握更多高级技巧。
2025-04-22 10:35:02
199
原创 android java 计时器Timer
Timer的执行是基于TimerTask的,而TimerTask在执行时会占用一个线程,如果我们同时执行大量的任务,可能会导致线程池被用尽,从而影响系统的性能和稳定性。Timer再执行任务时是在新线程中进行的,因此多个定时器任务可能会并发的执行,这可能会导致线程安全问题,为了避免这种情况的发生,我们可以使用HandlerThread或者单独的线程来执行定时器任务。Timer是Android中的一个非常有用的计时器类,他可以用于定期执行任务,在使用Timer时,需要注意线程安全问题,异常处理和性能问题。
2025-03-07 17:32:30
349
原创 android java 如何让Progressbar 变粗
android:progressDrawable="@drawable/progressbarview"//此处是之后再drawable中创建的一个文件。再drawable文件夹中。
2025-03-07 17:24:34
435
原创 android java Tablayout不用viewpager达到效果
【代码】android java Tablayout不用viewpager达到效果。
2025-03-07 17:22:48
102
原创 android java 动画
delay:表示子元素开始动画的时间延迟,比如子元素入场动画的实现周期为300ms,那么0.5表示每个子元素都需要延迟150ms才能播放入场动画,总体来说,第一个子元素延迟150马上开始播放入场动画,第2个子元素延迟300马上开始播放入场动画以此类推。cancel():动画停止,同时停止view动画,还可以使用it.clearAnimation,区别在于,cancel是停止指定动画,clearAnimation()是停止于作用当前view的动画,他们都会回调onAnimationEnd方法。
2025-03-07 17:21:18
953
原创 android java 视频播放
videoview.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.视频));
2025-03-07 17:20:20
131
原创 java spinner 下拉列表
【 常 用 属 性 】 1. android:entries="@array/menu_type" // 绑定XML文件找那个的数据源 2. android:spinnerMode="dropdown" // 显示模式 "dropdown" 直接下拉模式 "dialog" 对话框效果模式 4. android:dropDownWidth="250dp" // 下拉框宽度。使用其中的getItemAtPosition 获取选中的值。获取选中项的值,通过调用选择列表项。资源文件@array/
2025-03-07 17:16:36
197
原创 虚幻引擎5发射物组件
首先获取玩家摄像机管理器,获取摄像机的位置作为按通道进行线条追踪的开始位置,随后获取摄像机旋转来确定他射出去的方向(玩家看向哪里就射哪里)随后获取向前向量乘以200000这是他射出去的距离然后与获取摄像机位置相加得出按通道进行线条追踪的end结尾,Trace Channel设为子弹命中。在按通道进行线条追踪之后右击空白地方输入从类生成Actor与他相连在其中的Class中选中我们之前创建的子弹他的名字就会变成生成Actor子弹,分别将获取插槽变换和寻找查看旋转连到生成Actor子弹的对应的位置即可。
2025-02-25 20:03:44
445
原创 虚幻引擎5摄像头跟随头部摆动和手电筒功能并防止摄像头与头部穿模(第一人称)
首先创建一个角色蓝图添加一个摄像头并且添加一个模拟手电筒的聚光灯将聚光灯组件作为摄像机的子类。
2025-01-15 14:06:59
381
原创 虚幻引擎5AI
比如,AI 可以通过多次与玩家的对战,学习玩家的战斗风格和策略,从而调整自己的攻击和防御方式。现在进入到我们创建的行为树(NPC_AI)中, 行为树是一种用于创建复杂 AI 行为的系统,以树状结构组织节点,用来控制非玩家角色(NPC)的决策过程,在右侧细节中BehaviorTree中选择我们刚刚创建的黑板资产(NPC_B),一般都是自动绑定的.比如在游戏中,玩家角色的移动、发出的声音或者使用技能等行为,都可以产生刺激信号,被游戏中的 AI 感知到,从而触发 AI 的相应行为,如追逐玩家、进行攻击等。
2025-01-14 17:28:50
1771
原创 虚幻引擎5声音
然后在相对玩家在世界的位置再减去胶囊体半高刚刚好位置在胶囊体底部右边再按通道进行线条追踪,把刚刚获取的胶囊体最底部连过去设置追踪的开始位置,然后胶囊体最底部获取的值在z轴减去大约10在练到end按通道进行线条追踪就是离胶囊体最底部再往下10个单位这样就是检测胶囊体最底部到再下面10个单位距离的区域。然后创建声波播放器把那个值传过去然后输出这样我们就可以设置在同一材质上移动会产生不同的音效不同材质要对应不同的音效。当我们模拟走路的声音的时候我们需要发出不同的音效,这样可以看起来真实一些,
2024-12-16 19:33:22
471
原创 虚幻引擎5动画蓝图1
以上这4个白点分别对应了人物动作站立,行走,慢跑,疾跑,如果想要找人物的动作的话可以去Mixamo这个网站上面去下载,随后我们回到动画蓝图双击状态机进入然后在右下角的资产浏览器里面找到刚刚的混合空间。按住鼠标ctrl键移动鼠标在里面可以看到在不同的位置角色的一个行走状态。然后获取他的速度把刚刚自定义的速度拖进来为设置再把获取到的速度传进去。在内容侧滑菜单空白部分找到动画点击动画中的混合空间创建混合空间。右击内容侧滑菜单的空白部分找到动画点击动画中的动画蓝图。在右下角资产浏览器我们把相应的动作拖进来。
2024-12-01 16:03:26
1151
原创 Flutter中的Edittext
首先我们需要定义textEditingController。然后就可以在build方法中调用。想获取里面的值得话可以。
2024-11-25 20:57:58
346
原创 android flutter和kotlin混合开发关于sharedPreferences和toast
下面我们需要再写flutter的代码文件家中再创建一个叫sp.dart的flutter文件。注意用的时候上面方法必须要加async 否则await前缀用不了那样会可能会获取到空的值。//前面是存储的名字后面是要存储的值。val a=await getString("a")//获取a。首先在这个位置创建一个MainActivity。比如这个setString方法可以。
2024-11-25 14:45:37
244
原创 虚幻引擎5如何让人物移动
首先拌合输入轴值的意思光看这个名字就非常难以理解打个比方如果在没有拌合输入轴值的情况下我们的输入都是在一条横线上加入拌合输入轴值之后这个输入就变成在竖线的输入上了就相当于x轴与y轴所以相对应的S也要拌合输入轴值,我们这个修改器中还有一个值为否定显而易见就是输入相反的值,假如没有加否定,那么这个值就是就是向右边进行,加上就是向左进行.上面连is Vaild验证是否存在,后面添加映射上下文里面就是上面搞好的输入映射情境,后面可以设置角色的初始移动。还要加上一个看输入操作操作一样只是要输入鼠标XY 2D轴。
2024-11-19 22:24:58
1514
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人