Jump to content

A way to add tracks?


Recommended Posts

1 minute ago, niston said:

Yes, using one texture for everything has high efficiency.

However, when making this panel, with its little icons and markings, I found that I had to create an "overlay" mesh and then assign a higher res texture to that (these vanilla console panels use 1K texture IIRC), or the printings were rendered unreadable in game. Also I had to create the overlay's texture without mipmaps - Having mipmaps made the finer details of the printings vanish when not very close to it, which was rather irritating.

I don't use mip maps. On the one hand, mip maps are needed; without them, the image is greatly inferior and even annoying. On the other hand... If I want to build a huge settlement, then all these mip textures will turn off my image and all the textures of objects outside the uGridToLoad will float.

Link to comment
Share on other sites

1 hour ago, niston said:

Proper now:

  Hide contents

mDAW34e.png

Next issue: Balance control cannot be highlighted or activated - I suspect there is something wrong with it's collision.

Your backlight is also not working. addOnNode doesn't work, maybe you didn't create it, but glowMap should be activated by the indicator by default. As far as I remember, there are sequences from Workshop.hkx there. I don't know what's wrong with the balance. Once you understand what the problem is, describe it. Let's redo it. It is not hard.

Link to comment
Share on other sites

I have not bothered with playing animation sequences from script yet. And you're right, I did not make addon light yet either in CK.
 

About Balance:

I made every control an Activator in CK. The indicator, I've made Movable Static.
When pointing the in-game crosshair at Selector or Volume or Power Button, activation prompt appears as is expected.

However, when pointing crosshair at Balance, no activation prompt comes up despite it being setup properly in CK. This usually happens when collision is missing or defective for whatever reason. I can see that there is bhkNPCollisionObject in the NIF, so collision seem not to be missing. There must be some other reason for it not to function correctly in game.

I will try stealing physics data from volume knob and using it for balance.
 

Link to comment
Share on other sites

Yes. Fixed it by exporting Binary Data from bhkPhysicsSystem in Volume Control NIF and importing it to bhkPhysicsSystem in Balance Control NIF. This means, there is 100% something wrong with the collision setup of the Balance Control NIF. Unfortunately, I have no idea what it might be.

Link to comment
Share on other sites

Posted (edited)
7 hours ago, niston said:

Yes. Fixed it by exporting Binary Data from bhkPhysicsSystem in Volume Control NIF and importing it to bhkPhysicsSystem in Balance Control NIF. This means, there is 100% something wrong with the collision setup of the Balance Control NIF. Unfortunately, I have no idea what it might be.

Perhaps the creation of the volume switch drove me crazy and I forgot to press the "apply" button in the balance collision? 😁 

https://disk.yandex.ru/d/zZmOIg2zy26ivQ

Today I'll do uv of the tuner. There's just not enough time. I'm renovating a new apartment. Here, I’m gluing tiles in the kitchen and at the same time making a tuner. I've run out of glue, so I'll have to go get some glue. 🙃

Edited by South8028
  • Haha 1
Link to comment
Share on other sites

I have implemented rotary control script and tested it with volume control. It works.

Spoiler

uk9IInX.png

Do not worry about pink texture and misspelling, I'll fix it later 🙂

However, a change to animations will be needed. I tried to convey this earlier, but did not succeed in my communication attempts 😄 Apologies for being unclear. Also maybe some nuance gets lost in translation.

Thus, let me explain in detail:

Right now, the rotary motion of the controls is animated. For example: When playing Pos3 animation, the knob will rotate from Pos2 angle to Pos3 angle. This looks fine as long as we are increasing volume and turn clock wise, such as going from Pos2 to Pos3.

Problems:

* When we decrease volume by turning counter clock wise instead, volume knob rotates in odd looking jumps. For example, knob is on Pos19 and player decreases volume by 1 and Pos18 animation state is played by script. What happens: Knob will now jump to angle of Pos17 and then rotate to angle of Pos18. Decrease volume by 1 again, knob jumps to angle of Pos16 and then rotates to Pos17, etc and so on. It looks very odd.

* To prevent save bloat, script architecture is such that controls are spawned only when the IC150 is 3d loaded. When 3d unloads, controls are destroyed. IC150 remembers individual control settings between unload and load. So, when script tries to set initial knob position after loading, for example Pos5 - What will happens is, Knob will jump to Pos4 and then rotate to Pos5. Less of an actual issue as this usually happens before player sees the IC150, but it's still odd in principle.

Solution:

To avoid odd, jerky-looking movement AND to keep things simple, do not have rotation movement in Pos animations for the rotary controls. Instead, have the animation already start at the desired angle. Example: When Pos18 is played, knob should simply start out at angle of Pos18, with no additional rotational movement. When Pos17 is played, knob should start out at Pos17 angle , with no additional rotational movement. Etc.

Unfortunately this affects all the rotary controls.

Link to comment
Share on other sites

On detail of how rotary control script implementation works:

* Script has configurable "table" with animation names, durations and associated control values, sorted by position index:

Spoiler

8wf6WPW.png

* RotaryControl script offers Increase() and Decrease() methods.
* Decrease() is currently activated via normal activation prompt (DOWN), current position index is increased, animation is updated.
* Increase() is activated via "add activation" type perk (UP), current position index is decreased, animation is updated.
* If current position index is at 0 (lowest position), Decrease() prompt is hidden.
* If current position index equals number of entries (highest position), Increase() prompt is hidden.
* Script has events to request configuration from IC150 (on 3d load) and to notify IC150 of setting change (player changes volume).
* For animation update, animation name associated with current position index is retrieved from table and played back. Script waits for animation duration, for animation to finish.
* IC150 can get control's PositionValue associated with current index (in table) from script property.
* IC150 can get/set control's current position index via script property.

Script doesn't support sound effect yet, I will have to add that next.

 

Link to comment
Share on other sites

Posted (edited)
14 minutes ago, niston said:

On detail of how rotary script implementation works:

* There is configurable "table" with animation names, durations and associated control values. It is sorted by position index:

  Hide contents

8wf6WPW.png

* Control script offers Increase() and Decrease() methods.
* Decrease() is currently activated via normal activation prompt (DOWN), current index is increased, animation is updated.
* Increase() is activated via "add activation" type perk (UP), current index is decreased, animation is updated.
* Script has events to request configuration from IC150 (on 3d load) and to notify IC150 of setting change (player changes volume).

Ummm... This problem that you described does not apply to our case. We have a sequence of 1 frame. This means there is no animation in our case. There are two positions in 1 frame and in the next frame. Moving from one frame to another does not have any graph, because there are no frames into which decimal digits can be embedded. We need to look for a solution. It’s not difficult for me to redo the animation, but I need to find a solution that allows me to correctly turn the handle in the opposite direction. In my opinion, such a solution can only be adding 20 more sequences with the handle moving in the opposite direction.Our knob simply does not have animation to decrease the volume. We didn't even think about it.The second way is to completely remove the animation. Make 20 static handle states that will change by calling sequences. No rotation from frame 1 to frame two. To the observer, it will be like something out of a 1920s cartoon. Where there is a sharp change in handle positions. We need to do more sequences in this case. ~30 or more.

Edited by South8028
Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...